1{ lib
2, fetchFromGitHub
3, fetchpatch
4, rPackages
5, buildPythonPackage
6, biopython
7, numpy
8, scipy
9, scikit-learn
10, pandas
11, matplotlib
12, reportlab
13, pysam
14, future
15, pillow
16, pomegranate
17, pyfaidx
18, python
19, R
20}:
21
22buildPythonPackage rec {
23 pname = "CNVkit";
24 version = "0.9.9";
25
26 src = fetchFromGitHub {
27 owner = "etal";
28 repo = "cnvkit";
29 rev = "v${version}";
30 sha256 = "1q4l7jhr1k135an3n9aa9wsid5lk6fwxb0hcldrr6v6y76zi4gj1";
31 };
32
33 postPatch = ''
34 # see https://github.com/etal/cnvkit/issues/589
35 substituteInPlace setup.py \
36 --replace 'joblib < 1.0' 'joblib'
37 # see https://github.com/etal/cnvkit/issues/680
38 substituteInPlace test/test_io.py \
39 --replace 'test_read_vcf' 'dont_test_read_vcf'
40 '';
41
42 propagatedBuildInputs = [
43 biopython
44 numpy
45 scipy
46 scikit-learn
47 pandas
48 matplotlib
49 reportlab
50 pyfaidx
51 pysam
52 future
53 pillow
54 pomegranate
55 rPackages.DNAcopy
56 ];
57
58 checkInputs = [ R ];
59
60 checkPhase = ''
61 pushd test/
62 ${python.interpreter} test_io.py
63 ${python.interpreter} test_genome.py
64 ${python.interpreter} test_cnvlib.py
65 ${python.interpreter} test_commands.py
66 ${python.interpreter} test_r.py
67 popd # test/
68 '';
69
70 pythonImportsCheck = [
71 "cnvlib"
72 ];
73
74 meta = with lib; {
75 homepage = "https://cnvkit.readthedocs.io";
76 description = "A Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data";
77 license = licenses.asl20;
78 maintainers = [ maintainers.jbedo ];
79 };
80}