1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, biopython
5, docopt
6, flametree
7, numpy
8, proglog
9, pytestCheckHook
10, pythonOlder
11, python-codon-tables
12, primer3
13, genome-collector
14, matplotlib
15}:
16
17buildPythonPackage rec {
18 pname = "dnachisel";
19 version = "3.2.11";
20 format = "setuptools";
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "Edinburgh-Genome-Foundry";
26 repo = "DnaChisel";
27 rev = "refs/tags/v${version}";
28 hash = "sha256-rcZq/HhU1xIyQ1jM8+gO9ONDLBAxiUIByoWk2nMwuGA=";
29 };
30
31 propagatedBuildInputs = [
32 biopython
33 docopt
34 flametree
35 numpy
36 proglog
37 python-codon-tables
38 ];
39
40 nativeCheckInputs = [
41 primer3
42 genome-collector
43 matplotlib
44 pytestCheckHook
45 ];
46
47 # Disable tests which requires network access
48 disabledTests = [
49 "test_circular_sequence_optimize_with_report"
50 "test_constraints_reports"
51 "test_optimize_with_report"
52 "test_optimize_with_report_no_solution"
53 "test_avoid_blast_matches_with_list"
54 "test_avoid_phage_blast_matches"
55 "test_avoid_matches_with_list"
56 "test_avoid_matches_with_phage"
57 ];
58
59 pythonImportsCheck = [
60 "dnachisel"
61 ];
62
63 meta = with lib; {
64 homepage = "https://github.com/Edinburgh-Genome-Foundry/DnaChisel";
65 description = "Optimize DNA sequences under constraints";
66 changelog = "https://github.com/Edinburgh-Genome-Foundry/DnaChisel/releases/tag/v${version}";
67 license = licenses.mit;
68 maintainers = with maintainers; [ prusnak ];
69 };
70}