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.7";
25
26 src = fetchFromGitHub {
27 owner = "etal";
28 repo = "cnvkit";
29 rev = "v${version}";
30 sha256 = "022zplgqil5l76vri647cyjx427vnbg5r2gw6lw712d2janvdjm7";
31 };
32
33 patches = [
34 # Fix: AttributeError: module 'pandas.io.common' has no attribute 'EmptyDataError'
35 (fetchpatch {
36 url = "https://github.com/etal/cnvkit/commit/392adfffedfa0415e635b72c5027835b0a8d7ab5.patch";
37 sha256 = "0s0gwyy0hybmhc3jij2v9l44b6lkcmclii8bkwsazzj2kc24m2rh";
38 })
39 ];
40
41 propagatedBuildInputs = [
42 biopython
43 numpy
44 scipy
45 scikit-learn
46 pandas
47 matplotlib
48 reportlab
49 pyfaidx
50 pysam
51 future
52 pillow
53 pomegranate
54 rPackages.DNAcopy
55 ];
56
57 checkInputs = [ R ];
58
59 checkPhase = ''
60 pushd test/
61 ${python.interpreter} test_io.py
62 ${python.interpreter} test_genome.py
63 ${python.interpreter} test_cnvlib.py
64 ${python.interpreter} test_commands.py
65 ${python.interpreter} test_r.py
66 '';
67
68 meta = with lib; {
69 homepage = "https://cnvkit.readthedocs.io";
70 description = "A Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data";
71 license = licenses.asl20;
72 maintainers = [ maintainers.jbedo ];
73 };
74}