diff options
Diffstat (limited to 'gnu/packages/bioinformatics.scm')
-rw-r--r-- | gnu/packages/bioinformatics.scm | 258 |
1 files changed, 128 insertions, 130 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 33b58f44bc..d94b297723 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -369,32 +369,33 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.") '(#:tests? #f #:make-flags (list (string-append "BINDIR=" %output "/bin")) #:phases - (alist-cons-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 - - ;; Unpack the tarballs to benefit from shebang patching. - (with-directory-excursion "third-party" - (and (zero? (system* "tar" "xvf" "jansson-2.6.tar.bz2")) - (zero? (system* "tar" "xvf" "zlib-1.2.7.tar.bz2")) - (zero? (system* "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"))) - (alist-delete 'configure %standard-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 + + ;; Unpack the tarballs to benefit from shebang patching. + (with-directory-excursion "third-party" + (and (zero? (system* "tar" "xvf" "jansson-2.6.tar.bz2")) + (zero? (system* "tar" "xvf" "zlib-1.2.7.tar.bz2")) + (zero? (system* "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)))) (home-page "https://github.com/bedops/bedops") (synopsis "Tools for high-performance genomic feature operations") (description @@ -1325,20 +1326,21 @@ splice junctions between exons.") (arguments '(#:tests? #f ;no "check" target #:phases - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append - (assoc-ref outputs "out") "/bin")) - (doc (string-append - (assoc-ref outputs "out") "/share/doc/bwa")) - (man (string-append - (assoc-ref outputs "out") "/share/man/man1"))) - (install-file "bwa" bin) - (install-file "README.md" doc) - (install-file "bwa.1" man))) - ;; no "configure" script - (alist-delete 'configure %standard-phases)))) + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append + (assoc-ref outputs "out") "/bin")) + (doc (string-append + (assoc-ref outputs "out") "/share/doc/bwa")) + (man (string-append + (assoc-ref outputs "out") "/share/man/man1"))) + (install-file "bwa" bin) + (install-file "README.md" doc) + (install-file "bwa.1" man)) + #t)) + ;; no "configure" script + (delete 'configure)))) (inputs `(("zlib" ,zlib))) ;; Non-portable SSE instructions are used so building fails on platforms ;; other than x86_64. @@ -1815,10 +1817,9 @@ time.") (arguments `(#:python ,python-2 #:phases - (alist-cons-after - 'unpack 'set-env - (lambda _ (setenv "CROSSMAP_USE_SYSTEM_PYSAM" "1")) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'set-env + (lambda _ (setenv "CROSSMAP_USE_SYSTEM_PYSAM" "1") #t))))) (inputs `(("python-numpy" ,python2-numpy) ("python-pysam" ,python2-pysam) @@ -2365,19 +2366,18 @@ dynamic programming or a variety of heuristics.") (arguments `(#:tests? #f ;no "check" target #:phases - (alist-cons-after - 'unpack 'use-shared-boost-libs-and-set-bamtools-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - (("set\\(Boost_USE_STATIC_LIBS ON\\)") - "set(Boost_USE_STATIC_LIBS OFF)") - (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/bamtools/include") - (string-append (assoc-ref inputs "bamtools") "/include/bamtools"))) - (substitute* "src/CMakeLists.txt" - (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/\\.\\./bamtools/lib") - (string-append (assoc-ref inputs "bamtools") "/lib/bamtools"))) - #t) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'use-shared-boost-libs-and-set-bamtools-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (("set\\(Boost_USE_STATIC_LIBS ON\\)") + "set(Boost_USE_STATIC_LIBS OFF)") + (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/bamtools/include") + (string-append (assoc-ref inputs "bamtools") "/include/bamtools"))) + (substitute* "src/CMakeLists.txt" + (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/\\.\\./bamtools/lib") + (string-append (assoc-ref inputs "bamtools") "/lib/bamtools"))) + #t))))) (inputs `(("boost" ,boost) ("bamtools" ,bamtools) @@ -2544,15 +2544,15 @@ results. The FASTX-Toolkit tools perform some of these preprocessing tasks.") (assoc-ref %outputs "out") "/bin/")) #:phases - (alist-replace - 'check - (lambda* (#:key outputs #:allow-other-keys) - (setenv "PATH" (string-append - (assoc-ref outputs "out") "/bin:" - (getenv "PATH"))) - (chdir "../flexbar_v2.5_src/test") - (zero? (system* "bash" "flexbar_validate.sh"))) - (alist-delete 'install %standard-phases)))) + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key outputs #:allow-other-keys) + (setenv "PATH" (string-append + (assoc-ref outputs "out") "/bin:" + (getenv "PATH"))) + (chdir "../flexbar_v2.5_src/test") + (zero? (system* "bash" "flexbar_validate.sh")))) + (delete 'install)))) (inputs `(("tbb" ,tbb) ("zlib" ,zlib))) @@ -2788,21 +2788,21 @@ association studies (GWAS).") (arguments `(#:python ,python-2 #:phases - (alist-cons-after - 'unpack 'generate-from-cython-sources - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Delete these C files to force fresh generation from pyx sources. - (delete-file "grit/sparsify_support_fns.c") - (delete-file "grit/call_peaks_support_fns.c") - (substitute* "setup.py" - (("Cython.Setup") "Cython.Build") - ;; Add numpy include path to fix compilation - (("pyx\", \\]") - (string-append "pyx\", ], include_dirs = ['" - (assoc-ref inputs "python-numpy") - "/lib/python2.7/site-packages/numpy/core/include/" - "']"))) #t) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'generate-from-cython-sources + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Delete these C files to force fresh generation from pyx sources. + (delete-file "grit/sparsify_support_fns.c") + (delete-file "grit/call_peaks_support_fns.c") + (substitute* "setup.py" + (("Cython.Setup") "Cython.Build") + ;; Add numpy include path to fix compilation + (("pyx\", \\]") + (string-append "pyx\", ], include_dirs = ['" + (assoc-ref inputs "python-numpy") + "/lib/python2.7/site-packages/numpy/core/include/" + "']"))) + #t))))) (inputs `(("python-scipy" ,python2-scipy) ("python-numpy" ,python2-numpy) @@ -2845,28 +2845,29 @@ estimates transcript expression.") '() '("POPCNT_CAPABILITY=0"))) #:phases - (alist-cons-after - 'unpack 'patch-sources - (lambda _ - ;; XXX Cannot use snippet because zip files are not supported - (substitute* "Makefile" - (("^CC = .*$") "CC = gcc") - (("^CPP = .*$") "CPP = g++") - ;; replace BUILD_HOST and BUILD_TIME for deterministic build - (("-DBUILD_HOST=.*") "-DBUILD_HOST=\"\\\"guix\\\"\"") - (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\"")) - (substitute* '("hisat-build" "hisat-inspect") - (("/usr/bin/env") (which "env")))) - (alist-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 - "." - "hisat(-(build|align|inspect)(-(s|l)(-debug)*)*)*$")))) - (alist-delete 'configure %standard-phases))))) + (modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda _ + ;; XXX Cannot use snippet because zip files are not supported + (substitute* "Makefile" + (("^CC = .*$") "CC = gcc") + (("^CPP = .*$") "CPP = g++") + ;; replace BUILD_HOST and BUILD_TIME for deterministic build + (("-DBUILD_HOST=.*") "-DBUILD_HOST=\"\\\"guix\\\"\"") + (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\"")) + (substitute* '("hisat-build" "hisat-inspect") + (("/usr/bin/env") (which "env"))) + #t)) + (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 + "." + "hisat(-(build|align|inspect)(-(s|l)(-debug)*)*)*$"))) + #t)) + (delete 'configure)))) (native-inputs `(("unzip" ,unzip))) (inputs @@ -4680,23 +4681,21 @@ Roche 454, Ion Torrent and Pacific BioSciences SMRT.") `(#:parallel-build? #f ; not supported #:tests? #f ; no "check" target #:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Allow 'konfigure.perl' to find 'package.prl'. - (setenv "PERL5LIB" - (string-append ".:" (getenv "PERL5LIB"))) - - ;; The 'configure' script doesn't recognize things like - ;; '--enable-fast-install'. - (zero? (system* "./configure" - (string-append "--build-prefix=" (getcwd) "/build") - (string-append "--prefix=" out))))) - (alist-cons-after - 'unpack 'enter-dir - (lambda _ (chdir "ngs-sdk") #t) - %standard-phases)))) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Allow 'konfigure.perl' to find 'package.prl'. + (setenv "PERL5LIB" + (string-append ".:" (getenv "PERL5LIB"))) + + ;; The 'configure' script doesn't recognize things like + ;; '--enable-fast-install'. + (zero? (system* "./configure" + (string-append "--build-prefix=" (getcwd) "/build") + (string-append "--prefix=" out)))))) + (add-after 'unpack 'enter-dir + (lambda _ (chdir "ngs-sdk") #t))))) (native-inputs `(("perl" ,perl))) ;; According to the test ;; unless ($MARCH =~ /x86_64/i || $MARCH =~ /i?86/i) @@ -5460,17 +5459,16 @@ sequences.") "-f" "Makefile.Linux" "CC=gcc ${CCFLAGS}") #:phases - (alist-cons-after - 'unpack 'enter-dir - (lambda _ (chdir "src") #t) - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) - (mkdir-p bin) - (copy-recursively "../bin" bin))) + (modify-phases %standard-phases + (add-after 'unpack 'enter-dir + (lambda _ (chdir "src") #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) + (mkdir-p bin) + (copy-recursively "../bin" bin)))) ;; no "configure" script - (alist-delete 'configure %standard-phases))))) + (delete 'configure)))) (inputs `(("zlib" ,zlib))) (home-page "http://bioinf.wehi.edu.au/subread-package/") (synopsis "Tool kit for processing next-gen sequencing data") |