diff options
Diffstat (limited to 'gnu/packages/bioinformatics.scm')
-rw-r--r-- | gnu/packages/bioinformatics.scm | 963 |
1 files changed, 611 insertions, 352 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 6c6ff3e25a..c41cdfbd86 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -57,6 +57,7 @@ #:use-module (guix build-system meson) #:use-module (guix build-system ocaml) #:use-module (guix build-system perl) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix build-system qt) #:use-module (guix build-system r) @@ -171,52 +172,54 @@ (define-public aragorn (package (name "aragorn") - (version "1.2.38") + (version "1.2.41") (source (origin (method url-fetch) - (uri (string-append - "http://mbio-serv2.mbioekol.lu.se/ARAGORN/Downloads/aragorn" - version ".tgz")) + (uri (string-append "https://www.ansikte.se/ARAGORN/Downloads/" + "aragorn" version ".c")) (sha256 (base32 - "09i1rg716smlbnixfm7q1ml2mfpaa2fpn3hwjg625ysmfwwy712b")))) + "0jkzx7sqiarydvz3bwaxh790fpvpkfc926dhsza1dbdhq32ir8wj")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; there are no tests - #:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'build - (lambda _ - (invoke "gcc" - "-O3" - "-ffast-math" - "-finline-functions" - "-o" - "aragorn" - (string-append "aragorn" ,version ".c")) - #t)) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (man (string-append out "/share/man/man1"))) - (install-file "aragorn" bin) - (install-file "aragorn.1" man)) - #t))))) - (home-page "http://mbio-serv2.mbioekol.lu.se/ARAGORN") + (list + #:tests? #f ; there are no tests + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (invoke "gcc" "-O3" "-ffast-math" "-finline-functions" + "-o" "aragorn" #$source))) + (replace 'install + (lambda* (#:key inputs #:allow-other-keys) + (let ((bin (string-append #$output "/bin")) + (man (string-append #$output "/share/man/man1"))) + (install-file "aragorn" bin) + (mkdir-p man) + (copy-file (assoc-ref inputs "aragorn.1") + (string-append man "/aragorn.1")))))))) + (native-inputs + `(("aragorn.1" + ,(origin + (method url-fetch) + (uri "https://www.ansikte.se/ARAGORN/Downloads/aragorn.1") + (sha256 + (base32 + "0bn9lapa6f0cl07dbn2fjrapirv9d4bk7w248w39fhb4vbczcc3f")))))) + (home-page "https://www.ansikte.se/ARAGORN/") (synopsis "Detect tRNA, mtRNA and tmRNA genes in nucleotide sequences") (description "Aragorn identifies transfer RNA, mitochondrial RNA and transfer-messenger RNA from nucleotide sequences, based on homology to known tRNA consensus sequences and RNA structure. It also outputs the secondary structure of the predicted RNA.") - (license license:gpl2))) + (license license:gpl3+))) (define-public bamtools (package (name "bamtools") - (version "2.5.1") + (version "2.5.2") (source (origin (method git-fetch) (uri (git-reference @@ -225,21 +228,10 @@ structure of the predicted RNA.") (file-name (git-file-name name version)) (sha256 (base32 - "0nfb2ypcx9959xnbz6wxh6py3xfizgmg8nrknxl95c507m9hmq8b")))) + "14lw571vbks138i0lj66qjdbk8iwa817x2zbpzij61vv1gdgfbn5")))) (build-system cmake-build-system) - (arguments - `(#:tests? #f ;no "check" target - #:phases - (modify-phases %standard-phases - (add-before - 'configure 'set-ldflags - (lambda* (#:key outputs #:allow-other-keys) - (setenv "LDFLAGS" - (string-append - "-Wl,-rpath=" - (assoc-ref outputs "out") "/lib/bamtools")) - #t))))) - (inputs (list zlib)) + (inputs (list jsoncpp zlib)) + (native-inputs (list pkg-config)) (home-page "https://github.com/pezmaster31/bamtools") (synopsis "C++ API and command-line toolkit for working with BAM data") (description @@ -250,7 +242,7 @@ BAM files.") (define-public bamutils (package (name "bamutils") - (version "1.0.14") + (version "1.0.15") (source (origin (method git-fetch) (uri (git-reference @@ -259,21 +251,22 @@ BAM files.") (file-name (git-file-name name version)) (sha256 (base32 - "0i2r332k1kz0jysyg89d858wqq59n16lw6dv5qmilcwshb77r9v7")))) + "1pxydf9qsr8667jh525bc2wiqn9nwk8rkg05kbyfmjs8d261fl9y")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; Unclear how to run tests - #:make-flags - ,#~(list "USER_WARNINGS=-std=gnu++98" ; - (string-append "INSTALLDIR=" #$output "/bin")) - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/Makefile" ; - (("^DATE=.*") "DATE=\"1970-01-01\"\n")) - (copy-recursively (assoc-ref inputs "libstatgen") - "../libStatGen")))))) + (list + #:tests? #f ;fails to link debug libraries + #:test-target "test" + #:make-flags + #~(list (string-append "INSTALLDIR=" #$output "/bin")) + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/Makefile" + (("^DATE=.*") "DATE=\"1970-01-01\"\n")) + (copy-recursively (assoc-ref inputs "libstatgen") + "../libStatGen")))))) (inputs (list zlib)) (native-inputs @@ -286,7 +279,7 @@ BAM files.") (file-name (git-file-name "libstatgen" version)) (sha256 (base32 - "0q9iyk046r4m7qnav8c3f28zsar25lj9nydiklwaswmzdijhi4p1")))))) + "0spvbpvnpxrgj8kajpkhf1mv7kdyvj723y9zh13jykvnjh8a15j3")))))) (home-page "https://genome.sph.umich.edu/wiki/BamUtil") (synopsis "Programs for working on SAM/BAM files") (description "This package provides several programs that perform @@ -371,7 +364,7 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.") (define-public bedops (package (name "bedops") - (version "2.4.35") + (version "2.4.41") (source (origin (method git-fetch) (uri (git-reference @@ -380,39 +373,49 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.") (file-name (git-file-name name version)) (sha256 (base32 - "0mmgsgwz5r9w76hzgxkxc9s9lkdhhaf7vr6i02b09vbswvs1fyqx")))) + "046037qdxsn01ln28rbrwnc7wq4a3xahmb2k74l0w75dby5ni42l")))) (build-system gnu-build-system) (arguments - '(#:tests? #f - #:make-flags (list (string-append "BINDIR=" %output "/bin")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-tarballs - (lambda _ - ;; FIXME: Bedops includes tarballs of minimally patched upstream - ;; libraries jansson, zlib, and bzip2. We cannot just use stock - ;; libraries because at least one of the libraries (zlib) is - ;; patched to add a C++ function definition (deflateInit2cpp). - ;; Until the Bedops developers offer a way to link against system - ;; libraries we have to build the in-tree copies of these three - ;; libraries. + (list + ;; We cannot run the tests because the build system makes strange + ;; assumptions about where executables are located. + #:tests? #false + #:test-target "tests" + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'unpack-tarballs + (lambda _ + ;; FIXME: Bedops includes tarballs of minimally patched upstream + ;; libraries jansson, zlib, and bzip2. We cannot just use stock + ;; libraries because at least one of the libraries (zlib) is + ;; patched to add a C++ function definition (deflateInit2cpp). + ;; Until the Bedops developers offer a way to link against system + ;; libraries we have to build the in-tree copies of these three + ;; libraries. - ;; See upstream discussion: - ;; https://github.com/bedops/bedops/issues/124 + ;; See upstream discussion: + ;; https://github.com/bedops/bedops/issues/124 - ;; Unpack the tarballs to benefit from shebang patching. - (with-directory-excursion "third-party" - (invoke "tar" "xvf" "jansson-2.6.tar.bz2") - (invoke "tar" "xvf" "zlib-1.2.7.tar.bz2") - (invoke "tar" "xvf" "bzip2-1.0.6.tar.bz2")) - ;; Disable unpacking of tarballs in Makefile. - (substitute* "system.mk/Makefile.linux" - (("^\tbzcat .*") "\t@echo \"not unpacking\"\n") - (("\\./configure") "CONFIG_SHELL=bash ./configure")) - (substitute* "third-party/zlib-1.2.7/Makefile.in" - (("^SHELL=.*$") "SHELL=bash\n")) - #t)) - (delete 'configure)))) + ;; Unpack the tarballs to benefit from shebang patching. + (with-directory-excursion "third-party" + (invoke "tar" "xvf" "jansson-2.6.tar.bz2") + (invoke "tar" "xvf" "zlib-1.2.7.tar.bz2") + (invoke "tar" "xvf" "bzip2-1.0.6.tar.bz2")) + ;; Disable unpacking of tarballs in Makefile. + (substitute* "system.mk/Makefile.linux" + (("^\tbzcat .*") "\t@echo \"not unpacking\"\n") + (("\\./configure") "CONFIG_SHELL=bash ./configure")) + (substitute* "third-party/zlib-1.2.7/Makefile.in" + (("^SHELL=.*$") "SHELL=bash\n")))) + (delete 'configure) + (replace 'install + (lambda _ + (invoke "make" "install" + (string-append "BINDIR=" #$output "/bin"))))))) + (native-inputs + (list diffutils perl which)) (home-page "https://github.com/bedops/bedops") (synopsis "Tools for high-performance genomic feature operations") (description @@ -442,14 +445,15 @@ computational cluster.") "1f2hh79l7dn147c2xyfgf5wfjvlqfw32kjfnnh2n1qy6rpzx2fik")))) (build-system gnu-build-system) (arguments - `(#:test-target "test" - #:make-flags - ,#~(list (string-append "prefix=" #$output)) - #:phases - (modify-phases %standard-phases + (list + #:test-target "test" + #:make-flags + #~(list (string-append "prefix=" #$output)) + #:phases + '(modify-phases %standard-phases (delete 'configure)))) (native-inputs - `(("python" ,python-wrapper))) + (list python-wrapper)) (inputs (list samtools zlib)) (home-page "https://github.com/arq5x/bedtools2") @@ -478,63 +482,61 @@ BED, GFF/GTF, VCF.") (base32 "11rvca19ncg03kxd0wzlfx5ws7r3nisd0z8s9j9n182d8ksp2pxz")))) (arguments - '(#:test-target "test" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'compatibility - (lambda _ - (substitute* "src/utils/fileType/FileRecordTypeChecker.h" - (("static const float PERCENTAGE") - "static constexpr float PERCENTAGE")) - (substitute* "src/utils/general/DualQueue.h" - (("template <class T, template<class T> class CompareFunc>") - "template <class T, template<class U> class CompareFunc>")))) - (delete 'configure) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) - (for-each (lambda (file) - (install-file file bin)) - (find-files "bin" ".*")))))))) + (list + #:test-target "test" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'compatibility + (lambda _ + (substitute* "src/utils/fileType/FileRecordTypeChecker.h" + (("static const float PERCENTAGE") + "static constexpr float PERCENTAGE")) + (substitute* "src/utils/general/DualQueue.h" + (("template <class T, template<class T> class CompareFunc>") + "template <class T, template<class U> class CompareFunc>")))) + (delete 'configure) + (replace 'install + (lambda _ + (let ((bin (string-append #$output "/bin/"))) + (for-each (lambda (file) + (install-file file bin)) + (find-files "bin" ".*")))))))) (native-inputs - `(("python" ,python-wrapper))) + (list python-wrapper)) (inputs (list samtools zlib)))) (define-public pbcopper - ;; This is the latest commit at the time of this writing. - (let ((commit "ad4143afd25a0bd6adc977c544865c992a515841") - (revision "1")) - (package - (name "pbcopper") - (version (git-version "1.9.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/PacificBiosciences/pbcopper") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1qxkbpdkamfisnk36lpi1vdvf3p1lg2hdqna3xgd94pz52bwbmp7")))) - (build-system meson-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-meson-files - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "meson.build" - (("-msse4.1") ""))))))) - (inputs - (list boost)) - (native-inputs - (list googletest pkg-config)) - (home-page "https://github.com/PacificBiosciences/pbcopper") - (synopsis "Data structures, algorithms, and utilities for PacBio C++ applications") - (description - "The pbcopper library provides a suite of data structures, algorithms, + (package + (name "pbcopper") + (version "2.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/PacificBiosciences/pbcopper") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04mgmla96bsmr9gijbn3ibspry625cv4kqqxv70z4jq4qc407jy3")))) + (build-system meson-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-meson-files + (lambda _ + (substitute* "meson.build" + (("-msse4.1") ""))))))) + (inputs + (list boost)) + (native-inputs + (list googletest pkg-config)) + (home-page "https://github.com/PacificBiosciences/pbcopper") + (synopsis "Data structures, algorithms, and utilities for PacBio C++ applications") + (description + "The pbcopper library provides a suite of data structures, algorithms, and utilities for PacBio C++ applications.") - (license license:bsd-3)))) + (license license:bsd-3))) (define-public r-btools (let ((commit "fa21d4ca01d37ea4d98b45582453f3bf95cbc2b5") @@ -575,7 +577,7 @@ for all types of microbial diversity analyses.") (define-public pbbam (package (name "pbbam") - (version "1.7.0") + (version "2.1.0") (source (origin (method git-fetch) (uri (git-reference @@ -584,7 +586,7 @@ for all types of microbial diversity analyses.") (file-name (git-file-name name version)) (sha256 (base32 - "1avdm5hwhr5ls79017blyalx1npzbf1aa6dgb6j6lg8sq4nk9yyg")))) + "1iyazi3l7dswpfxh39k5j7ydi0ywja0579xz3r6l9kkwz2n1z6dc")))) (build-system meson-build-system) (arguments `(#:phases @@ -609,9 +611,9 @@ for all types of microbial diversity analyses.") (inputs (list boost samtools)) (native-inputs - `(("googletest" ,googletest) - ("pkg-config" ,pkg-config) - ("python" ,python-wrapper))) ; for tests + (list googletest + pkg-config + python-wrapper)) ;for tests (home-page "https://github.com/PacificBiosciences/pbbam") (synopsis "Work with PacBio BAM files") (description @@ -682,8 +684,7 @@ speedup comes during compression.") m (format #f "cpp.find_library('hdf5', dirs : '~a'), \ cpp.find_library('hdf5_cpp', dirs : '~a'), " - hdf5 hdf5))))) - #t)) + hdf5 hdf5))))))) (add-after 'unpack 'find-googletest (lambda* (#:key inputs #:allow-other-keys) ;; It doesn't find gtest_main because there's no pkg-config file @@ -692,8 +693,7 @@ cpp.find_library('hdf5_cpp', dirs : '~a'), " (("libblasr_gtest_dep = dependency\\('gtest_main'.*") (format #f "cpp = meson.get_compiler('cpp') libblasr_gtest_dep = cpp.find_library('gtest_main', dirs : '~a')\n" - (assoc-ref inputs "googletest")))) - #t))) + (assoc-ref inputs "googletest"))))))) ;; TODO: unittest/libblasr_unittest cannot be linked ;; ld: ;; unittest/df08227@@libblasr_unittest@exe/alignment_utils_FileUtils_gtest.cpp.o: ;; undefined reference to symbol @@ -813,26 +813,23 @@ provides the Ribotaper pipeline.") (base32 "1pxc3zdnirxbf9a0az698hd8xdik7qkhypm7v6hn922x8y9qmspm")))) (build-system gnu-build-system) - (inputs - (list zlib)) - (native-inputs - (list bison)) + (inputs (list zlib)) + (native-inputs (list bison)) (arguments - `(#:tests? #f ; There are no tests to run. - ;; Bison must generate files, before other targets can build. - #:parallel-build? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) ; There is no configure phase. - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (man (string-append out "/share/man/man1"))) - (mkdir-p man) - (copy-file "awk.1" (string-append man "/bioawk.1")) - (install-file "bioawk" bin)) - #t))))) + (list + #:tests? #f ; There are no tests to run. + ;; Bison must generate files, before other targets can build. + #:parallel-build? #f + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ; There is no configure phase. + (replace 'install + (lambda _ + (let ((bin (string-append #$output "/bin")) + (man (string-append #$output "/share/man/man1"))) + (mkdir-p man) + (copy-file "awk.1" (string-append man "/bioawk.1")) + (install-file "bioawk" bin))))))) (home-page "https://github.com/lh3/bioawk") (synopsis "AWK with bioinformatics extensions") (description "Bioawk is an extension to Brian Kernighan's awk, adding the @@ -846,7 +843,7 @@ intended to behave exactly the same as the original BWK awk.") (define-public python-cellbender (package (name "python-cellbender") - (version "0.2.1") + (version "0.2.2") (source (origin (method git-fetch) @@ -856,8 +853,8 @@ intended to behave exactly the same as the original BWK awk.") (file-name (git-file-name name version)) (sha256 (base32 - "1zav2q8nnss80i25y06fccagkvrqsy7lpylsl4dxv4qkj8p4fnv3")))) - (build-system python-build-system) + "12q22va7rbc3sx9ygc6p6hh6xw9wbqjmhba5h5gb836p5xplj5fa")))) + (build-system pyproject-build-system) (arguments (list #:tests? #false)) ;there are none (propagated-inputs @@ -884,14 +881,14 @@ from high-throughput single-cell RNA sequencing (scRNA-seq) data.") (define-public python-htsget (package (name "python-htsget") - (version "0.2.5") + (version "0.2.6") (source (origin (method url-fetch) (uri (pypi-uri "htsget" version)) (sha256 (base32 - "0ic07q85vhw9djf23k57b21my7i5xp400m8gfqgr5gcryqvdr0yk")))) - (build-system python-build-system) + "111q4pzkav26aa3hkgh948wqlyrq7dq6sjml9z63n3blw8s6b0c4")))) + (build-system pyproject-build-system) (native-inputs (list python-setuptools-scm)) (propagated-inputs @@ -913,11 +910,12 @@ servers supporting the protocol.") (sha256 (base32 "18rhzk08d3rpxhi5xh6pqg64x6v5q3daw6y3v54k85v4swncjrwj")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments `(#:modules ((srfi srfi-26) (guix build utils) - (guix build python-build-system)) + (guix build python-build-system) + (guix build pyproject-build-system)) ;; See https://github.com/daler/pybedtools/issues/192 #:phases (modify-phases %standard-phases @@ -977,7 +975,7 @@ which are widely used for genomic interval manipulation or \"genome algebra\". pybedtools extends BEDTools by offering feature-level manipulations from with Python.") ;; pypi lists GPLv2 in the PKG-INFO and website, but was relicensed in - ;; version 0.9.0 and the LICENSE.txt is consistant with the source code. + ;; version 0.9.0 and the LICENSE.txt is consistent with the source code. ;; ;; pybedtools/include/gzstream.cpp and pybedtools/include/gzstream.h are ;; licensed lgpl2.1+ @@ -1031,7 +1029,7 @@ use-case, we encourage users to compose functions to achieve their goals.") (define-public python-biom-format (package (name "python-biom-format") - (version "2.1.10") + (version "2.1.12") (source (origin (method git-fetch) @@ -1043,25 +1041,22 @@ use-case, we encourage users to compose functions to achieve their goals.") (file-name (git-file-name name version)) (sha256 (base32 - "0i62j6ksmp78ap2dnl969gq6vprc3q87zc8ksj9if8g2603iq6i8")) + "06x2d8fv80jp86kd66fm3ragmxrpa2j0lzsbm337ziqjnpsdwc0f")) (modules '((guix build utils))) ;; Delete generated C files. (snippet '(for-each delete-file (find-files "." "\\.c"))))) (build-system python-build-system) (arguments - `(#:phases - (modify-phases %standard-phases + (list + #:phases + '(modify-phases %standard-phases (add-after 'unpack 'use-cython (lambda _ (setenv "USE_CYTHON" "1"))) - (add-after 'unpack 'relax - (lambda _ - (substitute* "setup.py" - (("pytest < 5.3.4") "pytest")))) (add-after 'unpack 'disable-broken-tests (lambda _ - (substitute* "biom/tests/test_cli/test_validate_table.py" - (("^(.+)def test_invalid_hdf5" m indent) + (substitute* "biom/tests/test_util.py" + (("^(.+)def test_biom_open_hdf5_no_h5py" m indent) (string-append indent "@npt.dec.skipif(True, msg='Guix')\n" m))) @@ -1072,13 +1067,14 @@ use-case, we encourage users to compose functions to achieve their goals.") m)))))))) (propagated-inputs (list python-anndata - python-numpy - python-scipy + python-click python-flake8 python-future - python-click python-h5py - python-pandas)) + python-numpy + python-pandas + python-scikit-bio + python-scipy)) (native-inputs (list python-cython python-pytest python-pytest-cov python-nose)) (home-page "http://www.biom-format.org") @@ -1093,42 +1089,45 @@ e.g. microbiome samples, genomes, metagenomes.") (define-public python-pairtools (package (name "python-pairtools") - (version "0.3.0") + (version "1.0.2") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/mirnylab/pairtools") + (url "https://github.com/open2c/pairtools") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0gr8y13q7sd6yai6df4aavl2470n1f9s3cib6r473z4hr8hcbwmc")))) + "0xn4cg4jq3rfn42h8rfwg0k6xkvihjrv32gwldb9y0jp05lzw9cs")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-references (lambda _ - (substitute* '("pairtools/pairtools_merge.py" - "pairtools/pairtools_sort.py") - (("/bin/bash") (which "bash"))) - #t)) + (substitute* '("pairtools/cli/header.py" + "pairtools/cli/merge.py" + "pairtools/cli/sort.py") + (("/bin/bash") (which "bash"))))) (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (with-directory-excursion "/tmp" - (invoke "pytest" "-v"))))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (with-directory-excursion "/tmp" + (invoke "pytest" "-v")))))))) (native-inputs - (list python-cython python-nose python-pytest)) - (inputs - `(("python" ,python-wrapper))) + (list python-cython python-pytest)) (propagated-inputs (list htslib ; for bgzip, looked up in PATH samtools ; looked up in PATH lz4 ; for lz4c + python-bioframe python-click - python-numpy)) - (home-page "https://github.com/mirnylab/pairtools") + python-numpy + python-pandas + python-pysam + python-pyyaml + python-scipy)) + (home-page "https://github.com/open2c/pairtools") (synopsis "Process mapped Hi-C data") (description "Pairtools is a simple and fast command-line framework to process sequencing data from a Hi-C experiment. Process pair-end sequence @@ -1173,8 +1172,7 @@ alignments and perform the following operations: (package-inputs this-package))))))) `(#:phases (modify-phases %standard-phases - (add-after - 'install 'wrap-programs + (add-after 'install 'wrap-programs (lambda* (#:key outputs #:allow-other-keys) ;; Make sure all executables in "bin" find the required Perl ;; modules at runtime. As the PERL5LIB variable contains also @@ -1191,8 +1189,7 @@ alignments and perform the following operations: (for-each (lambda (file) (wrap-program file `("PERL5LIB" ":" prefix (,path)))) - (find-files bin "\\.pl$")) - #t))))))) + (find-files bin "\\.pl$"))))))))) (inputs (list perl-module-build perl-data-stag perl-libwww perl-uri)) (native-inputs @@ -1236,21 +1233,21 @@ sequencing.") (define-public python-biopython (package (name "python-biopython") - (version "1.76") + (version "1.80") (source (origin (method url-fetch) ;; use PyPi rather than biopython.org to ease updating (uri (pypi-uri "biopython" version)) (sha256 (base32 - "0wlch9xpa0fpgjzyxi6jsfca6iakaq9a05927xg8vqnmvaccnwrq")))) - (build-system python-build-system) + "0hqf3jsxn2sphcx81fx7x3i69sarpjsi70fzw98f8rw7z2d5x02j")))) + (build-system pyproject-build-system) (arguments - `(#:phases + '(#:phases (modify-phases %standard-phases (add-before 'check 'set-home ;; Some tests require a home directory to be set. - (lambda _ (setenv "HOME" "/tmp") #t))))) + (lambda _ (setenv "HOME" "/tmp")))))) (propagated-inputs (list python-numpy)) (home-page "https://biopython.org/") @@ -2076,8 +2073,7 @@ genome (2.9 GB for paired-end).") '(begin ;; Remove bundled SeqAn and samtools (delete-file-recursively "src/SeqAn-1.4.2") - (delete-file-recursively "src/samtools-0.1.18") - #t)))) + (delete-file-recursively "src/samtools-0.1.18"))))) (build-system gnu-build-system) (arguments '(#:parallel-build? #f ; not supported @@ -2092,8 +2088,7 @@ genome (2.9 GB for paired-end).") (string-join (delete (string-append gcc "/include/c++") (string-split (getenv "CPLUS_INCLUDE_PATH") #\:)) - ":")) - #t))) + ":"))))) (add-after 'unpack 'use-system-samtools (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/Makefile.in" @@ -2113,8 +2108,7 @@ genome (2.9 GB for paired-end).") "src/map2gtf.h" "src/align_status.h") (("#include <bam.h>") "#include <samtools/bam.h>") - (("#include <sam.h>") "#include <samtools/sam.h>")) - #t))))) + (("#include <sam.h>") "#include <samtools/sam.h>"))))))) (native-inputs `(("gcc@5" ,gcc-5))) ;; doesn't build with later versions (inputs @@ -2266,23 +2260,34 @@ off-target reads for a capture method that targets CpG-rich region.") (define-public python-bx-python (package (name "python-bx-python") - (version "0.8.12") + (version "0.9.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/bxlab/bx-python") - (commit "f4e6a5c93e719db69b5798b6fdd9b167da358316"))) + (commit "4f4a48d3f227ae390c1b22072867ba86e347bdef"))) (file-name (git-file-name name version)) (sha256 (base32 - "0mclahslz34vq9x424jmzsxk0nmpm1j716fa8h3zwr9ssvch7skc")))) - (build-system python-build-system) + "1c914rw8phiw7zwzngz9i9hdciz5lq53drwdbpl2bd2sf5bj2biy")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-before 'check 'build-extensions + (lambda _ + ;; Cython extensions have to be built before running the tests. + (invoke "python" "setup.py" "build_ext" "--inplace"))) + ;; Unrecognized argument. + (add-after 'unpack 'disable-cython-doctests + (lambda _ (substitute* "pytest.ini" (("--doctest-cython") ""))))))) (propagated-inputs (list python-numpy)) (inputs (list zlib)) (native-inputs - (list python-lzo python-nose python-cython)) + (list python-cython python-lzo python-pytest)) (home-page "https://github.com/bxlab/bx-python") (synopsis "Tools for manipulating biological data") (description @@ -2973,6 +2978,71 @@ generation, and transformation to RDF. Salad provides a bridge between document and record oriented data modeling and the Semantic Web.") (license license:asl2.0))) +(define-public python-scikit-bio + (package + (name "python-scikit-bio") + (version "0.5.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "scikit-bio" version)) + (sha256 + (base32 + "1a8xbp3vrw8wfpm3pa2nb4rcar0643iqnb043ifwqbqyc86clhv3")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + ;; See https://github.com/biocore/scikit-bio/pull/1826 + (add-after 'unpack 'compatibility + (lambda _ + (substitute* "skbio/sequence/tests/test_sequence.py" + (("def test_concat_strict_many") + "def _do_not_test_concat_strict_many")) + (substitute* "skbio/stats/distance/_mantel.py" + (("from scipy.stats import PearsonRConstantInputWarning") + "from scipy.stats import ConstantInputWarning") + (("from scipy.stats import PearsonRNearConstantInputWarning") + "from scipy.stats import NearConstantInputWarning") + (("from scipy.stats import SpearmanRConstantInputWarning") "") + (("warnings.warn\\(PearsonRConstantInputWarning\\(\\)\\)") + "warnings.warn(ConstantInputWarning())") + (("warnings.warn\\(PearsonRNearConstantInputWarning\\(\\)\\)") + "warnings.warn(NearConstantInputWarning())") + (("warnings.warn\\(SpearmanRConstantInputWarning\\(\\)\\)") + "warnings.warn(ConstantInputWarning())")) + (substitute* "skbio/diversity/alpha/tests/test_base.py" + (("self.assertEqual\\(pielou_e") + "self.assertAlmostEqual(pielou_e")))) + (add-before 'check 'build-extensions + (lambda _ + ;; Cython extensions have to be built before running the tests. + (invoke "python3" "setup.py" "build_ext" "--inplace"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? (invoke "python3" "-m" "skbio.test"))))))) + (propagated-inputs + (list python-cachecontrol + python-decorator + python-h5py + python-hdmedians + python-ipython + python-lockfile + python-matplotlib + python-natsort + python-numpy + python-pandas + python-scikit-learn + python-scipy)) + (native-inputs + (list python-coverage python-pytest)) + (home-page "https://scikit-bio.org") + (synopsis "Data structures, algorithms and educational resources for bioinformatics") + (description + "This package provides data structures, algorithms and educational +resources for bioinformatics.") + (license license:bsd-3))) + (define-public cwltool (package (name "cwltool") @@ -6879,19 +6949,19 @@ bioinformatics file formats, sequence alignment, and more.") (define-public seqmagick (package (name "seqmagick") - (version "0.8.0") + (version "0.8.4") (source (origin (method url-fetch) (uri (pypi-uri "seqmagick" version)) (sha256 (base32 - "0pf98da7i59q47gwrbx0wjk6xlvbybiwphw80w7h4ydjj0579a2b")))) - (build-system python-build-system) + "0c6skyig8fyylnbj4597pjj9h0dn36rkxrhwd34yrsc6k6f7r8a0")))) + (build-system pyproject-build-system) (inputs - (list python-biopython)) + (list python-biopython python-pygtrie)) (native-inputs - (list python-nose)) + (list python-pytest)) (home-page "https://github.com/fhcrc/seqmagick") (synopsis "Tools for converting and modifying sequence files") (description @@ -10601,6 +10671,102 @@ traditional read alignments) and massively-parallel stochastic collapsed variational inference.") (license license:gpl3+))) +(define-public python-fanc + (package + (name "python-fanc") + (version "0.9.25") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vaquerizaslab/fanc") + ;; There are no tags. This commit corresponds to + ;; version 0.9.25. + (commit "e2205346c13ea5349681dff21adeb271d4ea5261"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rxq24p852iiayi0083fyigvc30as695rha71q6xd4s2ij1k9mqi")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv" + "-k" + ;; XXX: These all fail because they fail to read + ;; the included test_{cooler,juicer}.hic files. + (string-append "not test_edges_iter" + " and not test_get_edges_uncorrected" + " and not test_get_edges")))))))) + (propagated-inputs + (list python-biopython + python-cooler + python-deprecated + python-future + python-genomic-regions + python-gridmap + python-h5py + python-intervaltree + python-matplotlib + python-msgpack + python-msgpack-numpy + python-numpy + python-pandas + python-pillow + python-progressbar2 + python-pybedtools + python-pybigwig + python-pysam + python-pytest + python-pyyaml + python-scikit-image + python-scikit-learn + python-scipy + python-seaborn + python-tables)) + (native-inputs + (list python-cython)) + (home-page "https://github.com/vaquerizaslab/fanc") + (synopsis "Framework for the analysis of C-data") + (description + "FAN-C provides a pipeline for analysing Hi-C data starting at +mapped paired-end sequencing reads.") + (license license:gpl3+))) + +(define-public python-genomic-regions + (package + (name "python-genomic-regions") + (version "0.0.10") + (source (origin + (method url-fetch) + (uri (pypi-uri "genomic_regions" version)) + (sha256 + (base32 + "0hz811iyd1prml1r90qyzimmwyjwycwkjqw4vnl12bxy61rfzjz5")))) + (build-system pyproject-build-system) + (propagated-inputs + (list python-future + python-intervaltree + python-numpy + python-pandas + python-pybedtools + python-pybigwig + python-pytest + python-msgpack-numpy + python-cython + python-msgpack + python-pysam)) + (home-page "https://pypi.org/project/genomic-regions/") + (synopsis "Consistently handle genomic regions") + (description "This package aims to simplify working with genomic region / +interval data by providing a common interface that lets you access a wide +selection of file types and formats for handling genomic region data---all +using the same syntax.") + (license license:expat))) + (define-public python-loompy (package (name "python-loompy") @@ -10681,25 +10847,12 @@ API services.") (sha256 (base32 "1b4qyngwagh5sc2ygyfqyirg63myzh1g1glk03a1ykxfii32cjlp")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments (list #:tests? #f ;pypi source does not contain tests #:phases #~(modify-phases %standard-phases - (replace 'build - (lambda _ - ;; ZIP does not support timestamps before 1980. - (setenv "SOURCE_DATE_EPOCH" "315532800") - (invoke "python" "-m" "build" "--wheel" "--no-isolation" "."))) - (replace 'install - (lambda _ - (for-each - (lambda (wheel) - (format #t wheel) - (invoke "python" "-m" "pip" "install" - wheel (string-append "--prefix=" #$output))) - (find-files "dist" "\\.whl$")))) (add-before 'sanity-check 'set-env (lambda _ ;; numba RuntimeError: cannot cache function 'rdist' @@ -12649,32 +12802,35 @@ implementation differs in these ways: (sha256 (base32 "0k524xnx3dvpz5yx65p316wghvi01zs17is8w2m3w2qywiswk0sl")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'build - (lambda _ - (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" ,version) - ;; ZIP does not support timestamps before 1980. - (setenv "SOURCE_DATE_EPOCH" "315532800") - (invoke "flit" "build"))) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (let ((out (assoc-ref outputs "out"))) - (for-each (lambda (wheel) - (format #true wheel) - (invoke "python" "-m" "pip" "install" - wheel (string-append "--prefix=" out))) - (find-files "dist" "\\.whl$"))))) - ;; Numba needs a writable dir to cache functions. - (add-before 'check 'set-numba-cache-dir - (lambda _ - (setenv "NUMBA_CACHE_DIR" "/tmp"))) - (replace 'check - (lambda* (#:key tests? inputs #:allow-other-keys) - (when tests? + (list + #:test-flags + '(list "-k" + ;; Plot tests that fail. + (string-append "not test_dotplot_matrixplot_stacked_violin" + " and not test_violin_without_raw" + " and not test_correlation" + " and not test_scatterplots" + " and not test_scatter_embedding_add_outline_vmin_vmax_norm" + " and not test_paga" + " and not test_paga_compare" + " and not test_clustermap" + + ;; These try to connect to the network + " and not test_scrublet_plots" + " and not test_plot_rank_genes_groups_gene_symbols" + " and not test_pca_n_pcs" + " and not test_pca_chunked" + " and not test_pca_sparse" + " and not test_pca_reproducible")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'pretend-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))) + (add-after 'unpack 'delete-bad-tests + (lambda _ ;; These tests require Internet access. (delete-file-recursively "scanpy/tests/notebooks") (delete-file "scanpy/tests/test_clustering.py") @@ -12701,27 +12857,11 @@ implementation differs in these ways: (setenv "PYTHONPATH" (string-append (getcwd) ":" - (assoc-ref inputs "python-anndata:source") ":" - (getenv "GUIX_PYTHONPATH"))) - (invoke "pytest" "-vv" - "-k" - ;; Plot tests that fail. - (string-append "not test_dotplot_matrixplot_stacked_violin" - " and not test_violin_without_raw" - " and not test_correlation" - " and not test_scatterplots" - " and not test_scatter_embedding_add_outline_vmin_vmax_norm" - " and not test_paga" - " and not test_paga_compare" - " and not test_clustermap" - - ;; These try to connect to the network - " and not test_scrublet_plots" - " and not test_plot_rank_genes_groups_gene_symbols" - " and not test_pca_n_pcs" - " and not test_pca_chunked" - " and not test_pca_sparse" - " and not test_pca_reproducible")))))))) + #$(this-package-native-input "python-anndata:source") ":" + (getenv "GUIX_PYTHONPATH"))))) + ;; Numba needs a writable dir to cache functions. + (add-before 'check 'set-numba-cache-dir + (lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp")))))) (propagated-inputs (list python-anndata python-dask @@ -13211,7 +13351,7 @@ includes operations like compartment, insulation or peak calling.") (define-public python-hicmatrix (package (name "python-hicmatrix") - (version "15") + (version "16") (source (origin ;;Pypi sources do not contain any test @@ -13222,11 +13362,12 @@ includes operations like compartment, insulation or peak calling.") (file-name (git-file-name name version)) (sha256 (base32 - "1dshjxgb16sdfg9k1bhw2yhyngac04k4ca7aqy8g3i3pprr068r5")))) - (build-system python-build-system) + "00b9l62j4knrsdp7l3pawi9cqcsl09diycbhmmnar850bzssmq4f")))) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases + (list + #:phases + '(modify-phases %standard-phases (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? @@ -13250,7 +13391,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. @@ -13261,32 +13402,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 @@ -13303,25 +13526,25 @@ genomic scores), long range contacts and the visualization of viewpoints.") (define-public python-pygenometracks (package (name "python-pygenometracks") - (version "3.3") + (version "3.5") (source (origin (method url-fetch) (uri (pypi-uri "pyGenomeTracks" version)) (sha256 (base32 - "16laa0wnf4qn9fb9ych4w1vqhqwjss70v0y0f6wp4gwqfrlgac0f")))) - (build-system python-build-system) + "1l7smg2gc1vm2181lzmdnywb11gp6s6z6j444dbsigv65car8z8p")))) + (build-system pyproject-build-system) (arguments - `(#:tests? #f ; there are none - #:phases - (modify-phases %standard-phases + (list + #:tests? #f ;there are none + #:phases + '(modify-phases %standard-phases (add-after 'unpack 'relax-requirements (lambda _ (substitute* "setup.py" (("matplotlib ==3.1.1") - "matplotlib >=3.1.1")) - #t))))) + "matplotlib >=3.1.1"))))))) (propagated-inputs (list python-future python-gffutils @@ -13980,7 +14203,7 @@ polymorphisms) and indels with respect to a reference genome and more.") (define-public cnvkit (package (name "cnvkit") - (version "0.9.5") + (version "0.9.9") (source (origin (method git-fetch) @@ -13989,17 +14212,28 @@ polymorphisms) and indels with respect to a reference genome and more.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0g2f78k68yglmj4fsfmgs8idqv3di9aj53fg0ld0hqljg8chhh82")))) - (build-system python-build-system) + (base32 "1q4l7jhr1k135an3n9aa9wsid5lk6fwxb0hcldrr6v6y76zi4gj1")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + ;; See upstream commit eee0f6eaec57d5c6e58142d661979f3aacc5f76a + (add-after 'unpack 'compatibility + (lambda _ + (substitute* "setup.py" + (("'joblib.*") ""))))))) (propagated-inputs (list python-biopython python-future python-matplotlib python-numpy - python-reportlab python-pandas - python-pysam + python-pomegranate python-pyfaidx + python-pysam + python-reportlab + python-scikit-learn python-scipy ;; R packages r-dnacopy)) @@ -15836,7 +16070,7 @@ coordinates between different assemblies.") (define-public python-cgatcore (package (name "python-cgatcore") - (version "0.6.7") + (version "0.6.14") ;; The version of pypi does not include test data. (source (origin (method git-fetch) @@ -15846,11 +16080,22 @@ coordinates between different assemblies.") (file-name (git-file-name name version)) (sha256 (base32 - "17vk88v1bx7x02ibzkc9i7ir4b5p1hcjr38jpsfzyzxr68352d5k")))) - (build-system python-build-system) + "0fjjaski39j8b7v21wldmbwwsfhicngajah7n4skafi56kdck33p")))) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases + (list + #:test-flags + '(list "-k" + (string-append + ;; This test actually does what it should, but the check fails with + ;; TypeError: cannot unpack non-iterable Namespace object + "not test_start_and_stop_are_logged_with_argparse" + ;; These all attempt to connect to localhost with SSH + " and not test_job_should_use_TMPDIR_and_clean_up" + " and not test_job_should_use_TMPDIR_and_clean_up_after_fail" + " and not test_job_should_write_to_explicit_temp_and_not_clean_up")) + #:phases + '(modify-phases %standard-phases (add-after 'unpack 'fix-references (lambda _ (substitute* "cgatcore/pipeline/execution.py" @@ -15858,21 +16103,22 @@ coordinates between different assemblies.") (("executable=\"/bin/bash\"") (string-append "executable=\"" (which "bash") "\"")) (("\\\\time") (which "time"))))) - (delete 'check) - (add-after 'install 'check - (lambda* (#:key tests? inputs outputs #:allow-other-keys) - (when tests? - (add-installed-pythonpath inputs outputs) - ;; Requires network access - (delete-file "tests/test_pipeline_execution.py") - (invoke "python" "-m" "pytest" "-v"))))))) + (add-after 'unpack 'sqlite-compatibility + (lambda _ + ;; Load apsw (and thus newer sqlite3) before importing Python's + ;; older sqlite3 library. + (substitute* "cgatcore/pipeline/__init__.py" + (("import os") + (string-append "import os\nimport apsw"))) + (substitute* "tests/template_pipeline.py" + (("import sys" m) + (string-append "import apsw\n" m)))))))) (native-inputs - `(("python-pytest" ,python-pytest) - ("lsof" ,lsof) - ("hostname" ,inetutils) - ("openssl" ,openssl))) - (inputs - (list time)) + (list python-pytest + lsof + inetutils + openssl)) + (inputs (list time)) (propagated-inputs (list python-apsw python-gevent @@ -16352,18 +16598,31 @@ feature is fast retrieval of range queries into numpy arrays.") (define-public python-dna-features-viewer (package (name "python-dna-features-viewer") - (version "3.0.3") + (version "3.1.1") (source (origin (method url-fetch) (uri (pypi-uri "dna_features_viewer" version)) (sha256 (base32 - "0vci6kg2id6r6rh3cifq7ccnh7j0mb8iqg3hji6rva0ayrdqzafc")))) - (build-system python-build-system) - (arguments '(#:tests? #false)) ; there are none + "10a5pmh73spdgfml88zjqg1rn2j2zdxn06ir8a5q3arspyqvyqcb")))) + (build-system pyproject-build-system) + (arguments + (list + #:tests? #false ;there are none + #:phases + '(modify-phases %standard-phases + ;; See https://github.com/Edinburgh-Genome-Foundry/DnaFeaturesViewer/issues/73 + ;; and https://github.com/Edinburgh-Genome-Foundry/DnaFeaturesViewer/pull/74 + (add-after 'unpack 'fix-biopython-compatibility + (lambda _ + (substitute* "dna_features_viewer/biotools.py" + (("zip\\(aa1 \\+ \"\\*\", aa3 \\+ \\[\"\\*\"\\]\\)") + "zip(aa1 + ('*',), aa3 + ('*',))"))))))) (propagated-inputs - (list python-biopython python-matplotlib)) + (list python-biopython + python-matplotlib + python-packaging)) (home-page "https://github.com/Edinburgh-Genome-Foundry/DnaFeaturesViewer") (synopsis "Plot features from DNA sequences") |