aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoel Janssen2016-03-09 13:35:32 +0100
committerRoel Janssen2016-03-09 13:35:32 +0100
commitfa66cadafcdf3787864943910abf3f9348768aa3 (patch)
treed656e8f77f4fbfef99427580ebf8350e816d10c0
parent2f4d42ad812517b931bc71e979824b09f6c6004a (diff)
downloadguix-bioinformatics-fa66cadafcdf3787864943910abf3f9348768aa3.tar.gz
Added submodules to run tests, and provided an override to run the tests.
-rw-r--r--gn/packages/bioinformatics.scm75
1 files changed, 48 insertions, 27 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index c04c928..49e54ee 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -100,10 +100,11 @@ mappability data (files created by GEM). ")
(license license:gpl2+)))
(define-public freebayes
- (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb"))
+ (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb")
+ (revision "1"))
(package
(name "freebayes")
- (version (string-append "v1.0.2-" (string-take commit 7)))
+ (version (string-append "1.0.2-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -113,11 +114,18 @@ mappability data (files created by GEM). ")
(sha256
(base32 "1sbzwmcbn78ybymjnhwk7qc5r912azy5vqz2y7y81616yc3ba2a2"))))
(build-system gnu-build-system)
+ (inputs
+ `(("zlib" ,zlib)))
(native-inputs
- `(("cmake" ,cmake)
+ `(("bc" ,bc) ; Needed for running tests.
+ ("samtools" ,samtools) ; Needed for running tests.
+ ("parallel" ,parallel) ; Needed for running tests.
+ ("procps" ,procps) ; Needed for running tests.
+ ("bamtools" ,bamtools)
+ ("cmake" ,cmake)
("htslib" ,htslib)
- ("zlib" ,zlib)
("python" ,python-2)
+ ("r" ,r)
("perl" ,perl)
("bamtools-src"
,(origin
@@ -193,20 +201,34 @@ mappability data (files created by GEM). ")
(file-name "fastahack-src.tar.gz")
(sha256
(base32 "0j25lcl3jk1kls66zzxjfyq5ir6sfcvqrdwfcva61y3ajc9ssay2"))))
- ))
+ ;; These submodules are needed to run the tests.
+ ("bash-tap-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/illusori/bash-tap/archive/"
+ "c38fbfa401600cc81ccda66bfc0da3ea56288d03" ".tar.gz"))
+ (file-name "bash-tap-src.tar.gz")
+ (sha256
+ (base32 "07ijb1p0aa65ajpg9nkghc183iha6lwiydkckay8pghapa01j6nz"))))
+ ("test-simple-bash-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ingydotnet/test-simple-bash/archive/"
+ "124673ff204b01c8e96b7fc9f9b32ee35d898acc" ".tar.gz"))
+ (file-name "test-simple-bash-src.tar.gz")
+ (sha256
+ (base32 "016xf3wbgqbav9dncvfdx5k0f10z5xwq8jdszajzmcvnhz5wis14"))))))
(arguments
- `(#:tests? #f
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(delete 'configure)
- (delete 'check)
(add-after 'unpack 'unpack-submodule-sources
(lambda* (#:key inputs #:allow-other-keys)
(let ((unpack (lambda (source target)
(with-directory-excursion target
(zero? (system* "tar" "xvf"
- (assoc-ref inputs source)
- "--strip-components=1"))))))
+ (assoc-ref inputs source)
+ "--strip-components=1"))))))
(and
(unpack "bamtools-src" "bamtools")
(unpack "vcflib-src" "vcflib")
@@ -217,47 +239,46 @@ mappability data (files created by GEM). ")
(unpack "intervaltree-src" "vcflib/intervaltree")
(unpack "multichoose-src" "vcflib/multichoose")
(unpack "smithwaterman-src" "vcflib/smithwaterman")
- (unpack "tabixpp-src" "vcflib/tabixpp")))))
+ (unpack "tabixpp-src" "vcflib/tabixpp")
+ (unpack "test-simple-bash-src" "test/test-simple-bash")
+ (unpack "bash-tap-src" "test/bash-tap")))))
(add-after 'unpack-submodule-sources 'fix-makefile
(lambda* (#:key inputs #:allow-other-keys)
+ ;; We don't have the .git folder to get the version tag from.
+ ;; For this checkout of the code, it's v1.0.0.
(substitute* '("vcflib/Makefile")
(("^GIT_VERSION.*") "GIT_VERSION = v1.0.0"))))
- (replace
- 'build
+ (replace 'build
(lambda* (#:key inputs make-flags #:allow-other-keys)
(and
- ;; We must compile Bamtools before we can compile the main
- ;; project.
+ ;; Compile Bamtools before compiling the main project.
(with-directory-excursion "bamtools"
(system* "mkdir" "build")
(with-directory-excursion "build"
(and (zero? (system* "cmake" "../"))
(zero? (system* "make")))))
- ;; We must compile vcflib before we can compile the main
- ;; project.
+ ;; Compile vcflib before we compiling the main project.
(with-directory-excursion "vcflib"
(with-directory-excursion "tabixpp"
(zero? (system* "make")))
(zero? (system* "make" "CC=gcc"
(string-append "CFLAGS=\"" "-Itabixpp "
"-I" (assoc-ref inputs "htslib") "/include " "\"") "all")))
-
(with-directory-excursion "src"
(zero? (system* "make"))))))
- (replace
- 'install
+ (replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(install-file "bin/freebayes" bin)
(install-file "bin/bamleftalign" bin))))
- ;; (replace
- ;; 'check
- ;; (lambda* (#:key outputs #:allow-other-keys)
- ;; (with-directory-excursion "test"
- ;; (zero? (system* "make" "test")))))
- )))
+ ;; There are three tests that fail. All because of the -P
+ ;; (--perl-regexp) option in grep, which is not compiled into the
+ ;; version of grep in Guix.
+ (replace 'check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (system* "make" "test"))))))
(home-page "https://github.com/ekg/freebayes")
- (synopsis "haplotype-based variant detector.")
+ (synopsis "Haplotype-based variant detector")
(description "FreeBayes is a Bayesian genetic variant detector designed to
find small polymorphisms, specifically SNPs (single-nucleotide polymorphisms),
indels (insertions and deletions), MNPs (multi-nucleotide polymorphisms), and