diff options
Diffstat (limited to 'gnu/packages/bioinformatics.scm')
-rw-r--r-- | gnu/packages/bioinformatics.scm | 330 |
1 files changed, 130 insertions, 200 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index fbcd571c59..3ddb91714a 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2018, 2019, 2020, 2021 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> -;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> @@ -223,8 +223,7 @@ structure of the predicted RNA.") (snippet `(begin ;; Delete bundled htslib. - (delete-file-recursively "c/htslib-1.3.1") - #t)))) + (delete-file-recursively "c/htslib-1.3.1"))))) (build-system python-build-system) (arguments `(#:python ,python-2 ; BamM is Python 2 only. @@ -244,37 +243,22 @@ structure of the predicted RNA.") ;; Use autogen so that 'configure' works. (substitute* "autogen.sh" (("/bin/sh") sh)) (setenv "CONFIG_SHELL" sh) - (invoke "./autogen.sh"))) - #t)) - (delete 'build) - ;; Run tests after installation so compilation only happens once. - (delete 'check) - (add-after 'install 'wrap-executable - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (path (getenv "PATH"))) - (wrap-program (string-append out "/bin/bamm") - `("PATH" ":" prefix (,path)))) - #t)) - (add-after 'wrap-executable 'post-install-check - (lambda* (#:key inputs outputs #:allow-other-keys) - (setenv "PATH" - (string-append (assoc-ref outputs "out") - "/bin:" - (getenv "PATH"))) - (setenv "PYTHONPATH" - (string-append - (assoc-ref outputs "out") - "/lib/python" - (string-take (string-take-right - (assoc-ref inputs "python") 5) 3) - "/site-packages:" - (getenv "PYTHONPATH"))) + (invoke "./autogen.sh"))))) + (delete 'build) ;the build loops otherwise + (replace 'check + (lambda _ ;; There are 2 errors printed, but they are safe to ignore: ;; 1) [E::hts_open_format] fail to open file ... ;; 2) samtools view: failed to open ... - (invoke "nosetests") - #t))))) + (invoke "nosetests"))) + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (path (getenv "PATH")) + (pythonpath (getenv "GUIX_PYTHONPATH"))) + (wrap-program (string-append out "/bin/bamm") + `("PATH" ":" prefix (,path)) + `("GUIX_PYTHONPATH" ":" prefix (,pythonpath))))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -920,9 +904,7 @@ servers supporting the protocol.") "0wc7z8g8prgdx7n5chjva2fdq03wiwhqisjjxzkjg1j5k5ha7151")))) (build-system python-build-system) (arguments - `(#:modules ((ice-9 ftw) - (srfi srfi-1) - (srfi srfi-26) + `(#:modules ((srfi srfi-26) (guix build utils) (guix build python-build-system)) ;; See https://github.com/daler/pybedtools/issues/192 @@ -942,8 +924,6 @@ servers supporting the protocol.") (substitute* "pybedtools/test/test_issues.py" (("def test_issue_303") "def _test_issue_303")))) - ;; TODO: Remove phase after it's part of PYTHON-BUILD-SYSTEM. - ;; build system. ;; Force the Cythonization of C++ files to guard against compilation ;; problems. (add-after 'unpack 'remove-cython-generated-files @@ -955,20 +935,12 @@ servers supporting the protocol.") (string-take filename (string-index-right filename #\.))) (define (cythonized? c/c++-file) (member (strip-extension c/c++-file) cython-sources)) - (for-each delete-file (filter cythonized? c/c++-files)) - #t))) + (for-each delete-file (filter cythonized? c/c++-files))))) (add-after 'remove-cython-generated-files 'generate-cython-extensions (lambda _ (invoke "python" "setup.py" "cythonize"))) (replace 'check (lambda _ - (let* ((build-root-directory (string-append (getcwd) "/build/")) - (build (string-append - build-root-directory - (find (cut string-prefix? "lib" <>) - (scandir build-root-directory))))) - (setenv "PYTHONPATH" - (string-append build ":" (getenv "PYTHONPATH")))) ;; The tests need to be run from elsewhere... (mkdir-p "/tmp/test") (copy-recursively "pybedtools/test" "/tmp/test") @@ -1860,8 +1832,7 @@ errors at the end of reads.") (substitute* "Makefile" ;; replace BUILD_HOST and BUILD_TIME for deterministic build (("-DBUILD_HOST=.*") "-DBUILD_HOST=\"\\\"guix\\\"\"") - (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\"")) - #t)))) + (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\"")))))) (build-system gnu-build-system) (arguments '(#:make-flags @@ -1870,16 +1841,20 @@ errors at the end of reads.") (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases - (delete 'configure) + (replace 'configure + (lambda _ + ;; This "extended character" is not considered valid. + (substitute* "processor_support.h" + (("“") "\"") + (("”") "\"")))) (replace 'check (lambda _ (invoke "perl" "scripts/test/simple_tests.pl" "--bowtie2=./bowtie2" - "--bowtie2-build=./bowtie2-build") - #t))))) + "--bowtie2-build=./bowtie2-build")))))) (inputs - `(("tbb" ,tbb) + `(("tbb" ,tbb-2020) ("zlib" ,zlib) ("python" ,python-wrapper))) (native-inputs @@ -1928,7 +1903,7 @@ gapped, local, and paired-end alignment modes.") (delete 'configure)))) (inputs `(("python-wrapper" ,python-wrapper) - ("tbb" ,tbb) + ("tbb" ,tbb-2020) ("zlib" ,zlib))) (supported-systems '("x86_64-linux")) (home-page "http://bowtie-bio.sourceforge.net/index.shtml") @@ -2035,6 +2010,7 @@ splice junctions between exons.") (build-system gnu-build-system) (arguments '(#:tests? #f ;no "check" target + #:make-flags '("CFLAGS=-fcommon") #:phases (modify-phases %standard-phases (replace 'install @@ -2047,8 +2023,7 @@ splice junctions between exons.") (install-file "bwa" bin) (install-file "libbwa.a" lib) (install-file "README.md" doc) - (install-file "bwa.1" man)) - #t)) + (install-file "bwa.1" man)))) ;; no "configure" script (delete 'configure)))) (inputs `(("zlib" ,zlib))) @@ -2229,15 +2204,10 @@ has several key features: (snippet '(begin ;; Drop bundled htslib. TODO: Also remove samtools ;; and bcftools. - (delete-file-recursively "htslib") - #t)))) + (delete-file-recursively "htslib"))))) (build-system python-build-system) (arguments - `(#:modules ((ice-9 ftw) - (srfi srfi-26) - (guix build python-build-system) - (guix build utils)) - #:phases + `(#:phases (modify-phases %standard-phases (add-before 'build 'set-flags (lambda* (#:key inputs #:allow-other-keys) @@ -2247,19 +2217,12 @@ has several key features: (setenv "HTSLIB_INCLUDE_DIR" (string-append (assoc-ref inputs "htslib") "/include")) (setenv "LDFLAGS" "-lncurses") - (setenv "CFLAGS" "-D_CURSES_LIB=1") - #t)) + (setenv "CFLAGS" "-D_CURSES_LIB=1"))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) - ;; Failing test removed in the next release. + ;; FIXME: These tests fail with "AttributeError: 'array.array' + ;; object has no attribute 'tostring'". (delete-file "tests/AlignmentFile_test.py") - ;; Add first subdirectory of "build" directory to PYTHONPATH. - (setenv "PYTHONPATH" - (string-append - (getenv "PYTHONPATH") - ":" (getcwd) "/build/" - (car (scandir "build" - (negate (cut string-prefix? "." <>)))))) (when tests? ;; Step out of source dir so python does not import from CWD. (with-directory-excursion "tests" @@ -2611,9 +2574,9 @@ gene predictor designed to work with assembled, aligned RNA-seq transcripts.") (lambda* (#:key inputs outputs #:allow-other-keys) ;; Make sure 'couger' runs with the correct PYTHONPATH. (let* ((out (assoc-ref outputs "out")) - (path (getenv "PYTHONPATH"))) + (path (getenv "GUIX_PYTHONPATH"))) (wrap-program (string-append out "/bin/couger") - `("PYTHONPATH" ":" prefix (,path)))) + `("GUIX_PYTHONPATH" ":" prefix (,path)))) #t))))) (inputs `(("python" ,python-2) @@ -2698,14 +2661,14 @@ file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.") (define-public python-dnaio (package (name "python-dnaio") - (version "0.3") + (version "0.6.0") (source (origin (method url-fetch) (uri (pypi-uri "dnaio" version)) (sha256 (base32 - "0f16m7hdlm0fz1n7y5asy0v9ghyrq17ni1p9iybq22ddzyd49r27")))) + "14v5yyasq2bz34j38wi3xfcp06jj7l35ppibjcn95l2n73hz3zwi")))) (build-system python-build-system) (native-inputs `(("python-cython" ,python-cython) @@ -2793,6 +2756,16 @@ annotations of the genome.") (base32 "1vqmsfkm6llxzmsz9wcfcvzx9a9f8iabvwik2rbyn7nc4wm25z89")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'always-cythonize + (lambda _ + (delete-file "src/cutadapt/_align.c") + ;; If PKG-INFO exists, setup.py decides not to run Cython. + (substitute* "setup.py" + (("os.path.exists\\('PKG-INFO'\\):") + "os.path.exists('totally-does-not-exist'):"))))))) (inputs `(("python-dnaio" ,python-dnaio) ("python-xopen" ,python-xopen))) @@ -3289,23 +3262,18 @@ data and settings.") (substitute* "src/plasma/fasta.hpp" (("#define FASTA_HPP" line) (string-append line "\n#include <random>"))) - #t)) - ;; FIXME: this is needed because we're using texlive-union, which - ;; doesn't handle fonts correctly. It expects to be able to generate - ;; fonts in the home directory. - (add-before 'build 'setenv-HOME - (lambda _ (setenv "HOME" "/tmp") #t))))) + #t))))) (inputs `(("boost" ,boost) ("cairo" ,cairo) ("rmath-standalone" ,rmath-standalone))) (native-inputs - `(("texlive" ,(texlive-union (list texlive-cm - texlive-fonts-amsfonts + `(("texlive" ,(texlive-updmap.cfg (list texlive-cm + texlive-amsfonts - texlive-latex-doi + texlive-doi texlive-latex-examplep - texlive-latex-hyperref + texlive-hyperref texlive-latex-ms texlive-latex-natbib texlive-bibtex ; style files used by natbib @@ -3765,22 +3733,19 @@ results. The FASTX-Toolkit tools perform some of these preprocessing tasks.") (add-after 'unpack 'do-not-tune-to-CPU (lambda _ (substitute* "src/CMakeLists.txt" - ((" -march=native") "")) - #t)) + ((" -march=native") "")))) (replace 'check (lambda* (#:key outputs #:allow-other-keys) (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH"))) (with-directory-excursion "../source/test" - (invoke "bash" "flexbar_test.sh")) - #t)) + (invoke "bash" "flexbar_test.sh")))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (string-append (assoc-ref outputs "out"))) (bin (string-append out "/bin/"))) - (install-file "flexbar" bin)) - #t))))) + (install-file "flexbar" bin))))))) (inputs - `(("tbb" ,tbb) + `(("tbb" ,tbb-2020) ("zlib" ,zlib))) (native-inputs `(("pkg-config" ,pkg-config) @@ -4417,9 +4382,8 @@ manipulating HTS data.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "build.xml" (("\\$\\{htsjdk\\}/lib") - (string-append (assoc-ref inputs "java-htsjdk") - "/share/java/htsjdk/"))) - #t)) + (search-input-directory inputs + "share/java/htsjdk"))))) (add-after 'unpack 'make-test-target-independent (lambda* (#:key inputs #:allow-other-keys) (substitute* "build.xml" @@ -4574,9 +4538,7 @@ VCF.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "build.xml" (("\\$\\{lib\\}/apache-ant-1.8.2-bzip2.jar") - (string-append (assoc-ref inputs "ant") - "/lib/ant.jar"))) - #t)) + (search-input-file inputs "/lib/ant.jar"))))) (add-after 'unpack 'make-test-target-independent (lambda* (#:key inputs #:allow-other-keys) (substitute* "build.xml" @@ -4673,15 +4635,13 @@ VCF.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "build.xml" (("jbzip2-0.9.jar") - (string-append (assoc-ref inputs "java-jbzip2") - "/share/java/jbzip2.jar")) + (search-input-file inputs "/share/java/jbzip2.jar")) (("sam-1.103.jar") - (string-append (assoc-ref inputs "java-picard-1.113") - "/share/java/sam-1.112.jar")) + (search-input-file inputs + "/share/java/sam-1.112.jar")) (("cisd-jhdf5.jar") - (string-append (assoc-ref inputs "java-cisd-jhdf5") - "/share/java/sis-jhdf5.jar"))) - #t)) + (search-input-file inputs + "/share/java/sis-jhdf5.jar"))))) ;; There is no installation target (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) @@ -4892,13 +4852,10 @@ experiments and provide highly stable thresholds based on reproducibility.") "0npa62wzasdibas5zp3n8j3armsci4kyvh0jw7jr0am4gg7vg5g1")))) (build-system gnu-build-system) (outputs '("out" ;for library - "ruby" ;for Ruby bindings "python")) ;for Python bindings (arguments `(#:configure-flags (list "--without-sse" ; configure script probes for CPU features when SSE is enabled. - (string-append "--enable-ruby-binding=" - (assoc-ref %outputs "ruby")) (string-append "--enable-python-binding=" (assoc-ref %outputs "python"))) #:phases @@ -4911,7 +4868,6 @@ experiments and provide highly stable thresholds based on reproducibility.") (native-inputs `(("bc" ,bc) ("time" ,time) - ("ruby" ,ruby) ("python" ,python-wrapper) ("pkg-config" ,pkg-config))) (inputs @@ -5068,6 +5024,8 @@ experiments.") (arguments `(#:phases (modify-phases %standard-phases + (add-before 'build 'set-HOME + (lambda _ (setenv "HOME" "/tmp"))) (replace 'check (lambda* (#:key tests? inputs outputs #:allow-other-keys) (when tests? @@ -5749,9 +5707,11 @@ predicts the locations of structural units in the sequences.") (add-after 'install 'wrap-programs (lambda* (#:key inputs outputs #:allow-other-keys) (let ((path (getenv "PATH")) - (out (assoc-ref outputs "out"))) + (out (assoc-ref outputs "out")) + (guile (search-input-file inputs "bin/guile"))) (for-each (lambda (script) - (wrap-script script `("PATH" ":" prefix (,path)))) + (wrap-script script #:guile guile + `("PATH" ":" prefix (,path)))) (cons (string-append out "/bin/proteinortho") (find-files out "\\.(pl|py)$")))) #t))))) @@ -5909,7 +5869,7 @@ partial genes, and identifies translation initiation sites.") (string-append out "/bin/roary-create_pan_genome_plots.R")) (r-site-lib (getenv "R_LIBS_SITE")) (coreutils-path - (string-append (assoc-ref inputs "coreutils") "/bin"))) + (dirname (search-input-file inputs "bin/chmod")))) (wrap-program file `("R_LIBS_SITE" ":" prefix (,(string-append r-site-lib ":" out "/site-library/")))) @@ -6792,25 +6752,6 @@ complexity samples.") (base32 "148vcb7w2wr6a4w6vs2bsxanbqibxfk490zbcbg4m61s8669zdjx")))) (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; Tests must be run after installation, as the "screed" command does - ;; not exist right after building. - (delete 'check) - (add-after 'install 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (setenv "PYTHONPATH" - (string-append out "/lib/python" - (string-take (string-take-right - (assoc-ref inputs "python") - 5) 3) - "/site-packages:" - (getenv "PYTHONPATH"))) - (setenv "PATH" (string-append out "/bin:" (getenv "PATH")))) - (invoke "python" "setup.py" "test") - #t))))) (native-inputs `(("python-pytest" ,python-pytest) ("python-pytest-cov" ,python-pytest-cov) @@ -8117,10 +8058,11 @@ experience substantial biological insertions and deletions.") (delete 'configure) (delete 'build) (replace 'install - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) - (scripts (find-files "." "prinseq.*.pl"))) + (scripts (find-files "." "prinseq.*.pl")) + (guile (search-input-file "bin/guile"))) (substitute* scripts (("\"perl -pe") (string-append "\"" (which "perl") " -pe"))) @@ -8128,6 +8070,7 @@ experience substantial biological insertions and deletions.") (chmod file #o555) (install-file file bin) (wrap-script (string-append bin "/" (basename file)) + #:guile guile `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))) scripts))))))) @@ -8181,7 +8124,7 @@ data. It also generates basic statistics for your sequences.") ,(version-major+minor (package-version python)) "/site-packages")) - (pythonpath (getenv "PYTHONPATH")) + (pythonpath (getenv "GUIX_PYTHONPATH")) (script (string-append out "/bin/shorah"))) (chmod script #o555) (wrap-program script `("PYTHONPATH" ":" prefix (,site ,pythonpath)))))) @@ -9221,7 +9164,8 @@ matplotlib.use('Agg') " line))) ;; Make sure GESS has all modules in its path (wrap-script (string-append target "GESS.py") - `("PYTHONPATH" ":" = (,target ,(getenv "PYTHONPATH")))) + #:guile (search-input-file inputs "bin/guile") + `("GUIX_PYTHONPATH" ":" = (,target ,(getenv "GUIX_PYTHONPATH")))) (mkdir-p bin) (symlink (string-append target "GESS.py") (string-append bin "GESS.py")) @@ -9562,8 +9506,8 @@ browser.") (substitute* "bin/linux/fseq" (("java") (which "java")) (("\\$REALDIR/../lib/commons-cli-1.1.jar") - (string-append (assoc-ref inputs "java-commons-cli") - "/share/java/commons-cli.jar")) + (search-input-file inputs + "/share/java/commons-cli.jar")) (("REALDIR=.*") (string-append "REALDIR=" bin "\n"))) (install-file "README.txt" doc) @@ -9912,30 +9856,22 @@ dependency like SeqAn.") (add-after 'unpack 'do-not-look-for-boost (lambda* (#:key inputs #:allow-other-keys) (substitute* "CMakeLists.txt" - (("find_package\\(Boost 1\\.53\\.0") "#")) - #t)) + (("find_package\\(Boost 1\\.53\\.0") "#")))) (add-after 'unpack 'do-not-assign-to-macro (lambda _ (substitute* "include/spdlog/details/format.cc" - (("const unsigned CHAR_WIDTH = 1;") "")) - #t)) + (("const unsigned CHAR_WIDTH = 1;") "")))) (add-after 'unpack 'prepare-rapmap (lambda* (#:key inputs #:allow-other-keys) (let ((src "external/install/src/rapmap/") (include "external/install/include/rapmap/") (rapmap (assoc-ref inputs "rapmap"))) - (mkdir-p "/tmp/rapmap") - (invoke "tar" "xf" - (assoc-ref inputs "rapmap") - "-C" "/tmp/rapmap" - "--strip-components=1") (mkdir-p src) (mkdir-p include) (for-each (lambda (file) (install-file file src)) - (find-files "/tmp/rapmap/src" "\\.(c|cpp)")) - (copy-recursively "/tmp/rapmap/include" include)) - #t)) + (find-files (string-append rapmap "/src") "\\.(c|cpp)")) + (copy-recursively (string-append rapmap "/include") include)))) (add-after 'unpack 'use-system-libraries (lambda* (#:key inputs #:allow-other-keys) (substitute* '("src/SailfishIndexer.cpp" @@ -9950,17 +9886,18 @@ dependency like SeqAn.") (("#include \"jellyfish/config.h\"") "")) (substitute* "src/CMakeLists.txt" (("\\$\\{GAT_SOURCE_DIR\\}/external/install/include/jellyfish-2.2..") - (string-append (assoc-ref inputs "jellyfish") - "/include/jellyfish-" ,(package-version jellyfish))) + (search-input-directory + inputs + (string-append "/include/jellyfish-" ,(package-version jellyfish)))) (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libjellyfish-2.0.a") - (string-append (assoc-ref inputs "jellyfish") - "/lib/libjellyfish-2.0.a")) + (search-input-file inputs + "/lib/libjellyfish-2.0.a")) (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort.a") - (string-append (assoc-ref inputs "libdivsufsort") - "/lib/libdivsufsort.so")) + (search-input-file inputs + "/lib/libdivsufsort.so")) (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort64.a") - (string-append (assoc-ref inputs "libdivsufsort") - "/lib/libdivsufsort64.so"))) + (search-input-file inputs + "/lib/libdivsufsort64.so"))) (substitute* "CMakeLists.txt" ;; Don't prefer static libs (("SET\\(CMAKE_FIND_LIBRARY_SUFFIXES.*") "") @@ -9972,10 +9909,10 @@ dependency like SeqAn.") ;; Ensure that Eigen headers can be found (setenv "CPLUS_INCLUDE_PATH" - (string-append (assoc-ref inputs "eigen") - "/include/eigen3:" - (or (getenv "CPLUS_INCLUDE_PATH") ""))) - #t))))) + (string-append (search-input-directory + inputs "/include/eigen3") + ":" + (or (getenv "CPLUS_INCLUDE_PATH") "")))))))) (inputs `(("boost" ,boost) ("eigen" ,eigen) @@ -9996,11 +9933,10 @@ dependency like SeqAn.") (snippet '(begin (delete-file-recursively "include/spdlog") (for-each delete-file '("include/xxhash.h" - "src/xxhash.c")) - #t)))) + "src/xxhash.c")))))) ("libdivsufsort" ,libdivsufsort) ("libgff" ,libgff) - ("tbb" ,tbb) + ("tbb" ,tbb-2020) ("zlib" ,zlib))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -10076,9 +10012,10 @@ The following file formats are supported: `(#:configure-flags (list (string-append "-Dlibgff_DIR=" (assoc-ref %build-inputs "libgff") "/lib") + "-DCMAKE_CXX_FLAGS=\"-DHAVE_NUMERIC_LIMITS128=1\"" "-Dlibgff_FOUND=TRUE" "-DTBB_FOUND=TRUE" - "-DTBB_VERSION=2020.3" + ,(string-append "-DTBB_VERSION=" (package-version tbb-2020)) "-DTBB_LIBRARIES=tbb -ltbbmalloc" "-DFETCHED_PUFFERFISH=TRUE" "-DUSE_SHARED_LIBS=TRUE") @@ -10172,7 +10109,7 @@ The following file formats are supported: (sha256 (base32 "0qb4a2nl1d59qasr17sslgxnkjd5kbk5mns4cjshrmsvkrqp995n")))) - ("tbb" ,tbb) + ("tbb" ,tbb-2020) ("libstadenio-for-salmon" ,libstadenio-for-salmon) ("xz" ,xz) ("zlib" ,zlib))) @@ -10208,11 +10145,7 @@ variational inference.") (modify-phases %standard-phases (replace 'check (lambda _ - (setenv "PYTHONPATH" - (string-append (getcwd) ":" - (getenv "PYTHONPATH"))) - (invoke "pytest" "tests") - #t))))) + (invoke "pytest" "tests")))))) (propagated-inputs `(("python-h5py" ,python-h5py) ("python-numpy" ,python-numpy) @@ -10805,8 +10738,8 @@ once. This package provides tools to perform Drop-seq analyses.") (lambda* (#:key inputs #:allow-other-keys) (setenv "TZ" "UTC+1") (setenv "TZDIR" - (string-append (assoc-ref inputs "tzdata") - "/share/zoneinfo"))))))) + (search-input-directory inputs + "share/zoneinfo"))))))) (inputs `(("coreutils" ,coreutils) ("sed" ,sed) @@ -10969,8 +10902,8 @@ in an easily configurable manner.") (lambda* (#:key inputs #:allow-other-keys) (setenv "TZ" "UTC+1") (setenv "TZDIR" - (string-append (assoc-ref inputs "tzdata") - "/share/zoneinfo"))))))) + (search-input-directory inputs + "share/zoneinfo"))))))) (native-inputs `(("tzdata" ,tzdata) ("automake" ,automake) @@ -11730,11 +11663,11 @@ conversions, region filtering, FASTA sequence extraction and more.") (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) - (path (getenv "PYTHONPATH"))) + (path (getenv "GUIX_PYTHONPATH"))) (for-each (lambda (script) (install-file script bin) (wrap-program (string-append bin "/" script) - `("PYTHONPATH" ":" prefix (,path)))) + `("GUIX_PYTHONPATH" ":" prefix (,path)))) '("cmp_bed.py" "find_circ.py" "maxlength.py" @@ -12833,17 +12766,13 @@ datasets.") (add-after 'install 'link-tools (lambda* (#:key inputs outputs #:allow-other-keys) (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) - (symlink (string-append (assoc-ref inputs "prodigal") - "/bin/prodigal") + (symlink (search-input-file inputs "/bin/prodigal") (string-append bin "ngless-" ,version "-prodigal")) - (symlink (string-append (assoc-ref inputs "minimap2") - "/bin/minimap2") + (symlink (search-input-file inputs "/bin/minimap2") (string-append bin "ngless-" ,version "-minimap2")) - (symlink (string-append (assoc-ref inputs "samtools") - "/bin/samtools") + (symlink (search-input-file inputs "/bin/samtools") (string-append bin "ngless-" ,version "-samtools")) - (symlink (string-append (assoc-ref inputs "bwa") - "/bin/bwa") + (symlink (search-input-file inputs "/bin/bwa") (string-append bin "ngless-" ,version "-bwa")) #t)))))) (inputs @@ -12983,10 +12912,10 @@ phase + query phase).") (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (path (getenv "PYTHONPATH"))) + (path (getenv "GUIX_PYTHONPATH"))) (wrap-program (string-append out "/share/filtlong/scripts/histogram.py") - `("PYTHONPATH" ":" prefix (,path)))) + `("GUIX_PYTHONPATH" ":" prefix (,path)))) #t)) (add-before 'check 'patch-tests (lambda _ @@ -13042,10 +12971,9 @@ choosing which reads pass the filter.") (add-after 'unpack 'find-eigen (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" - (string-append (assoc-ref inputs "eigen") - "/include/eigen3:" - (or (getenv "CPATH") ""))) - #t)) + (string-append + (search-input-directory inputs "/include/eigen3") + ":" (or (getenv "CPATH") ""))))) (delete 'configure) (replace 'install (lambda* (#:key outputs #:allow-other-keys) @@ -13058,16 +12986,18 @@ choosing which reads pass the filter.") (find-files "scripts" ".*")) #t))) (add-after 'install 'wrap-programs - (lambda* (#:key outputs #:allow-other-keys) - (let ((pythonpath (getenv "PYTHONPATH")) + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((pythonpath (getenv "GUIX_PYTHONPATH")) (perl5lib (getenv "PERL5LIB")) (scripts (string-append (assoc-ref outputs "out") - "/share/nanopolish/scripts"))) + "/share/nanopolish/scripts")) + (guile (search-input-file inputs "bin/guile"))) (for-each (lambda (file) - (wrap-program file `("PYTHONPATH" ":" prefix (,pythonpath)))) + (wrap-program file `("GUIX_PYTHONPATH" ":" prefix (,pythonpath)))) (find-files scripts "\\.py")) (for-each (lambda (file) - (wrap-script file `("PERL5LIB" ":" prefix (,perl5lib)))) + (wrap-script file #:guile guile + `("PERL5LIB" ":" prefix (,perl5lib)))) (find-files scripts "\\.pl")))))))) (inputs `(("guile" ,guile-3.0) ; for wrappers @@ -13281,8 +13211,8 @@ to an artifact/contaminant file.") `(("openmpi" ,openmpi) ("zlib" ,zlib))) (native-inputs - `(("texlive" ,(texlive-union (list texlive-latex-graphics - texlive-latex-hyperref))))) + `(("texlive" ,(texlive-updmap.cfg (list texlive-latex-graphics + texlive-hyperref))))) (home-page "https://www.ebi.ac.uk/~zerbino/velvet/") (synopsis "Nucleic acid sequence assembler for very short reads") (description @@ -14362,6 +14292,7 @@ patterns.") `(#:test-target "test" #:make-flags (list "CC=gcc" + "CFLAGS=-fcommon" (string-append "prefix=" (assoc-ref %outputs "out") "/bin/")) #:phases @@ -14371,8 +14302,7 @@ patterns.") (substitute* "Makefile" (("-lhts ") "-lhts -lBigWig ") (("install MethylDackel \\$\\(prefix\\)" match) - (string-append "install -d $(prefix); " match))) - #t))))) + (string-append "install -d $(prefix); " match)))))))) (inputs `(("curl" ,curl) ; XXX: needed by libbigwig ("htslib" ,htslib-1.9) |