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