summaryrefslogtreecommitdiff
path: root/gnu/packages/bioinformatics.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/bioinformatics.scm')
-rw-r--r--gnu/packages/bioinformatics.scm330
1 files changed, 130 insertions, 200 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 6c9c1af33d..f2d53360a4 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>
@@ -226,8 +226,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.
@@ -247,37 +246,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)
@@ -935,9 +919,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
@@ -957,8 +939,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
@@ -970,20 +950,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")
@@ -2008,8 +1980,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
@@ -2018,16 +1989,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
@@ -2076,7 +2051,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")
@@ -2183,6 +2158,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
@@ -2195,8 +2171,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)))
@@ -2377,15 +2352,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)
@@ -2395,19 +2365,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"
@@ -2759,9 +2722,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)
@@ -2846,14 +2809,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)
@@ -2941,6 +2904,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)))
@@ -3437,23 +3410,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
@@ -3913,22 +3881,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)
@@ -4565,9 +4530,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"
@@ -4722,9 +4686,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"
@@ -4821,15 +4783,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)
@@ -5040,13 +5000,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
@@ -5059,7 +5016,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
@@ -5216,6 +5172,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?
@@ -5897,9 +5855,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)))))
@@ -6057,7 +6017,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/"))))
@@ -6940,25 +6900,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)
@@ -8265,10 +8206,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")))
@@ -8276,6 +8218,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)))))))
@@ -8329,7 +8272,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))))))
@@ -9369,7 +9312,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"))
@@ -9710,8 +9654,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)
@@ -10060,30 +10004,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"
@@ -10098,17 +10034,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.*") "")
@@ -10120,10 +10057,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)
@@ -10144,11 +10081,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)))
@@ -10224,9 +10160,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")
@@ -10320,7 +10257,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)))
@@ -10356,11 +10293,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)
@@ -10953,8 +10886,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)
@@ -11117,8 +11050,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)
@@ -11878,11 +11811,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"
@@ -12982,17 +12915,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
@@ -13132,10 +13061,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 _
@@ -13191,10 +13120,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)
@@ -13207,16 +13135,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
@@ -13430,8 +13360,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
@@ -14512,6 +14442,7 @@ patterns.")
`(#:test-target "test"
#:make-flags
(list "CC=gcc"
+ "CFLAGS=-fcommon"
(string-append "prefix="
(assoc-ref %outputs "out") "/bin/"))
#:phases
@@ -14521,8 +14452,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)