diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2022-12-09 22:58:23 +0100 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2022-12-13 00:07:23 +0100 |
commit | b66b6bdf70351881e4e35419bf4b35aeaf4029ff (patch) | |
tree | 7a18d2fb2fdd095c7544ef3ea08e60dba93d7f5c | |
parent | c3e330cf36dcfe308bcd6d88e60934a5d349b509 (diff) | |
download | guix-b66b6bdf70351881e4e35419bf4b35aeaf4029ff.tar guix-b66b6bdf70351881e4e35419bf4b35aeaf4029ff.tar.gz |
gnu: python-hicexplorer: Update to 3.7.2.
* gnu/packages/bioinformatics.scm (python-hicexplorer): Update to 3.7.2.
[build-system]: Use pyproject-build-system.
[arguments]: Use gexp; remove phase "loosen-up-requirements"; add test-flags
to skip some tests; add phase "remove-dependency-on-krbalancing" to remove a
dependency on an unlicensed package; add phase "fix-references"; add phase
"run-only-low-mem-tests".
[propagated-inputs]: Remove python-configparser and python-six; add
python-biopython, python-cleanlab-1, python-fit-nbinom, python-graphviz,
python-hic2cool, python-hicmatrix, python-hyperopt, python-imbalanced-learn,
python-ipykernel, python-psutil, python-pybedtools, python-pygenometracks,
python-scikit-learn, and python-tqdm.
[native-inputs]: Add graphviz.
-rw-r--r-- | gnu/packages/bioinformatics.scm | 106 |
1 files changed, 94 insertions, 12 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index e6a8789ea6..ea33311a2c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13413,7 +13413,7 @@ the HiCExplorer and pyGenomeTracks packages.") (define-public python-hicexplorer (package (name "python-hicexplorer") - (version "2.1.4") + (version "3.7.2") (source (origin ;; The latest version is not available on Pypi. @@ -13424,32 +13424,114 @@ the HiCExplorer and pyGenomeTracks packages.") (file-name (git-file-name name version)) (sha256 (base32 - "0q5gpbzmrkvygqgw524q36b4nrivcmyi5v194vsx0qw7b3gcmq08")))) - (build-system python-build-system) + "1yavgxry38g326z10bclvdf8glmma05fxj5m73h15m1r2l9xmw3v")))) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'loosen-up-requirements - (lambda _ - (substitute* "setup.py" - (("==") ">=")) - #t))))) + (list + #:test-flags + '(list "hicexplorer/test/general/" + "--ignore" "hicexplorer/test/general/test_hicTADClassifier.py" + "--ignore" "hicexplorer/test/general/test_hicTrainTADClassifier.py" + "-k" + (string-append + ;; Unknown chromosome: ChrX + "not test_build_matrix_restrictionCutFile_two" + ;; fixture 'keepSelfLigation' not found + " and not test_build_matrix_restrictionCutFile_six" + ;; ValueError: object dtype is not supported by sparse matrices + " and not test_hic_transfer_obs_exp_perChromosome" + + ;; No KR balancing available + " and not test_correct_matrix_KR_partial_cool" + " and not test_correct_matrix_KR_cool" + " and not test_correct_matrix_KR_H5")) + #:phases + #~(modify-phases %standard-phases + ;; See https://github.com/deeptools/Knight-Ruiz-Matrix-balancing-algorithm/issues/23 + (add-after 'unpack 'remove-dependency-on-krbalancing + (lambda _ + (substitute* "hicexplorer/hicCorrectMatrix.py" + (("from krbalancing import.*") "") + (("( *)assert\\(args.correctionMethod == 'KR'\\)" m indent) + (string-append m "\n" + indent "log.error('krbalancing not available')\n" + indent "exit(1)"))) + (substitute* "setup.py" + (("\"krbalancing >= 0.0.5\",") "")) + (substitute* "requirements.txt" + (("krbalancing >= 0.0.5") "")))) + (add-after 'unpack 'fix-references + (lambda _ + (let ((site (string-append #$output "/lib/python" + #$(version-major+minor + (package-version python)) + "/site-packages"))) + (substitute* "hicexplorer/lib/tadClassifier.py" + (("model_location = site.getsitepackages\\(\\)\\[0\\]") + (string-append "model_location = \"" site "\"")))) + (substitute* "hicexplorer/hicFindRestSite.py" + (("subprocess.check_output\\(\\[\"cat\"") + (string-append "subprocess.check_output([\"" + (which "cat") "\"")) + (("cmd = 'sort -k1") + (string-append "cmd = '" (which "sort") " -k1"))))) + ;; The tests aim to detect available memory and run more tests when + ;; there is more available memory. Let's run them deterministically + ;; instead and don't run any tests that require more than 1GB of + ;; RAM. + (add-after 'unpack 'run-only-low-mem-tests + (lambda _ + (with-directory-excursion "hicexplorer/test" + (substitute* '("trivial_runs/test_hicBuildMatrix_trivial_runs_2.py" + "trivial_runs/test_hicAggregateContacts_trivial_runs_five.py" + "trivial_runs/test_hicAggregateContacts_trivial_runs_four.py" + "trivial_runs/test_hicAggregateContacts_trivial_runs.py" + "trivial_runs/test_hicAggregateContacts_trivial_runs_two_1.py" + "trivial_runs/test_hicBuildMatrix_trivial_runs.py" + "trivial_runs/test_hicAggregateContacts_trivial_runs_two_3.py" + "trivial_runs/test_hicAggregateContacts_trivial_runs_three.py" + "trivial_runs/test_hicAggregateContacts_trivial_runs_two.py" + "trivial_runs/test_hicAggregateContacts_trivial_runs_two_2.py" + "trivial_runs/test_hicAggregateContacts_trivial_runs_six.py" + "general/test_hicDifferentialTAD.py" + "general/test_hicDetectLoops.py" + "general/test_hicPlotMatrix.py" + "general/test_hicHyperoptDetectLoops.py" + "general/test_hicCreateThresholdFile.py" + "general/test_hicMergeDomains.py" + "general/test_hicHyperoptDetectLoopsHiCCUPS.py" + "general/test_hicAggregateContacts.py" + "general/test_hicInterIntraTAD.py") + (("^memory =.*") "memory = 1\n")))))))) (propagated-inputs (list python-biopython - python-configparser + python-cleanlab-1 python-cooler + python-fit-nbinom python-future + python-graphviz + python-hic2cool + python-hicmatrix + python-hyperopt + python-imbalanced-learn python-intervaltree + python-ipykernel python-jinja2 python-matplotlib python-numpy python-pandas + python-psutil + python-pybedtools python-pybigwig + python-pygenometracks python-pysam + python-scikit-learn python-scipy - python-six python-tables + python-tqdm python-unidecode)) + (native-inputs + (list graphviz)) ;for hicexplorer/test/test_compute_function.py (home-page "https://hicexplorer.readthedocs.io") (synopsis "Process, analyze and visualize Hi-C data") (description |