1{
2 appdirs,
3 buildPythonPackage,
4 fetchFromGitHub,
5 keras,
6 lib,
7 mhcgnomes,
8 nose,
9 pandas,
10 pytestCheckHook,
11 pyyaml,
12 scikit-learn,
13 tensorflow,
14 tqdm,
15}:
16
17buildPythonPackage rec {
18 pname = "mhcflurry";
19 version = "2.1.0";
20 format = "setuptools";
21
22 src = fetchFromGitHub {
23 owner = "openvax";
24 repo = pname;
25 rev = "refs/tags/v${version}";
26 hash = "sha256-VyPHcNlZYgNJZb2UBFX55x+nE0GnHixkcsiTNjDCju0=";
27 };
28
29 # keras and tensorflow are not in the official setup.py requirements but are required for the CLI utilities to run.
30 propagatedBuildInputs = [
31 appdirs
32 keras
33 mhcgnomes
34 pandas
35 pyyaml
36 scikit-learn
37 tensorflow
38 tqdm
39 ];
40
41 nativeCheckInputs = [
42 nose
43 pytestCheckHook
44 ];
45
46 disabledTests = [
47 # RuntimeError: Missing MHCflurry downloadable file: /homeless-shelter/.local...
48 "test_a1_mage_epitope_downloaded_models"
49 "test_a1_titin_epitope_downloaded_models"
50 "test_a2_hiv_epitope_downloaded_models"
51 "test_basic"
52 "test_caching"
53 "test_class1_neural_network_a0205_training_accuracy"
54 "test_commandline_sequences"
55 "test_correlation"
56 "test_csv"
57 "test_downloaded_predictor_gives_percentile_ranks"
58 "test_downloaded_predictor_invalid_peptides"
59 "test_downloaded_predictor_is_savable"
60 "test_downloaded_predictor_is_serializable"
61 "test_downloaded_predictor_small"
62 "test_downloaded_predictor"
63 "test_fasta_50nm"
64 "test_fasta_best"
65 "test_fasta"
66 "test_merge"
67 "test_no_csv"
68 "test_on_hpv"
69 "test_run_cluster_parallelism"
70 "test_run_parallel"
71 "test_run_serial"
72 "test_speed_allele_specific"
73 "test_speed_pan_allele"
74 ];
75
76 disabledTestPaths = [
77 # RuntimeError: Missing MHCflurry downloadable file: /homeless-shelter/.local...
78 "test/test_changing_allele_representations.py"
79 "test/test_class1_affinity_predictor.py"
80 "test/test_class1_pan.py"
81 ];
82
83 pythonImportsCheck = [ "mhcflurry" ];
84
85 meta = with lib; {
86 description = "Peptide-MHC I binding affinity prediction";
87 homepage = "https://github.com/openvax/mhcflurry";
88 license = licenses.asl20;
89 maintainers = with maintainers; [ samuela ];
90 };
91}