From 0b8a75cc3a404b15262c30612b06f946f2283ecc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 9 Dec 2021 09:16:04 +0100 Subject: gnu: Add samtools-1.2. * gnu/packages/bioinformatics.scm (samtools-1.2): New variable. --- gnu/packages/bioinformatics.scm | 63 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 833a91b1f3..13901bcbab 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -6389,6 +6389,69 @@ viewer.") ("python" ,python) ("zlib" ,zlib))))) +(define-public samtools-1.2 + (package (inherit samtools) + (name "samtools") + (version "1.2") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/samtools/samtools/" + version "/samtools-" version ".tar.bz2")) + (sha256 + (base32 + "1akdqb685pk9xk1nb6sa9aq8xssjjhvvc06kp4cpdqvz2157l3j2")) + (modules '((guix build utils))) + (snippet + ;; Delete bundled htslib and Windows binaries + '(for-each delete-file-recursively (list "win32" "htslib-1.2.1"))))) + (arguments + `(#:make-flags + ,#~(list (string-append "prefix=" #$output) + (string-append "BGZIP=" + #$(this-package-input "htslib") + "/bin/bgzip") + (string-append "HTSLIB=" + #$(this-package-input "htslib") + "/lib/libhts.so") + (string-append "HTSDIR=" + #$(this-package-input "htslib") + "/include")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-makefile-curses + (lambda _ + (substitute* "Makefile" + (("-lcurses") "-lncurses") + (("include \\$\\(HTSDIR.*") "")))) + (add-after 'unpack 'patch-tests + (lambda _ + (substitute* "test/test.pl" + ;; The test script calls out to /bin/bash + (("/bin/bash") (which "bash")) + ;; There are two failing tests upstream relating to the "stats" + ;; subcommand in test_usage_subcommand ("did not have Usage" + ;; and "usage did not mention samtools stats"), so we disable + ;; them. + (("(test_usage_subcommand\\(.*\\);)" cmd) + (string-append "unless ($subcommand eq 'stats') {" cmd "};"))) + ;; This test fails because the grep output doesn't look as + ;; expected; it is correct, though. + (substitute* "test/mpileup/mpileup.reg" + (("P 52.out.*") "")))) + (delete 'configure)))) + (native-inputs + `(("grep" ,grep) + ("gawk" ,gawk) + ("pkg-config" ,pkg-config))) + (inputs + `(("htslib" ,htslib-for-samtools-1.2) + ("ncurses" ,ncurses) + ("perl" ,perl) + ("python" ,python) + ("zlib" ,zlib))))) + (define-public samtools-0.1 ;; This is the most recent version of the 0.1 line of samtools. The input ;; and output formats differ greatly from that used and produced by samtools -- cgit v1.2.3