From 096a48cfaacefcefee2db5924a5fe97d4fda1125 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Thu, 25 Feb 2016 17:26:29 +0100
Subject: Added a WIP FreeBayes.
---
gn/packages/bioinformatics.scm | 158 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 158 insertions(+)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index bf39935..cf79a08 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -48,6 +48,164 @@
#:use-module (gn packages statistics)
#:use-module (srfi srfi-1))
+(define-public freebayes
+ (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb"))
+ (package
+ (name "freebayes")
+ (version (string-append "v1.0.2-" (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/freebayes.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32 "1sbzwmcbn78ybymjnhwk7qc5r912azy5vqz2y7y81616yc3ba2a2"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("cmake" ,cmake)
+ ("htslib" ,htslib)
+ ;;("openmpi" ,openmpi)
+ ("zlib" ,zlib)
+ ("python" ,python-2)
+ ("perl" ,perl)
+ ("bamtools-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/bamtools/archive/"
+ "e77a43f5097ea7eee432ee765049c6b246d49baa" ".tar.gz"))
+ (file-name "bamtools-src.tar.gz")
+ (sha256
+ (base32 "0rqymka21g6lfjfgxzr40pxz4c4fcl77jpy1np1li70pnc7h2cs1"))))
+ ("vcflib-src"
+ ,(origin
+ (method url-fetch)
+ (uri "https://github.com/vcflib/vcflib/archive/v1.0.0-rc1.tar.gz")
+ (file-name "vcflib-v1.0.0-rc1.tar.gz")
+ (sha256
+ (base32 "0313cxnf77i74mz4xwkpdablw2a1nn7si9g5ar3kr0ipm02afizx"))))
+ ;; These are submodules for the vcflib version used in freebayes
+ ("tabixpp-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/tabixpp/archive/"
+ "bbc63a49acc52212199f92e9e3b8fba0a593e3f7" ".tar.gz"))
+ (file-name "tabixpp-src.tar.gz")
+ (sha256
+ (base32 "1s06wmpgj4my4pik5kp2lc42hzzazbp5ism2y4i2ajp2y1c68g77"))))
+ ("intervaltree-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/ekg/intervaltree/archive/"
+ "dbb4c513d1ad3baac516fc1484c995daf9b42838" ".tar.gz"))
+ (file-name "intervaltree-src.tar.gz")
+ (sha256
+ (base32 "19prwpn2wxsrijp5svfqvfcxl5nj7zdhm3jycd5kqhl9nifpmcks"))))
+ ("smithwaterman-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/smithwaterman/archive/"
+ "203218b47d45ac56ef234716f1bd4c741b289be1" ".tar.gz"))
+ (file-name "smithwaterman-src.tar.gz")
+ (sha256
+ (base32 "1lkxy4xkjn96l70jdbsrlm687jhisgw4il0xr2dm33qwcclzzm3b"))))
+ ("multichoose-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/multichoose/archive/"
+ "73d35daa18bf35729b9ba758041a9247a72484a5" ".tar.gz"))
+ (file-name "multichoose-src.tar.gz")
+ (sha256
+ (base32 "07aizwdabmlnjaq4p3v0vsasgz1xzxid8xcxcw3paq8kh9c1099i"))))
+ ("fsom-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/fsom/archive/"
+ "a6ef318fbd347c53189384aef7f670c0e6ce89a3" ".tar.gz"))
+ (file-name "fsom-src.tar.gz")
+ (sha256
+ (base32 "0q6b57ppxfvsm5cqmmbfmjpn5qvx2zi5pamvp3yh8gpmmz8cfbl3"))))
+ ("filevercmp-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/filevercmp/archive/"
+ "1a9b779b93d0b244040274794d402106907b71b7" ".tar.gz"))
+ (file-name "filevercmp-src.tar.gz")
+ (sha256
+ (base32 "0yp5jswf5j2pqc6517x277s4s6h1ss99v57kxw9gy0jkfl3yh450"))))
+ ("fastahack-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/fastahack/archive/"
+ "c68cebb4f2e5d5d2b70cf08fbdf1944e9ab2c2dd" ".tar.gz"))
+ (file-name "fastahack-src.tar.gz")
+ (sha256
+ (base32 "0j25lcl3jk1kls66zzxjfyq5ir6sfcvqrdwfcva61y3ajc9ssay2"))))
+ ))
+ (arguments
+ `(#:tests? #f
+ #: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"))))))
+ (and
+ (unpack "bamtools-src" "bamtools")
+ (unpack "vcflib-src" "vcflib")
+ (unpack "intervaltree-src" "intervaltree")
+ (unpack "fastahack-src" "vcflib/fastahack")
+ (unpack "filevercmp-src" "vcflib/filevercmp")
+ (unpack "intervaltree-src" "vcflib/intervaltree")
+ (unpack "multichoose-src" "vcflib/multichoose")
+ (unpack "smithwaterman-src" "vcflib/smithwaterman")
+ (unpack "tabixpp-src" "vcflib/tabixpp")))))
+ (replace
+ 'build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (and
+ ;; We must compile Bamtools before we can compile 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.
+ (with-directory-excursion "vcflib"
+ (with-directory-excursion "tabixpp"
+ (zero? (system* "make")))
+ (zero? (system* "make" "CC=gcc" "-Itabixpp")))
+ (zero? (system* "make" "src/version_git.h"))
+ (zero? (system* "make" "vcflib/Makefile")))))
+ (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")))))
+ )))
+ (home-page "https://github.com/ekg/freebayes")
+ (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
+complex events (composite insertion and substitution events) smaller than the
+length of a short-read sequencing alignment.")
+ (license license:non-copyleft))))
+
(define-public r-wgcna
(package
(name "r-wgcna")
--
cgit v1.2.3
From 3d81b81500bca24e46bf83eb9750bdec19dd6862 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Mon, 29 Feb 2016 16:03:40 +0100
Subject: Reverted htslib for Sambamba to the repository's version.
---
gn/packages/bioinformatics.scm | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index cf79a08..3d27a72 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -495,11 +495,14 @@ and freshness without requiring additional information from the user.")
("htslib-src"
,(origin
(method url-fetch)
- (uri "https://github.com/samtools/htslib/archive/1.3.tar.gz")
- (file-name "htslib-1.3.tar.gz")
+ (uri (string-append "https://github.com/lomereiter/htslib/archive/"
+ "2f3c3ea7b301f9b45737a793c0b2dcf0240e5ee5" ".tar.gz"))
+ ;;(uri "https://github.com/samtools/htslib/archive/1.3.tar.gz")
+ (file-name "htslib-2f3c3ea7b.tar.gz")
(sha256
- (base32 "1bqkif7yrqmiqak5yb74kgpb2lsdlg7y344qa1xkdg7k1l4m86i9"))
- (patches (list (search-patch "htslib-add-cram_to_bam.patch")))))
+ (base32 "0bl6w856afnbgdsw8bybsxpqsyf2ba3f12rqh47hhpxvv866g08w"))))
+ ;;(base32 "1bqkif7yrqmiqak5yb74kgpb2lsdlg7y344qa1xkdg7k1l4m86i9"))
+ ;;(patches (list (search-patch "htslib-add-cram_to_bam.patch")))))
("biod-src"
,(origin
(method git-fetch)
--
cgit v1.2.3
From 8dba0e74b31d02cf42fee9b9d93d1a3070cc0b24 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Tue, 1 Mar 2016 13:27:23 +0100
Subject: Add freebayes.
---
gn/packages/bioinformatics.scm | 167 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 167 insertions(+)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index ea4bf91..ffa28ae 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -20,6 +20,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages cpio)
#:use-module (gnu packages file)
#:use-module (gnu packages gcc)
@@ -48,6 +49,172 @@
#:use-module (gn packages statistics)
#:use-module (srfi srfi-1))
+(define-public freebayes
+ (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb"))
+ (package
+ (name "freebayes")
+ (version (string-append "v1.0.2-" (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/freebayes.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32 "1sbzwmcbn78ybymjnhwk7qc5r912azy5vqz2y7y81616yc3ba2a2"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("cmake" ,cmake)
+ ("htslib" ,htslib)
+ ("zlib" ,zlib)
+ ("python" ,python-2)
+ ("perl" ,perl)
+ ("bamtools-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/bamtools/archive/"
+ "e77a43f5097ea7eee432ee765049c6b246d49baa" ".tar.gz"))
+ (file-name "bamtools-src.tar.gz")
+ (sha256
+ (base32 "0rqymka21g6lfjfgxzr40pxz4c4fcl77jpy1np1li70pnc7h2cs1"))))
+ ("vcflib-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/vcflib/vcflib/archive/"
+ "5ac091365fdc716cc47cc5410bb97ee5dc2a2c92" ".tar.gz"))
+ (file-name "vcflib-5ac0913.tar.gz")
+ (sha256
+ (base32 "0ywshwpif059z5h0g7zzrdfzzdj2gr8xvwlwcsdxrms3p9iy35h8"))))
+ ;; These are submodules for the vcflib version used in freebayes
+ ("tabixpp-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/tabixpp/archive/"
+ "bbc63a49acc52212199f92e9e3b8fba0a593e3f7" ".tar.gz"))
+ (file-name "tabixpp-src.tar.gz")
+ (sha256
+ (base32 "1s06wmpgj4my4pik5kp2lc42hzzazbp5ism2y4i2ajp2y1c68g77"))))
+ ("intervaltree-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/ekg/intervaltree/archive/"
+ "dbb4c513d1ad3baac516fc1484c995daf9b42838" ".tar.gz"))
+ (file-name "intervaltree-src.tar.gz")
+ (sha256
+ (base32 "19prwpn2wxsrijp5svfqvfcxl5nj7zdhm3jycd5kqhl9nifpmcks"))))
+ ("smithwaterman-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/smithwaterman/archive/"
+ "203218b47d45ac56ef234716f1bd4c741b289be1" ".tar.gz"))
+ (file-name "smithwaterman-src.tar.gz")
+ (sha256
+ (base32 "1lkxy4xkjn96l70jdbsrlm687jhisgw4il0xr2dm33qwcclzzm3b"))))
+ ("multichoose-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/multichoose/archive/"
+ "73d35daa18bf35729b9ba758041a9247a72484a5" ".tar.gz"))
+ (file-name "multichoose-src.tar.gz")
+ (sha256
+ (base32 "07aizwdabmlnjaq4p3v0vsasgz1xzxid8xcxcw3paq8kh9c1099i"))))
+ ("fsom-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/fsom/archive/"
+ "a6ef318fbd347c53189384aef7f670c0e6ce89a3" ".tar.gz"))
+ (file-name "fsom-src.tar.gz")
+ (sha256
+ (base32 "0q6b57ppxfvsm5cqmmbfmjpn5qvx2zi5pamvp3yh8gpmmz8cfbl3"))))
+ ("filevercmp-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/filevercmp/archive/"
+ "1a9b779b93d0b244040274794d402106907b71b7" ".tar.gz"))
+ (file-name "filevercmp-src.tar.gz")
+ (sha256
+ (base32 "0yp5jswf5j2pqc6517x277s4s6h1ss99v57kxw9gy0jkfl3yh450"))))
+ ("fastahack-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/fastahack/archive/"
+ "c68cebb4f2e5d5d2b70cf08fbdf1944e9ab2c2dd" ".tar.gz"))
+ (file-name "fastahack-src.tar.gz")
+ (sha256
+ (base32 "0j25lcl3jk1kls66zzxjfyq5ir6sfcvqrdwfcva61y3ajc9ssay2"))))
+ ))
+ (arguments
+ `(#:tests? #f
+ #: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"))))))
+ (and
+ (unpack "bamtools-src" "bamtools")
+ (unpack "vcflib-src" "vcflib")
+ (unpack "intervaltree-src" "intervaltree")
+ (unpack "fastahack-src" "vcflib/fastahack")
+ (unpack "filevercmp-src" "vcflib/filevercmp")
+ (unpack "fsom-src" "vcflib/fsom")
+ (unpack "intervaltree-src" "vcflib/intervaltree")
+ (unpack "multichoose-src" "vcflib/multichoose")
+ (unpack "smithwaterman-src" "vcflib/smithwaterman")
+ (unpack "tabixpp-src" "vcflib/tabixpp")))))
+ (add-after 'unpack-submodule-sources 'fix-makefile
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("vcflib/Makefile")
+ (("^GIT_VERSION.*") "GIT_VERSION = v1.0.0"))))
+ (replace
+ 'build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (and
+ ;; We must compile Bamtools before we can compile 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.
+ (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
+ (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")))))
+ )))
+ (home-page "https://github.com/ekg/freebayes")
+ (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
+complex events (composite insertion and substitution events) smaller than the
+length of a short-read sequencing alignment.")
+ (license license:non-copyleft))))
+
(define-public r-biocpreprocesscore
(package
(name "r-biocpreprocesscore")
--
cgit v1.2.3
From 66fc6e38aa7326b49fb79790ba885ab77205b742 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Tue, 1 Mar 2016 13:48:46 +0100
Subject: Changed Sambamba source.
---
gn/packages/bioinformatics.scm | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index ffa28ae..12a4bcb 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -470,19 +470,22 @@ association studies (GWAS).")
(license license:gpl3))))
(define-public sambamba
- (let ((commit "2ca5a2dbac5ab90c3b4c588519edc3edcb71df84"))
+ (let ((commit "c810c7ef14957f16288c205fd7b9d25c4ae7005d"))
+ ;;(let ((commit "2ca5a2dbac5ab90c3b4c588519edc3edcb71df84"))
(package
(name "sambamba")
(version (string-append "0.5.9-1." (string-take commit 7)))
(source (origin
(method git-fetch)
- (uri (git-reference
- (url "https://github.com/pjotrp/sambamba.git")
+ (uri (git-reference
+ (url "https://github.com/roelj/sambamba.git")
+ ;;(url "https://github.com/pjotrp/sambamba.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1f14wn9aaxwjkmla6pzq3s28741carbr2v0fd2v2mm1dcpwnrqz5"))))
+ "0c4c13f021sl7mf5xc2v8dbwsz775n8dlsrrn7qa6qgbx05n54dv"))))
+ ;;"1f14wn9aaxwjkmla6pzq3s28741carbr2v0fd2v2mm1dcpwnrqz5"))))
(build-system gnu-build-system)
(native-inputs
`(("ldc" ,ldc)
@@ -500,6 +503,7 @@ association studies (GWAS).")
"2f3c3ea7b301f9b45737a793c0b2dcf0240e5ee5" ".tar.gz"))
;;(uri "https://github.com/samtools/htslib/archive/1.3.tar.gz")
(file-name "htslib-2f3c3ea7b.tar.gz")
+ ;;(file-name "htslib-1.3.tar.gz")
(sha256
(base32 "0bl6w856afnbgdsw8bybsxpqsyf2ba3f12rqh47hhpxvv866g08w"))))
;;(base32 "1bqkif7yrqmiqak5yb74kgpb2lsdlg7y344qa1xkdg7k1l4m86i9"))
@@ -535,7 +539,7 @@ association studies (GWAS).")
'build
(lambda* (#:key inputs make-flags #:allow-other-keys)
(zero? (system* "make" "-f" "Makefile.guix"
- (string-append "LDC_LIB_PATH="
+ (string-append "LDC_LIB_PATH="
(assoc-ref inputs "ldc")
"/lib")))))
(replace
--
cgit v1.2.3
From f50227eebb02a8cd1592a2c4d1a2aa9dc7930ee8 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Tue, 1 Mar 2016 14:19:33 +0100
Subject: Use the original Makefile to statically compile lz4.
---
gn/packages/bioinformatics.scm | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index 12a4bcb..d37a287 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -489,20 +489,24 @@ association studies (GWAS).")
(build-system gnu-build-system)
(native-inputs
`(("ldc" ,ldc)
- ("lz4" ,lz4)
+ ;;("lz4" ,lz4)
("rdmd" ,rdmd)
("zlib" ,zlib)
- ("perl" ,perl) ; Needed for htslib tests?
- ("ruby" ,ruby) ; Needed for htslib tests?
- ("python" ,python) ; Needed for htslib tests?
+ ("perl" ,perl) ; Needed for htslib
+ ("ruby" ,ruby) ; Needed for htslib
+ ("python" ,python) ; Needed for htslib
("gcc" ,gcc)
+ ("lz4-src"
+ ,(origin
+ (method url-fetch)
+ (uri "https://github.com/Cyan4973/lz4/archive/160661c7a4cbf805f4af74d2e3932a17a66e6ce7.tar.gz")
+ (sha256
+ (base32 "131nnbsd5dh7c8sdqzc9kawh3mi0qi4qxznv7zhzfszlx4g2fd20"))))
("htslib-src"
,(origin
(method url-fetch)
- (uri (string-append "https://github.com/lomereiter/htslib/archive/"
- "2f3c3ea7b301f9b45737a793c0b2dcf0240e5ee5" ".tar.gz"))
+ (uri "https://github.com/lomereiter/htslib/archive/2f3c3ea7b301f9b45737a793c0b2dcf0240e5ee5.tar.gz")
;;(uri "https://github.com/samtools/htslib/archive/1.3.tar.gz")
- (file-name "htslib-2f3c3ea7b.tar.gz")
;;(file-name "htslib-1.3.tar.gz")
(sha256
(base32 "0bl6w856afnbgdsw8bybsxpqsyf2ba3f12rqh47hhpxvv866g08w"))))
@@ -532,13 +536,16 @@ association studies (GWAS).")
(and (with-directory-excursion "htslib"
(zero? (system* "tar" "xvf" (assoc-ref inputs "htslib-src")
"--strip-components=1")))
+ (with-directory-excursion "lz4"
+ (zero? (system* "tar" "xvf" (assoc-ref inputs "lz4-src")
+ "--strip-components=1")))
(zero? (system* "rm" "-r" "BioD"))
(zero? (system* "ln" "--symbolic" "--no-target-directory"
(assoc-ref inputs "biod-src") "BioD")))))
(replace
'build
(lambda* (#:key inputs make-flags #:allow-other-keys)
- (zero? (system* "make" "-f" "Makefile.guix"
+ (zero? (system* "make" "sambamba-ldmd2-64" "CC=gcc" "D_COMPILER=ldc2"
(string-append "LDC_LIB_PATH="
(assoc-ref inputs "ldc")
"/lib")))))
--
cgit v1.2.3
From 71d988288669830ffa4f3a286853b8fdcde08e9a Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Wed, 2 Mar 2016 12:24:09 +0100
Subject: Add FREEC.
---
gn/packages/bioinformatics.scm | 50 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index d37a287..267d988 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -49,6 +49,56 @@
#:use-module (gn packages statistics)
#:use-module (srfi srfi-1))
+(define-public freec
+ (package
+ (name "control-freec")
+ (version "8.7")
+ (source (origin
+ (method url-fetch)
+ (uri "http://bioinfo-out.curie.fr/projects/freec/src/FREEC_Linux64.tar.gz")
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "12sl7gxbklhvv0687qjhml1z4lwpcn159zcyxvawvclsrzqjmv0h"))))
+ (build-system gnu-build-system)
+ ;; The source code's filename indicates only a 64-bit Linux build.
+ ;; We need to investigate whether this is true.
+ (supported-systems '("x86_64-linux"))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; There's no configure phase because there are no external
+ ;; dependencies.
+ (delete 'configure)
+ ;; There are no tests.
+ (delete 'check)
+ (replace
+ 'unpack
+ (lambda* (#:key source #:allow-other-keys)
+ (and
+ (zero? (system* "mkdir" "source"))
+ (with-directory-excursion "source"
+ (zero? (system* "tar" "xvf" source))))))
+ (replace
+ 'build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "source"
+ (zero? (system* "make")))))
+ (replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "source/freec" bin)))))))
+ (home-page "http://bioinfo-out.curie.fr/projects/freec/")
+ (synopsis "Tool for detection of copy-number changes and allelic imbalances
+(including LOH) using deep-sequencing data")
+ (description "Control-FREEC automatically computes, normalizes, segments
+copy number and beta allele frequency (BAF) profiles, then calls copy number
+alterations and LOH. The control (matched normal) sample is optional for whole
+genome sequencing data but mandatory for whole exome or targeted sequencing
+data. For whole genome sequencing data analysis, the program can also use
+mappability data (files created by GEM). ")
+ (license license:gpl2+)))
+
(define-public freebayes
(let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb"))
(package
--
cgit v1.2.3
From fc79d528e10995f4e705d2f2863c14f706a2d509 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Wed, 2 Mar 2016 15:11:55 +0100
Subject: Add vcflib.
---
gn/packages/bioinformatics.scm | 128 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 128 insertions(+)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index 267d988..d826027 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -664,3 +664,131 @@ supported.")
(description
"FastQC aims to provide a QC report which can spot problems which originate either in the sequencer or in the starting library material. It can either run as a stand alone interactive application for the immediate analysis of small numbers of FastQ files, or it can be run in a non-interactive mode where it would be suitable for integrating into a larger analysis pipeline for the systematic processing of large numbers of files.")
(license license:gpl3+)))
+
+(define-public vcflib
+ (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb"))
+ (package
+ (name "vcflib")
+ (version (string-append "v1.0.2-" (string-take commit 7)))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/vcflib/vcflib/archive/"
+ "5ac091365fdc716cc47cc5410bb97ee5dc2a2c92" ".tar.gz"))
+ (file-name "vcflib-5ac0913.tar.gz")
+ (sha256
+ (base32 "0ywshwpif059z5h0g7zzrdfzzdj2gr8xvwlwcsdxrms3p9iy35h8"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("htslib" ,htslib)
+ ("zlib" ,zlib)
+ ("python" ,python-2)
+ ("perl" ,perl)
+ ("tabixpp-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/tabixpp/archive/"
+ "bbc63a49acc52212199f92e9e3b8fba0a593e3f7" ".tar.gz"))
+ (file-name "tabixpp-src.tar.gz")
+ (sha256
+ (base32 "1s06wmpgj4my4pik5kp2lc42hzzazbp5ism2y4i2ajp2y1c68g77"))))
+ ("intervaltree-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/ekg/intervaltree/archive/"
+ "dbb4c513d1ad3baac516fc1484c995daf9b42838" ".tar.gz"))
+ (file-name "intervaltree-src.tar.gz")
+ (sha256
+ (base32 "19prwpn2wxsrijp5svfqvfcxl5nj7zdhm3jycd5kqhl9nifpmcks"))))
+ ("smithwaterman-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/smithwaterman/archive/"
+ "203218b47d45ac56ef234716f1bd4c741b289be1" ".tar.gz"))
+ (file-name "smithwaterman-src.tar.gz")
+ (sha256
+ (base32 "1lkxy4xkjn96l70jdbsrlm687jhisgw4il0xr2dm33qwcclzzm3b"))))
+ ("multichoose-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/multichoose/archive/"
+ "73d35daa18bf35729b9ba758041a9247a72484a5" ".tar.gz"))
+ (file-name "multichoose-src.tar.gz")
+ (sha256
+ (base32 "07aizwdabmlnjaq4p3v0vsasgz1xzxid8xcxcw3paq8kh9c1099i"))))
+ ("fsom-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/fsom/archive/"
+ "a6ef318fbd347c53189384aef7f670c0e6ce89a3" ".tar.gz"))
+ (file-name "fsom-src.tar.gz")
+ (sha256
+ (base32 "0q6b57ppxfvsm5cqmmbfmjpn5qvx2zi5pamvp3yh8gpmmz8cfbl3"))))
+ ("filevercmp-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/filevercmp/archive/"
+ "1a9b779b93d0b244040274794d402106907b71b7" ".tar.gz"))
+ (file-name "filevercmp-src.tar.gz")
+ (sha256
+ (base32 "0yp5jswf5j2pqc6517x277s4s6h1ss99v57kxw9gy0jkfl3yh450"))))
+ ("fastahack-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/fastahack/archive/"
+ "c68cebb4f2e5d5d2b70cf08fbdf1944e9ab2c2dd" ".tar.gz"))
+ (file-name "fastahack-src.tar.gz")
+ (sha256
+ (base32 "0j25lcl3jk1kls66zzxjfyq5ir6sfcvqrdwfcva61y3ajc9ssay2"))))))
+ (arguments
+ `(#:tests? #f
+ #: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"))))))
+ (and
+ (unpack "intervaltree-src" "intervaltree")
+ (unpack "fastahack-src" "fastahack")
+ (unpack "filevercmp-src" "filevercmp")
+ (unpack "fsom-src" "fsom")
+ (unpack "intervaltree-src" "intervaltree")
+ (unpack "multichoose-src" "multichoose")
+ (unpack "smithwaterman-src" "smithwaterman")
+ (unpack "tabixpp-src" "tabixpp")))))
+ (add-after 'unpack-submodule-sources 'fix-makefile
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("Makefile")
+ (("^GIT_VERSION.*") "GIT_VERSION = v1.0.0"))))
+ (replace
+ 'build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (with-directory-excursion "tabixpp"
+ (zero? (system* "make")))
+ (zero? (system* "make" "CC=gcc"
+ (string-append "CFLAGS=\"" "-Itabixpp "
+ "-I" (assoc-ref inputs "htslib") "/include " "\"") "all"))))
+ (replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin"))
+ (lib (string-append (assoc-ref outputs "out") "/lib")))
+ (for-each (lambda (file)
+ (install-file file bin))
+ (find-files "bin" ".*"))
+ (install-file "libvcflib.a" lib)))))))
+ (home-page "https://github.com/ekg/freebayes")
+ (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
+complex events (composite insertion and substitution events) smaller than the
+length of a short-read sequencing alignment.")
+ (license license:expat))))
--
cgit v1.2.3
From e6c2e0459a71e6c0fc108bf34bee94c1b59c983b Mon Sep 17 00:00:00 2001
From: pjotrp
Date: Thu, 3 Mar 2016 14:04:12 +0000
Subject: Added genenetwork2-files-small
---
gn/packages/genenetwork.scm | 46 +++++++++++++++++++++++++++++++++++++++++----
1 file changed, 42 insertions(+), 4 deletions(-)
diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm
index aec305b..54c9fce 100644
--- a/gn/packages/genenetwork.scm
+++ b/gn/packages/genenetwork.scm
@@ -87,7 +87,6 @@
(description #f)
(license #f)))
-
(define-public genenetwork1
(let ((commit "d622c803b"))
(package
@@ -141,7 +140,7 @@
(license license:agpl3+))))
(define-public genenetwork2
- (let ((commit "8c9de7e5a2016f1e5b7397be1a8e84396e3a25c5"))
+ (let ((commit "3d55e84c81ae6c10765c79b6dfa18ccf30e98b53"))
(package
(name "genenetwork2")
(version (string-append "2.0-" (string-take commit 7) ))
@@ -149,12 +148,12 @@
(method git-fetch)
(uri (git-reference
;; (url "https://github.com/genenetwork/genenetwork2.git")
- (url "https://github.com/pjotrp/genenetwork2.git")
+ (url "https://github.com/genenetwork/genenetwork2_diet.git")
(commit commit)))
(file-name (string-append name "-" (string-take commit 7)))
(sha256
(base32
- "1kgigzs4rs6zgbqbnm40rcljzz9prlwv7n2n9an57jk58bjgf6v8"))))
+ "0pmf96hsmxpiczkh4c2zpq5zz6byklhw4vjrazn9qvrgh78aqyab"))))
(propagated-inputs `( ;; propagated for development purposes
("python" ,python-2) ;; probably superfluous
("r" ,r)
@@ -204,6 +203,45 @@
;; ./pre-inst-env guix download http://files.genenetwork.org/raw_database/db_webqtl_s.zip
;; 0sscjh0wml2lx0mb43vf4chg9gpbfi7abpjxb34n3kyny9ll557x
+(define-public genenetwork2-files-small
+ (let ((pfff "xx"))
+ (package
+ (name "genenetwork2-files-small")
+ (version "1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "http://files.genenetwork.org/data_files/gn2_data_s-20160303-C9E672ECED1F51B915DE419B5B2C524E.tar.lz4")
+ (file-name (string-append name "-" pfff))
+ (sha256
+ (base32 "058ymx3af6abdhdxyxj0i9qfvb6v7j091frjpp6jh4ahks7r23lj"))))
+ (build-system trivial-build-system)
+ (native-inputs `(("lz4" ,lz4)
+ ("tar" ,tar)
+ ("source" ,source)))
+
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (let* ((out (assoc-ref %outputs "out"))
+ ;; (targetdir (string-append out "/gn2_data_s"))
+ )
+ (begin
+ (use-modules (guix build utils))
+ (let ((source (assoc-ref %build-inputs "source"))
+ (lz4unpack (string-append (assoc-ref %build-inputs "lz4") "/bin/lz4"))
+ (tar (string-append (assoc-ref %build-inputs "tar") "/bin/tar"))
+ )
+ (and ;; (mkdir targetdir)
+ (zero? (system* lz4unpack source "-d" "xx.tar"))
+ (zero? (system* tar "xf" "xx.tar"))
+ (copy-recursively "gn2_data_s" (string-append out "/gn2_data_s"))
+ ))))))
+ (home-page "http://genenetwork.org/")
+ (synopsis "Small file archive to run on genenetwork")
+ (description "Genenetwork genotype and mapping files.")
+ (license license:agpl3+))))
+
(define-public genenetwork2-database-small
(let ((md5 "93e745e9c"))
(package
--
cgit v1.2.3
From b79a29c4e756450c6e34a9464a2c321c992b50a6 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Thu, 3 Mar 2016 16:48:57 +0100
Subject: License fix for Freebayes.
---
gn/packages/bioinformatics.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index d826027..2ef6f2c 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -263,7 +263,7 @@ find small polymorphisms, specifically SNPs (single-nucleotide polymorphisms),
indels (insertions and deletions), MNPs (multi-nucleotide polymorphisms), and
complex events (composite insertion and substitution events) smaller than the
length of a short-read sequencing alignment.")
- (license license:non-copyleft))))
+ (license license:expat))))
(define-public r-biocpreprocesscore
(package
--
cgit v1.2.3
From fe3e5fe9d0924e5d1f9945f57420f342e1e312a5 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Thu, 3 Mar 2016 21:54:02 +0100
Subject: Fix for home-page, synopsis and description of vcflib.
---
gn/packages/bioinformatics.scm | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index 2ef6f2c..295a2b3 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -784,11 +784,12 @@ supported.")
(install-file file bin))
(find-files "bin" ".*"))
(install-file "libvcflib.a" lib)))))))
- (home-page "https://github.com/ekg/freebayes")
- (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
-complex events (composite insertion and substitution events) smaller than the
-length of a short-read sequencing alignment.")
+ (home-page "https://github.com/vcflib/vcflib/")
+ (synopsis "Library for parsing and manipulating VCF files")
+ (description "Vcflib provides methods to manipulate and interpret
+sequence variation as it can be described by VCF. It is both an API for parsing
+and operating on records of genomic variation as it can be described by the VCF
+format, and a collection of command-line utilities for executing complex
+manipulations on VCF files.")
(license license:expat))))
+
--
cgit v1.2.3
From 6332603b4492b36a79d0744289a50f7081a52a24 Mon Sep 17 00:00:00 2001
From: pjotrp
Date: Fri, 4 Mar 2016 11:07:37 +0000
Subject: GN2 is now a self contained package (except for the database)
---
gn/packages/genenetwork.scm | 25 ++++++++++++++++++-------
1 file changed, 18 insertions(+), 7 deletions(-)
diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm
index 54c9fce..fdcbb7f 100644
--- a/gn/packages/genenetwork.scm
+++ b/gn/packages/genenetwork.scm
@@ -140,7 +140,7 @@
(license license:agpl3+))))
(define-public genenetwork2
- (let ((commit "3d55e84c81ae6c10765c79b6dfa18ccf30e98b53"))
+ (let ((commit "a8fcff44d3bd768d02e7ed0c80b84d2516bdad2a"))
(package
(name "genenetwork2")
(version (string-append "2.0-" (string-take commit 7) ))
@@ -153,7 +153,7 @@
(file-name (string-append name "-" (string-take commit 7)))
(sha256
(base32
- "0pmf96hsmxpiczkh4c2zpq5zz6byklhw4vjrazn9qvrgh78aqyab"))))
+ "1zs6jgrpwzxmfjz03whnaw8q6h8f53mycl440p058gfn8x7pd618"))))
(propagated-inputs `( ;; propagated for development purposes
("python" ,python-2) ;; probably superfluous
("r" ,r)
@@ -161,6 +161,7 @@
("redis" ,redis)
("mysql" ,mysql)
("gemma" ,gemma-git)
+ ("genenetwork2-files-small" ,genenetwork2-files-small)
("pylmm-gn2" ,pylmm-gn2)
("plink2" ,plink-ng)
("nginx" ,nginx)
@@ -194,6 +195,13 @@
(build-system python-build-system)
(arguments
`(#:python ,python-2
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((datafiles (string-append (assoc-ref inputs "genenetwork2-files-small") "/share/genenetwork2" )))
+ (substitute* '("etc/default_settings.py")
+ (("^GENENETWORK_FILES =.*") (string-append "GENENETWORK_FILES = \"" datafiles "\"\n" )))))))
#:tests? #f)) ; no 'setup.py test'
(home-page "http://genenetwork.org/")
(synopsis "Full genenetwork services")
@@ -224,7 +232,9 @@
`(#:modules ((guix build utils))
#:builder
(let* ((out (assoc-ref %outputs "out"))
- ;; (targetdir (string-append out "/gn2_data_s"))
+ (name "gn2_data_s")
+ (tarfn (string-append name ".tar"))
+ (targetdir (string-append out "/share/genenetwork2/"))
)
(begin
(use-modules (guix build utils))
@@ -232,10 +242,11 @@
(lz4unpack (string-append (assoc-ref %build-inputs "lz4") "/bin/lz4"))
(tar (string-append (assoc-ref %build-inputs "tar") "/bin/tar"))
)
- (and ;; (mkdir targetdir)
- (zero? (system* lz4unpack source "-d" "xx.tar"))
- (zero? (system* tar "xf" "xx.tar"))
- (copy-recursively "gn2_data_s" (string-append out "/gn2_data_s"))
+ (and
+ (zero? (system* lz4unpack source "-d" tarfn))
+ (zero? (system* tar "xf" tarfn))
+ (mkdir-p targetdir)
+ (copy-recursively name targetdir)
))))))
(home-page "http://genenetwork.org/")
(synopsis "Small file archive to run on genenetwork")
--
cgit v1.2.3
From 570d7b6118739bb76b6d32881e9ef45e50a9e3ae Mon Sep 17 00:00:00 2001
From: pjotrp
Date: Fri, 4 Mar 2016 13:29:23 +0000
Subject: python-mysqlclient: propagate the shared lib
---
gn/packages/python.scm | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/gn/packages/python.scm b/gn/packages/python.scm
index 7781521..6fff9a3 100644
--- a/gn/packages/python.scm
+++ b/gn/packages/python.scm
@@ -279,16 +279,14 @@ powerful language for representing information.")
(base32
"06qzgwk7j66k8ggx51i6wxx0f0zsppp7w4bh6gjd0cr9rfs86jn7"))))
(build-system python-build-system)
- (inputs
+ (propagated-inputs
`(
("mysql" ,mysql)
("python-nose" ,python-nose)
("zlib" ,zlib)
("openssl" ,openssl)
("libgcrypt" ,libgcrypt)
- ))
- (propagated-inputs
- `(("python-setuptools" ,python-setuptools)
+ ("python-setuptools" ,python-setuptools)
))
(arguments
`(#:tests? #f)) ; wants a running MySQL server
--
cgit v1.2.3
From a4a9f2eec7a770a52bbeda64169ba9e3b1ff2583 Mon Sep 17 00:00:00 2001
From: pjotrp
Date: Sat, 5 Mar 2016 16:07:32 +0000
Subject: Guix paths to the tools
---
gn/packages/bioinformatics.scm | 2 +-
gn/packages/genenetwork.scm | 20 +++++++++++++++++---
gn/packages/python.scm | 2 ++
3 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index 295a2b3..c04c928 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -305,8 +305,8 @@ length of a short-read sequencing alignment.")
(propagated-inputs
`( ;; ("r-annotationdbi" ,r-annotationdbi)
; ("r-biocparallel" ,r-biocparallel)
- ("r-dynamictreecut" ,r-dynamictreecut)
("r-doparallel" ,r-doparallel)
+ ("r-dynamictreecut" ,r-dynamictreecut)
("r-fastcluster" ,r-fastcluster)
("r-foreach" ,r-foreach)
("r-go-db" ,r-go-db)
diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm
index fdcbb7f..c952792 100644
--- a/gn/packages/genenetwork.scm
+++ b/gn/packages/genenetwork.scm
@@ -154,10 +154,14 @@
(sha256
(base32
"1zs6jgrpwzxmfjz03whnaw8q6h8f53mycl440p058gfn8x7pd618"))))
+ (inputs `(
+ ("r-wgcna" ,r-wgcna)
+ ("r-qtl" ,r-qtl)))
(propagated-inputs `( ;; propagated for development purposes
("python" ,python-2) ;; probably superfluous
("r" ,r)
("r-wgcna" ,r-wgcna)
+ ("r-qtl" ,r-qtl)
("redis" ,redis)
("mysql" ,mysql)
("gemma" ,gemma-git)
@@ -190,7 +194,6 @@
;; python-yolk is not needed
("plink" ,plink)
("qtlreaper" ,qtlreaper)
- ("r-qtl" ,r-qtl)
))
(build-system python-build-system)
(arguments
@@ -199,9 +202,20 @@
(modify-phases %standard-phases
(add-before 'install 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
- (let* ((datafiles (string-append (assoc-ref inputs "genenetwork2-files-small") "/share/genenetwork2" )))
+ (let* (
+ (datafiles (string-append (assoc-ref inputs "genenetwork2-files-small") "/share/genenetwork2" ))
+ (pylmmcmd (string-append (assoc-ref inputs "pylmm-gn2") "/bin/pylmm_redis"))
+ (plink2cmd (string-append (assoc-ref inputs "plink2") "/bin/plink2"))
+ (gemmacmd (string-append (assoc-ref inputs "gemma") "/bin/gemma"))
+ )
+
(substitute* '("etc/default_settings.py")
- (("^GENENETWORK_FILES =.*") (string-append "GENENETWORK_FILES = \"" datafiles "\"\n" )))))))
+ (("^GENENETWORK_FILES =.*") (string-append "GENENETWORK_FILES = \"" datafiles "\"\n" ))
+ (("^PYLMM_COMMAND =.*") (string-append "PYLMM_COMMAND = \"" pylmmcmd "\"\n" ))
+ (("^PLINK_COMMAND =.*") (string-append "PLINK_COMMAND = \"" plink2cmd "\"\n" ))
+ (("^GEMMA_COMMAND =.*") (string-append "GEMMA_COMMAND = \"" gemmacmd "\"\n" ))
+ )
+ ))))
#:tests? #f)) ; no 'setup.py test'
(home-page "http://genenetwork.org/")
(synopsis "Full genenetwork services")
diff --git a/gn/packages/python.scm b/gn/packages/python.scm
index 6fff9a3..8157c0b 100644
--- a/gn/packages/python.scm
+++ b/gn/packages/python.scm
@@ -432,6 +432,8 @@ version ".tgz"))
(build-system python-build-system)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)))
+ (propagated-inputs
+ `(("python2-pil" ,python2-pil)))
(arguments
`(
#:python ,python-2
--
cgit v1.2.3
From 2f4d42ad812517b931bc71e979824b09f6c6004a Mon Sep 17 00:00:00 2001
From: pjotrp
Date: Mon, 7 Mar 2016 11:25:53 +0000
Subject: python2-pil was missing from gn2
---
gn/packages/genenetwork.scm | 1 +
1 file changed, 1 insertion(+)
diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm
index c952792..3d62d55 100644
--- a/gn/packages/genenetwork.scm
+++ b/gn/packages/genenetwork.scm
@@ -185,6 +185,7 @@
("python2-passlib" ,python2-passlib)
("python2-piddle-gn" ,python2-piddle-gn)
("python2-redis" ,python2-redis)
+ ("python2-pil" ,python2-pil)
("python2-requests" ,python2-requests)
("python2-rpy2" ,python2-rpy2)
("python2-scipy" ,python2-scipy)
--
cgit v1.2.3
From fa66cadafcdf3787864943910abf3f9348768aa3 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Wed, 9 Mar 2016 13:35:32 +0100
Subject: Added submodules to run tests, and provided an override to run the
tests.
---
gn/packages/bioinformatics.scm | 75 +++++++++++++++++++++++++++---------------
1 file 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
--
cgit v1.2.3
From d0a8f6e732ab4c0b1a93c3741f246c0ce812ef95 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Wed, 9 Mar 2016 16:11:58 +0100
Subject: Added pindel without test suite.
---
gn/packages/bioinformatics.scm | 46 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index 49e54ee..5bf7843 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -814,3 +814,49 @@ format, and a collection of command-line utilities for executing complex
manipulations on VCF files.")
(license license:expat))))
+(define-public pindel
+ (package
+ (name "pindel")
+ (version "0.2.5b8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/genome/pindel/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "06bsf0psxwf7h5p3j97xkh9k5qrwhxh6xn942y1j1m2inyhgs8bz"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("samtools" ,samtools)
+ ("htslib" ,htslib)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("cppcheck" ,cppcheck)
+ ("python" ,python-2)
+ ("perl" ,perl)))
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ (replace 'build
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; The first run creates a Makefile.local file.
+ (system* "make" (string-append "SAMTOOLS=" (assoc-ref inputs "samtools")))
+ ;; The second run actually compiles the program.
+ (zero? (system* "make"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "src/pindel" bin)
+ (install-file "src/pindel2vcf" bin)
+ (install-file "src/pindel2vcf4tcga" bin)
+ (install-file "src/sam2pindel" bin)))))))
+ (home-page "https://github.com/genome/pindel")
+ (synopsis "Structural variants detector for next-gen sequencing data")
+ (description "Pindel can detect breakpoints of large deletions, medium sized
+insertions, inversions, tandem duplications and other structural variants at
+single-based resolution from next-gen sequence data. It uses a pattern growth
+approach to identify the breakpoints of these variants from paired-end short
+reads.")
+ (license license:gpl3+)))
--
cgit v1.2.3
From f6832be1fe9138418bdd2858dbb2fc305cbcb25e Mon Sep 17 00:00:00 2001
From: Pjotr Prins
Date: Wed, 9 Mar 2016 11:34:55 -0500
Subject: Small fixed
---
gn/packages/bioinformatics.scm | 1 +
gn/packages/python.scm | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index 5bf7843..e6aa90f 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -22,6 +22,7 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages cmake)
#:use-module (gnu packages cpio)
+ #:use-module (gnu packages cppcheck)
#:use-module (gnu packages file)
#:use-module (gnu packages gcc)
#:use-module (gnu packages graphviz)
diff --git a/gn/packages/python.scm b/gn/packages/python.scm
index 8157c0b..47b2c23 100644
--- a/gn/packages/python.scm
+++ b/gn/packages/python.scm
@@ -355,7 +355,7 @@ project)")
(description #f)
(license #f)))
-(define-public python2-pil-1.1.6
+(define-public python2-pil
(package
(name "python2-pil")
(version "1.1.6")
--
cgit v1.2.3
From 1b16196348f91b6b7655550766a79418428977c1 Mon Sep 17 00:00:00 2001
From: Pjotr Prins
Date: Wed, 9 Mar 2016 11:42:16 -0500
Subject: fix
---
gn/packages/genenetwork.scm | 3 ---
1 file changed, 3 deletions(-)
diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm
index 3d62d55..1b46117 100644
--- a/gn/packages/genenetwork.scm
+++ b/gn/packages/genenetwork.scm
@@ -154,9 +154,6 @@
(sha256
(base32
"1zs6jgrpwzxmfjz03whnaw8q6h8f53mycl440p058gfn8x7pd618"))))
- (inputs `(
- ("r-wgcna" ,r-wgcna)
- ("r-qtl" ,r-qtl)))
(propagated-inputs `( ;; propagated for development purposes
("python" ,python-2) ;; probably superfluous
("r" ,r)
--
cgit v1.2.3
From a9ae940435ffa67b04598a215280c42dd185e964 Mon Sep 17 00:00:00 2001
From: pjotrp
Date: Wed, 9 Mar 2016 17:59:12 +0100
Subject: spaces
---
gn/packages/genenetwork.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm
index 1b46117..1382cfb 100644
--- a/gn/packages/genenetwork.scm
+++ b/gn/packages/genenetwork.scm
@@ -150,7 +150,7 @@
;; (url "https://github.com/genenetwork/genenetwork2.git")
(url "https://github.com/genenetwork/genenetwork2_diet.git")
(commit commit)))
- (file-name (string-append name "-" (string-take commit 7)))
+ (file-name (string-append name "-" (string-take commit 7)))
(sha256
(base32
"1zs6jgrpwzxmfjz03whnaw8q6h8f53mycl440p058gfn8x7pd618"))))
--
cgit v1.2.3
From 99e4f33740622b50182822b4ef253f017620af44 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Thu, 10 Mar 2016 17:20:53 +0100
Subject: Add multiple packages.
- tabixpp
- smithwaterman
- multichoose
- fsom
- filevercmp
- fastahack
- bash-tap
- vcflib
---
gn/packages/bioinformatics.scm | 460 ++++++++++++++++++++++++++++++++++-------
1 file changed, 382 insertions(+), 78 deletions(-)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index 5bf7843..40dde37 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -14,15 +14,22 @@
#:use-module (guix build-system r)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages algebra)
#:use-module (gnu packages base)
#:use-module (gnu packages bioinformatics)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
+ #:use-module (gnu packages check)
#:use-module (gnu packages cmake)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages cpio)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages doxygen)
+ #:use-module (gnu packages datastructures)
#:use-module (gnu packages file)
+ #:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages java)
@@ -30,7 +37,11 @@
#:use-module (gnu packages ldc)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages node)
+ #:use-module (gnu packages parallel)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
@@ -40,13 +51,13 @@
#:use-module (gnu packages statistics)
#:use-module (gnu packages tbb)
#:use-module (gnu packages textutils)
+ #:use-module (gnu packages time)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages vim)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages zip)
#:use-module (gnu packages bootstrap)
- #:use-module (gn packages python)
- #:use-module (gn packages statistics)
#:use-module (srfi srfi-1))
(define-public freec
@@ -99,6 +110,350 @@ data. For whole genome sequencing data analysis, the program can also use
mappability data (files created by GEM). ")
(license license:gpl2+)))
+(define-public tabixpp
+ (package
+ (name "tabixpp")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/tabixpp/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1s0lgks7qlvlhvcjhi2wm18nnza1bwcnic44ij7z8wfg88h4ivwn"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("htslib" ,htslib)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:tests? #f ; There are no tests to run.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ ;; The build phase needs overriding the location of htslib.
+ (replace 'build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((htslib-ref (assoc-ref inputs "htslib")))
+ (zero?
+ (system* "make"
+ (string-append "HTS_LIB=" htslib-ref "/lib/libhts.a")
+ "HTS_HEADERS=" ; No need to check for headers here.
+ (string-append "LIBPATH=-L. -L" htslib-ref "/include"))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "tabix++" bin)))))))
+ (home-page "https://github.com/ekg/tabixpp")
+ (synopsis "C++ wrapper around tabix project")
+ (description "This is a C++ wrapper around the Tabix project which abstracts
+some of the details of opening and jumping in tabix-indexed files.")
+ (license license:expat)))
+
+;; This version works with FreeBayes while the released version doesn't. The
+;; released creates a variable with the name "vcf" somewhere, which is also the
+;; name of a namespace in vcflib.
+(define-public tabixpp-freebayes
+ (let ((commit "bbc63a49acc52212199f92e9e3b8fba0a593e3f7"))
+ (package (inherit tabixpp)
+ (name "tabixpp-freebayes")
+ (version (string-append "0-1." (string-take commit 7)))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/tabixpp/archive/"
+ commit ".tar.gz"))
+ (file-name (string-append name "-" version "-checkout.tar.gz"))
+ (sha256
+ (base32 "1s06wmpgj4my4pik5kp2lc42hzzazbp5ism2y4i2ajp2y1c68g77")))))))
+
+(define-public smithwaterman
+ ;; TODO: Upgrading smithwaterman breaks FreeBayes.
+ (let ((commit "203218b47d45ac56ef234716f1bd4c741b289be1"))
+ (package
+ (name "smithwaterman")
+ (version (string-append "0-1." (string-take commit 7)))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/smithwaterman/archive/"
+ commit ".tar.gz"))
+ (file-name (string-append name "-" version "-checkout.tar.gz"))
+ (sha256
+ (base32 "1lkxy4xkjn96l70jdbsrlm687jhisgw4il0xr2dm33qwcclzzm3b"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; There are no tests to run.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "smithwaterman" bin)))))))
+ (home-page "https://github.com/ekg/smithwaterman")
+ (synopsis "Implementation of the Smith-Waterman algorithm")
+ (description "Implementation of the Smith-Waterman algorithm.")
+ ;; The project contains a license file for the GPLv2. The source files
+ ;; do not contain a license notice, so GPLv2-only is assumed here.
+ (license license:gpl2))))
+
+(define-public multichoose
+ (package
+ (name "multichoose")
+ (version "1.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/multichoose/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0xy86vvr3qrs4l81qis7ia1q2hnqv0xcb4a1n60smxbhqqis5w3l"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("python" ,python-2)
+ ("node" ,node)))
+ (arguments
+ `(#:tests? #f ; There are no tests to run.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ ;; TODO: There are Python modules for these programs too.
+ (install-file "multichoose" bin)
+ (install-file "multipermute" bin)))))))
+ (home-page "https://github.com/ekg/multichoose")
+ (synopsis "Library for efficient loopless multiset combination generation
+algorithm")
+ (description "A library implements an efficient loopless multiset
+combination generation algorithm which is (approximately) described in
+\"Loopless algorithms for generating permutations, combinations, and other
+combinatorial configurations.\" G Ehrlich - Journal of the ACM (JACM),
+1973. (Algorithm 7.)")
+ (license license:expat)))
+
+(define-public fsom
+ (let ((commit "a6ef318fbd347c53189384aef7f670c0e6ce89a3"))
+ (package
+ (name "fsom")
+ (version (string-append "0-1." (string-take commit 7)))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/fsom/archive/"
+ "a6ef318fbd347c53189384aef7f670c0e6ce89a3" ".tar.gz"))
+ (file-name (string-append name "-" version "-checkout.tar.gz"))
+ (sha256
+ (base32 "0q6b57ppxfvsm5cqmmbfmjpn5qvx2zi5pamvp3yh8gpmmz8cfbl3"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; There are no tests to run.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "fsom" bin)))))))
+ (home-page "https://github.com/ekg/fsom")
+ (synopsis "Program for managing SOM (Self-Organizing Maps) neural networks")
+ (description "Program for managing SOM (Self-Organizing Maps) neural networks.")
+ (license license:gpl3))))
+
+(define-public filevercmp
+ (let ((commit "1a9b779b93d0b244040274794d402106907b71b7"))
+ (package
+ (name "filevercmp")
+ (version (string-append "0-1." (string-take commit 7)))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/filevercmp/archive/"
+ commit ".tar.gz"))
+ (file-name "filevercmp-src.tar.gz")
+ (sha256
+ (base32 "0yp5jswf5j2pqc6517x277s4s6h1ss99v57kxw9gy0jkfl3yh450"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; There are no tests to run.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "filevercmp" bin)))))))
+ (home-page "https://github.com/ekg/filevercmp")
+ (synopsis "Program to compare version strings")
+ (description "A program to compare version strings. It intends to be a
+replacement for strverscmp.")
+ (license license:gpl3+))))
+
+(define-public fastahack
+ (let ((commit "c68cebb4f2e5d5d2b70cf08fbdf1944e9ab2c2dd"))
+ (package
+ (name "fastahack")
+ (version (string-append "0-1." (string-take commit 7)))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/fastahack/archive/"
+ commit ".tar.gz"))
+ (file-name (string-append name "-" version "-checkout.tar.gz"))
+ (sha256
+ (base32 "0j25lcl3jk1kls66zzxjfyq5ir6sfcvqrdwfcva61y3ajc9ssay2"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; There are no tests to run.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "fastahack" bin)))))))
+ (home-page "https://github.com/ekg/fastahack")
+ (synopsis "Program for indexing and sequence extraction from FASTA files")
+ (description "Fastahack is a small application for indexing and extracting
+sequences and subsequences from FASTA files. The included Fasta.cpp library
+provides a FASTA reader and indexer that can be embeddedinto applications which
+would benefit from directly reading subsequences from FASTA files. The library
+automatically handles index file generation and use.")
+ ;; There is no specific license for fastahack.
+ ;; A part of the program is licensed GPLv2.
+ (license (list license:non-copyleft license:gpl2)))))
+
+(define-public vcflib
+ (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb"))
+ (package
+ (name "vcflib")
+ (version (string-append "1.0.2-1." (string-take commit 7)))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/vcflib/vcflib/archive/"
+ "5ac091365fdc716cc47cc5410bb97ee5dc2a2c92" ".tar.gz"))
+ (file-name "vcflib-5ac0913.tar.gz")
+ (sha256
+ (base32 "0ywshwpif059z5h0g7zzrdfzzdj2gr8xvwlwcsdxrms3p9iy35h8"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("htslib" ,htslib)
+ ("zlib" ,zlib)
+ ("python" ,python-2)
+ ("perl" ,perl)
+ ("r" ,r)
+ ("node" ,node)
+ ("tabixpp-src" ,(package-source tabixpp-freebayes))
+ ("smithwaterman-src" ,(package-source smithwaterman))
+ ("multichoose-src" ,(package-source multichoose))
+ ("fsom-src" ,(package-source fsom))
+ ("filevercmp-src" ,(package-source filevercmp))
+ ("fastahack-src" ,(package-source fastahack))
+ ("intervaltree-src"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/ekg/intervaltree/archive/"
+ "dbb4c513d1ad3baac516fc1484c995daf9b42838" ".tar.gz"))
+ (file-name "intervaltree-src.tar.gz")
+ (sha256
+ (base32 "19prwpn2wxsrijp5svfqvfcxl5nj7zdhm3jycd5kqhl9nifpmcks"))))))
+ (arguments
+ `(#:tests? #f
+ #: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"))))))
+ (and
+ (unpack "intervaltree-src" "intervaltree")
+ (unpack "fastahack-src" "fastahack")
+ (unpack "filevercmp-src" "filevercmp")
+ (unpack "fsom-src" "fsom")
+ (unpack "multichoose-src" "multichoose")
+ (unpack "smithwaterman-src" "smithwaterman")
+ (unpack "tabixpp-src" "tabixpp")))))
+ (add-after 'unpack-submodule-sources 'fix-makefile
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("Makefile")
+ (("^GIT_VERSION.*") "GIT_VERSION = v1.0.0"))))
+ (replace
+ 'build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (with-directory-excursion "tabixpp"
+ (zero? (system* "make")))
+ (zero? (system* "make" "CC=gcc"
+ (string-append "CFLAGS=\"" "-Itabixpp "
+ "-I" (assoc-ref inputs "htslib") "/include " "\"") "all"))))
+ (replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin"))
+ ;;(include (string-append (assoc-ref outputs "out") "/include"))
+ (lib (string-append (assoc-ref outputs "out") "/lib")))
+ (for-each (lambda (file)
+ (install-file file bin))
+ (find-files "bin" ".*"))
+ ;; The header files do not correspond to libvcflib.a, therefore
+ ;; I left them out.
+ ;;(for-each (lambda (file)
+ ;; (install-file file include))
+ ;; (find-files "src" "\\.h$"))
+ (install-file "libvcflib.a" lib)))))))
+ (home-page "https://github.com/vcflib/vcflib/")
+ (synopsis "Library for parsing and manipulating VCF files")
+ (description "Vcflib provides methods to manipulate and interpret
+sequence variation as it can be described by VCF. It is both an API for parsing
+and operating on records of genomic variation as it can be described by the VCF
+format, and a collection of command-line utilities for executing complex
+manipulations on VCF files.")
+ (license license:expat))))
+
+(define-public bash-tap
+ (package
+ (name "bash-tap")
+ (version "1.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/illusori/bash-tap/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0qs1qi38bl3ns4mpagcawv618dsk2q1lgrbddgvs0wl3ia12cyz5"))))
+ (build-system trivial-build-system)
+ (native-inputs `(("source" ,source)
+ ("tar" ,tar)
+ ("gzip" ,gzip)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils))
+ (let ((tar (string-append (assoc-ref %build-inputs "tar") "/bin/tar"))
+ (path (string-append (assoc-ref %build-inputs "gzip") "/bin"))
+ (bin (string-append %output "/bin"))
+ (source (string-append (assoc-ref %build-inputs "source"))))
+ (setenv "PATH" path)
+ (mkdir-p bin)
+ (with-directory-excursion bin
+ (zero? (system* tar "xvf" source
+ "--strip-components=1"
+ "--no-anchored"
+ "bash-tap"
+ "bash-tap-bootstrap"
+ "bash-tap-mock")))))))
+ (home-page "http://www.illusori.co.uk/projects/bash-tap/")
+ (synopsis "Bash port of a Test::More/Test::Builder-style TAP-compliant
+test library")
+ (description "Bash TAP is a TAP-compliant Test::More-style testing library
+for Bash shell scripts and functions. Along with the Test::More-style testing
+helpers it provides helper functions for mocking commands and functions and
+in-process output capturing.")
+ ;; The author didn't specify a license.
+ (license license:public-domain)))
+
(define-public freebayes
(let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb")
(revision "1"))
@@ -115,7 +470,8 @@ mappability data (files created by GEM). ")
(base32 "1sbzwmcbn78ybymjnhwk7qc5r912azy5vqz2y7y81616yc3ba2a2"))))
(build-system gnu-build-system)
(inputs
- `(("zlib" ,zlib)))
+ `(("zlib" ,zlib)
+ ("htslib" ,htslib)))
(native-inputs
`(("bc" ,bc) ; Needed for running tests.
("samtools" ,samtools) ; Needed for running tests.
@@ -123,35 +479,19 @@ mappability data (files created by GEM). ")
("procps" ,procps) ; Needed for running tests.
("bamtools" ,bamtools)
("cmake" ,cmake)
- ("htslib" ,htslib)
("python" ,python-2)
+ ("node" ,node)
("r" ,r)
("perl" ,perl)
- ("bamtools-src"
- ,(origin
- (method url-fetch)
- (uri (string-append "https://github.com/ekg/bamtools/archive/"
- "e77a43f5097ea7eee432ee765049c6b246d49baa" ".tar.gz"))
- (file-name "bamtools-src.tar.gz")
- (sha256
- (base32 "0rqymka21g6lfjfgxzr40pxz4c4fcl77jpy1np1li70pnc7h2cs1"))))
- ("vcflib-src"
- ,(origin
- (method url-fetch)
- (uri (string-append "https://github.com/vcflib/vcflib/archive/"
- "5ac091365fdc716cc47cc5410bb97ee5dc2a2c92" ".tar.gz"))
- (file-name "vcflib-5ac0913.tar.gz")
- (sha256
- (base32 "0ywshwpif059z5h0g7zzrdfzzdj2gr8xvwlwcsdxrms3p9iy35h8"))))
+ ("bamtools-src" ,(package-source bamtools))
+ ("vcflib-src" ,(package-source vcflib))
;; These are submodules for the vcflib version used in freebayes
- ("tabixpp-src"
- ,(origin
- (method url-fetch)
- (uri (string-append "https://github.com/ekg/tabixpp/archive/"
- "bbc63a49acc52212199f92e9e3b8fba0a593e3f7" ".tar.gz"))
- (file-name "tabixpp-src.tar.gz")
- (sha256
- (base32 "1s06wmpgj4my4pik5kp2lc42hzzazbp5ism2y4i2ajp2y1c68g77"))))
+ ("tabixpp-src" ,(package-source tabixpp-freebayes))
+ ("smithwaterman-src" ,(package-source smithwaterman))
+ ("multichoose-src" ,(package-source multichoose))
+ ("fsom-src" ,(package-source fsom))
+ ("filevercmp-src" ,(package-source filevercmp))
+ ("fastahack-src" ,(package-source fastahack))
("intervaltree-src"
,(origin
(method url-fetch)
@@ -161,55 +501,15 @@ mappability data (files created by GEM). ")
(file-name "intervaltree-src.tar.gz")
(sha256
(base32 "19prwpn2wxsrijp5svfqvfcxl5nj7zdhm3jycd5kqhl9nifpmcks"))))
- ("smithwaterman-src"
- ,(origin
- (method url-fetch)
- (uri (string-append "https://github.com/ekg/smithwaterman/archive/"
- "203218b47d45ac56ef234716f1bd4c741b289be1" ".tar.gz"))
- (file-name "smithwaterman-src.tar.gz")
- (sha256
- (base32 "1lkxy4xkjn96l70jdbsrlm687jhisgw4il0xr2dm33qwcclzzm3b"))))
- ("multichoose-src"
- ,(origin
- (method url-fetch)
- (uri (string-append "https://github.com/ekg/multichoose/archive/"
- "73d35daa18bf35729b9ba758041a9247a72484a5" ".tar.gz"))
- (file-name "multichoose-src.tar.gz")
- (sha256
- (base32 "07aizwdabmlnjaq4p3v0vsasgz1xzxid8xcxcw3paq8kh9c1099i"))))
- ("fsom-src"
- ,(origin
- (method url-fetch)
- (uri (string-append "https://github.com/ekg/fsom/archive/"
- "a6ef318fbd347c53189384aef7f670c0e6ce89a3" ".tar.gz"))
- (file-name "fsom-src.tar.gz")
- (sha256
- (base32 "0q6b57ppxfvsm5cqmmbfmjpn5qvx2zi5pamvp3yh8gpmmz8cfbl3"))))
- ("filevercmp-src"
- ,(origin
- (method url-fetch)
- (uri (string-append "https://github.com/ekg/filevercmp/archive/"
- "1a9b779b93d0b244040274794d402106907b71b7" ".tar.gz"))
- (file-name "filevercmp-src.tar.gz")
- (sha256
- (base32 "0yp5jswf5j2pqc6517x277s4s6h1ss99v57kxw9gy0jkfl3yh450"))))
- ("fastahack-src"
- ,(origin
- (method url-fetch)
- (uri (string-append "https://github.com/ekg/fastahack/archive/"
- "c68cebb4f2e5d5d2b70cf08fbdf1944e9ab2c2dd" ".tar.gz"))
- (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"))))
+ ("bash-tap-src" ,(package-source bash-tap))
+ ;; ,(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)
@@ -232,7 +532,7 @@ mappability data (files created by GEM). ")
(and
(unpack "bamtools-src" "bamtools")
(unpack "vcflib-src" "vcflib")
- (unpack "intervaltree-src" "intervaltree")
+ ;;(unpack "intervaltree-src" "intervaltree")
(unpack "fastahack-src" "vcflib/fastahack")
(unpack "filevercmp-src" "vcflib/filevercmp")
(unpack "fsom-src" "vcflib/fsom")
@@ -260,7 +560,11 @@ mappability data (files created by GEM). ")
;; Compile vcflib before we compiling the main project.
(with-directory-excursion "vcflib"
(with-directory-excursion "tabixpp"
- (zero? (system* "make")))
+ (let ((htslib-ref (assoc-ref inputs "htslib")))
+ (zero?
+ (system* "make" "HTS_HEADERS="
+ (string-append "HTS_LIB=" htslib-ref "/lib/libhts.a")
+ (string-append "LIBPATH=-L. -L" htslib-ref "/include")))))
(zero? (system* "make" "CC=gcc"
(string-append "CFLAGS=\"" "-Itabixpp "
"-I" (assoc-ref inputs "htslib") "/include " "\"") "all")))
--
cgit v1.2.3
From c6ecd9efe0587d0b4828a4e2167799abe6764319 Mon Sep 17 00:00:00 2001
From: pjotrp
Date: Fri, 11 Mar 2016 08:56:16 +0000
Subject: rename cppcheck to check
---
gn/packages/bioinformatics.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index e6aa90f..d865117 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -22,7 +22,7 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages cmake)
#:use-module (gnu packages cpio)
- #:use-module (gnu packages cppcheck)
+ #:use-module (gnu packages check)
#:use-module (gnu packages file)
#:use-module (gnu packages gcc)
#:use-module (gnu packages graphviz)
--
cgit v1.2.3
From 34ae8b6d400fcce50f9848441ddf4e302b9d1057 Mon Sep 17 00:00:00 2001
From: pjotrp
Date: Fri, 11 Mar 2016 09:01:39 +0000
Subject: Small compile fixes for pindel
---
gn/packages/bioinformatics.scm | 1 +
gn/packages/llvm.scm | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index 276471b..11a624f 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -13,6 +13,7 @@
;; #:use-module (guix build-system ruby)
#:use-module (guix build-system r)
#:use-module (guix build-system trivial)
+ #:use-module (gn packages statistics)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages algebra)
diff --git a/gn/packages/llvm.scm b/gn/packages/llvm.scm
index 83ea5d1..607f7c2 100644
--- a/gn/packages/llvm.scm
+++ b/gn/packages/llvm.scm
@@ -19,7 +19,7 @@
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see .
-(define-module (gnu packages llvm)
+(define-module (gn packages llvm)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
@@ -62,4 +62,4 @@ languages. It currently supports compilation of C and C++ programs, using
front-ends derived from GCC 4.0.1. A new front-end for the C family of
languages is in development. The compiler infrastructure includes mirror sets
of programming tools as well as libraries with equivalent functionality.")
- (license license:ncsa)))
+ (license ncsa)))
--
cgit v1.2.3
From f4e38087ff0c0261196304179f7d537d4806f164 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Fri, 11 Mar 2016 13:02:06 +0100
Subject: Added test suite to pindel package.
---
gn/packages/bioinformatics.scm | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index 276471b..2c8feec 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -1140,15 +1140,19 @@ manipulations on VCF files.")
("python" ,python-2)
("perl" ,perl)))
(arguments
- `(#:tests? #f
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(delete 'configure) ; There is no configure phase.
+ ;; The build phase needs to run 'make' twice for the reasons described
+ ;; below.
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
- ;; The first run creates a Makefile.local file.
+ ;; The first run creates a Makefile.local file. Make will report
+ ;; the failure to find Makefile.local, but we can ignore this error.
(system* "make" (string-append "SAMTOOLS=" (assoc-ref inputs "samtools")))
- ;; The second run actually compiles the program.
+ ;; The second run actually compiles the program. Now Makefile.local
+ ;; is available, and we should treat an exiting make with an error as
+ ;; a true error.
(zero? (system* "make"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
@@ -1156,7 +1160,17 @@ manipulations on VCF files.")
(install-file "src/pindel" bin)
(install-file "src/pindel2vcf" bin)
(install-file "src/pindel2vcf4tcga" bin)
- (install-file "src/sam2pindel" bin)))))))
+ (install-file "src/sam2pindel" bin))))
+ ;; There are multiple test targets, so in order to run all
+ ;; tests, we must run the separate make targets.
+ (replace 'check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (and
+ (zero? (system* "make" "acceptance-tests"))
+ (zero? (system* "make" "coverage-tests"))
+ (zero? (system* "make" "cppcheck"))
+ (zero? (system* "make" "functional-tests"))
+ (zero? (system* "make" "regression-tests"))))))))
(home-page "https://github.com/genome/pindel")
(synopsis "Structural variants detector for next-gen sequencing data")
(description "Pindel can detect breakpoints of large deletions, medium sized
--
cgit v1.2.3
From 904e605a2a881afe50ac5ae5950739d2fa0189c8 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Tue, 15 Mar 2016 16:58:59 +0100
Subject: Added Java packages, working, WIP and ON HOLD.
---
gn/packages/java.scm | 299 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 299 insertions(+)
create mode 100644 gn/packages/java.scm
diff --git a/gn/packages/java.scm b/gn/packages/java.scm
new file mode 100644
index 0000000..3fce390
--- /dev/null
+++ b/gn/packages/java.scm
@@ -0,0 +1,299 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Roel Janssen
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see .
+
+(define-module (gnu packages java)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix svn-download)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system ant)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages bioinformatics)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages gcc)
+ #:use-module (gnu packages java)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages certs)
+ #:use-module (gnu packages zip))
+
+;; ----------------------------------------------------------------------------
+;; WORKING PACKAGES
+;; ----------------------------------------------------------------------------
+
+(define-public xz-java
+ (package
+ (name "xz-java")
+ (version "1.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://tukaani.org/xz/"
+ name "-" version ".zip"))
+ (sha256
+ (base32 "0x6vn9dp9kxk83x2fp3394n95dk8fx9yg8jns9371iqsn0vy8ih1"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; There's no test target.
+ #:jdk ,icedtea-7
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'unpack
+ (lambda _
+ (mkdir-p "source")
+ (chdir "source")
+ (zero? (system* "unzip" (assoc-ref %build-inputs "source")))))
+ (replace 'install
+ (lambda _
+ (let ((out (string-append (assoc-ref %outputs "out")
+ "/share/java/xz/")))
+ (mkdir-p out)
+ (copy-file "build/jar/xz.jar" (string-append out "/xz-1.5.jar"))))))))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "http://tukaani.org/xz/java.html")
+ (synopsis "Implementation of XZ data compression in pure Java")
+ (description "This aims to be a complete implementation of XZ data
+compression in pure Java. Single-threaded streamed compression and
+decompression and random access decompression have been fully implemented.")
+ (license license:public-domain)))
+
+(define-public jakarta-oro
+ (package
+ (name "jakarta-oro")
+ (version "2.0.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://archive.apache.org/dist/jakarta/oro/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0rpmnsskiwmsy8r0sckz5n5dbvh3vkxx8hpm177c754r8xy3qksc"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; There is no 'check' target
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'install
+ (lambda _
+ (let ((out (string-append (assoc-ref %outputs "out")
+ "/share/java/oro/")))
+ (mkdir-p out)
+ (copy-file "jakarta-oro-2.0.8.jar" (string-append out "/oro-2.0.8.jar"))))))
+ ))
+ (home-page "http://jakarta.apache.org/oro/")
+ (synopsis "Set of text-processing Java classes")
+ (description "The Jakarta-ORO Java classes are a set of text-processing
+Java classes that provide Perl5 compatible regular expressions, AWK-like regular
+expressions, glob expressions, and utility classes for performing substitutions,
+splits, filtering filenames, etc.")
+ (license license:asl1.1)))
+
+;; ----------------------------------------------------------------------------
+;; IN PROGRESS
+;; ----------------------------------------------------------------------------
+
+(define-public jsch
+ (package
+ (name "jsch")
+ (version "0.1.53")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge.net/jsch/" name "/"
+ version "/" name "-" version ".zip"))
+ (sha256
+ (base32 "1729j7khwj6yvkr26fjaf273i3krhz2n1m3mbv5ms4x00qrhrxdn"))))
+ (build-system ant-build-system)
+ (home-page "http://www.jcraft.com/jsch/")
+ (synopsis "JSch is a pure Java implementation of SSH2")
+ (description "JSch is a pure Java implementation of SSH2. JSch allows you
+to connect to an sshd server and use port forwarding, X11 forwarding, file
+transfer, etc., and you can integrate its functionality into your own Java
+programs.")
+ (license license:bsd-3)))
+
+(define-public commons-vfs
+ (package
+ (name "commons-vfs")
+ (version "2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://mirrors.supportex.net/apache/commons/vfs/source/"
+ name "-" version "-src.tar.gz"))
+ (sha256
+ (base32 "1gkfg9g14kjkh2kf041ssdz9xnw7hpfmdsyrs1bbhyzikwg4s3d9"))))
+ (build-system ant-build-system)
+ (home-page "https://commons.apache.org/proper/commons-vfs/")
+ (synopsis "Commons Virtual File System API for Java")
+ (description "Commons VFS provides a single API for accessing various
+different file systems. It presents a uniform view of the files from various
+different sources, such as the files on local disk, on an HTTP server, or
+inside a Zip archive. ")
+ (license license:asl2.0)))
+
+(define-public ivy
+;; Ivy tries to download the following packages:
+;; - https://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.jar => We have ant-1.9.6
+;; - https://repo1.maven.org/maven2/org/apache/ant/ant-nodeps/1.7.1/ant-nodeps-1.7.1.jar => Probably not needed
+;; - https://repo1.maven.org/maven2/org/apache/ant/ant-trax/1.7.1/ant-trax-1.7.1.jar => Classes moved to ant.jar
+;; - https://repo1.maven.org/maven2/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.jar
+;; - https://repo1.maven.org/maven2/oro/oro/2.0.8/oro-2.0.8.jar => Packaged
+;; - https://repo1.maven.org/maven2/commons-vfs/commons-vfs/1.0/commons-vfs-1.0.jar
+;; - https://repo1.maven.org/maven2/com/jcraft/jsch/0.1.50/jsch-0.1.50.jar
+;; - https://repo1.maven.org/maven2/com/jcraft/jsch.agentproxy/0.0.6/jsch.agentproxy-0.0.6.jar
+;; - https://repo1.maven.org/maven2/com/jcraft/jsch.agentproxy.connector-factory/0.0.6/jsch.agentproxy.connector-factory-0.0.6.jar
+;; - https://repo1.maven.org/maven2/com/jcraft/jsch.agentproxy.jsch/0.0.6/jsch.agentproxy.jsch-0.0.6.jar
+;; - https://repo1.maven.org/maven2/org/bouncycastle/bcpg-jdk14/1.45/bcpg-jdk14-1.45.jar
+;; - https://repo1.maven.org/maven2/org/bouncycastle/bcprov-jdk14/1.45/bcprov-jdk14-1.45.jar
+;; - https://repo1.maven.org/maven2/junit/junit/3.8.2/junit-3.8.2.jar
+;; - https://repo1.maven.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
+;; - https://repo1.maven.org/maven2/org/apache/ant/ant-testutil/1.7.0/ant-testutil-1.7.0.jar
+;; - https://repo1.maven.org/maven2/ant/ant-launcher/1.6.2/ant-launcher-1.6.2.jar
+;; - https://repo1.maven.org/maven2/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar
+;; - https://repo1.maven.org/maven2/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar
+;; - https://repo1.maven.org/maven2/xerces/xmlParserAPIs/2.6.2/xmlParserAPIs-2.6.2.jar
+ (package
+ (name "ivy")
+ (version "2.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://ftp.nluug.nl/internet/apache/ant/" name "/"
+ version "/apache-" name "-" version "-src.tar.gz"))
+ (sha256
+ (base32 "1xkfn57g2m7l6y0xdq75x5rnrgk52m9jx2xah70g3ggl8750hbr0"))))
+ (build-system ant-build-system)
+ (inputs
+ `(("nss-certs" ,nss-certs)))
+ (home-page "http://ant.apache.org/ivy/")
+ (synopsis "Dependency manager for Ant")
+ (description "Apache Ivy is a popular dependency manager focusing on
+flexibility and simplicity.")
+ (license license:asl2.0)))
+
+
+;; ----------------------------------------------------------------------------
+;; ON HOLD: WAITING FOR MAVEN PACKAGES
+;; ----------------------------------------------------------------------------
+
+;; TODO: Needs commons-compress
+;; (define-public ant-compress
+;; (package
+;; (name "ant-compress")
+;; (version "1.4")
+;; (source (origin
+;; (method url-fetch)
+;; (uri "https://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.4-src.tar.gz"))
+;; (sha256
+;; (base32 "17v5i11srmi12ckgrvhlwn0gvapgizs5672x252h143r0ya4c04d")))
+;; ))
+
+;; TODO: Needs Maven.
+;; (define-public commons-compress
+;; (package
+;; (name "apache-commons-compress")
+;; (version "1.10")
+;; (source (origin
+;; (method url-fetch)
+;; (uri ("http://ftp.tudelft.nl/apache//commons/compress/source/commons-compress-1.10-src.tar.gz")))
+;; (sha256
+;; (base32 "06b40k9dmgqkga3qmfpgzq87jf3fkcxnwaiyczclh58yibg19604")))
+;; ))
+
+;; TODO: Needs Maven.
+;; (define-public jcommander
+;; (package
+;; (name "jcommander")
+;; (version "1.48")
+;; (source (origin
+;; (method url-fetch)
+;; (uri (string-append "https://github.com/cbeust/jcommander/archive/"
+;; name "-" version ".tar.gz"))
+;; (sha256
+;; (base32 "1qn56hd6sxkfdv9j6pwf8c7ia00n39zry236a6achc87wq2kmfnw"))))
+;; (build-system ant-build-system)
+;; (home-page "http://jcommander.org/")
+;; (synopsis "Java framework for parsing command line parameters")
+;; (description "JCommander is a very small Java framework that makes it
+;; trivial to parse command line parameters. ")
+;; (license license:asl2.0)))
+
+;; TODO: Needs Maven.
+;; (define-public maven-remote-resources-plugin
+;; (package
+;; (name "maven-remote-resources-plugin")
+;; (version "1.5")
+;; (source (origin
+;; (method svn-fetch)
+;; (uri (svn-reference
+;; (url (string-append "http://svn.apache.org/viewvc/maven/plugins/tags/"
+;; name "-" version))
+;; (revision 1513840)))
+;; (file-name (string-append name "-" version "-checkout"))
+;; (sha256
+;; (base32 "1g0iavyb34kvs3jfrx2hfnr8lr11m39sj852cy7528wva1glfl4i"))))
+;; (build-system ant-build-system)
+;; (home-page "https://maven.apache.org/plugins/maven-remote-resources-plugin/")
+;; (synopsis "")
+;; (description "")
+;; (license license:asl2.0)))
+
+;; TODO: Needs Maven.
+;; (define-public junit
+;; (package
+;; (name "junit")
+;; (version "4.12")
+;; (source (origin
+;; (method url-fetch)
+;; (uri (string-append "https://github.com/junit-team/"
+;; name "/archive/r" version ".tar.gz"))
+;; (sha256
+;; (base32 "1r6ww2y3jpbpqh03r0966xxiz2vs8n72g6n6l0sjs3aspy56v8b1"))))
+;; (build-system ant-build-system)
+;; (home-page "http://junit.org/")
+;; (synopsis "Framework to write repeatable tests")
+;; (description "JUnit is a simple framework to write repeatable tests. It is
+;; an instance of the xUnit architecture for unit testing frameworks.")
+;; (license license:asl2.0)))
+
+(define-public maven
+ (package
+ (name "maven")
+ (version "3.3.9")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://apache.proserve.nl/maven/maven-3/"
+ version "/source/apache-maven-" version "-src.tar.gz"))
+ (sha256
+ (base32 "1g0iavyb34kvs3jfrx2hfnr8lr11m39sj852cy7528wva1glfl4i"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:make-flags "-Dmaven.home=build/"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-m2-variable
+ (lambda _
+ (setenv "M2_HOME" (string-append (assoc-ref %outputs "out") "/maven-3.3.9")))))))
+ (home-page "https://maven.apache.org/")
+ (synopsis "")
+ (description "Apache Maven is a software project management and
+comprehension tool. Based on the concept of a project object model (POM),
+Maven can manage a project's build, reporting and documentation from a central
+piece of information.")
+ (license license:asl2.0)))
--
cgit v1.2.3
From a30321a25267f80df6084104c8d562dc61046c1f Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Wed, 16 Mar 2016 11:14:47 +0100
Subject: Add contra.
---
gn/packages/bioinformatics.scm | 51 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index d81a19a..a0a375b 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -62,6 +62,57 @@
#:use-module (gnu packages bootstrap)
#:use-module (srfi srfi-1))
+(define-public contra
+ (package
+ (name "contra")
+ (version "2.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/contra-cnv/CONTRA.v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0agpcm2xh5f0i9n9sx1kvln6mzdksddmh11bvzj6bh76yw5pnw91"))))
+ (build-system gnu-build-system)
+ (propagated-inputs
+ `(("python" ,python-2)
+ ("r" ,r)
+ ("r-dnacopy" ,r-dnacopy)
+ ("bedtools" ,bedtools)
+ ("samtools" ,samtools)))
+ (arguments
+ `(#:tests? #f ; There are no tests.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build) ; We can use Guix's BEDtools instead.
+ (replace 'install
+ (lambda _
+ (let* ((out (assoc-ref %outputs "out"))
+ (bin (string-append out "/bin"))
+ (doc (string-append out "/share/doc/contra")))
+ (mkdir-p bin)
+ (mkdir-p doc)
+ (and
+ (zero? (system* "cp" "--recursive" "scripts" bin))
+ (zero? (system* "cp" "contra.py" bin))
+ (zero? (system* "cp" "baseline.py" bin))
+ ;; There's only a pre-built PDF available.
+ (zero? (system* "cp" "CONTRA_User_Guide.2.0.pdf" doc)))))))))
+ (home-page "http://contra-cnv.sourceforge.net/")
+ (synopsis "Tool for copy number variation (CNV) detection for targeted
+resequencing data")
+ (description "CONTRA is a tool for copy number variation (CNV) detection
+for targeted resequencing data such as those from whole-exome capture data.
+CONTRA calls copy number gains and losses for each target region with key
+strategies including the use of base-level log-ratios to remove GC-content
+bias, correction for an imbalanced library size effect on log-ratios, and the
+estimation of log-ratio variations via binning and interpolation. It takes
+standard alignment formats (BAM/SAM) and outputs in variant call format
+(VCF 4.0) for easy integration with other next generation sequencing analysis
+package.")
+ (license license:gpl3+)))
+
(define-public freec
(package
(name "control-freec")
--
cgit v1.2.3
From e024f97ea8886191fa49d56782dc42954bdc9880 Mon Sep 17 00:00:00 2001
From: Roel Janssen
Date: Wed, 16 Mar 2016 13:49:52 +0100
Subject: Add delly.
---
delly-use-system-libraries.patch | 65 ++++++++++++++++++++++++++++++++++++++++
gn/packages/bioinformatics.scm | 56 ++++++++++++++++++++++++++++++++++
2 files changed, 121 insertions(+)
create mode 100644 delly-use-system-libraries.patch
diff --git a/delly-use-system-libraries.patch b/delly-use-system-libraries.patch
new file mode 100644
index 0000000..3ce817f
--- /dev/null
+++ b/delly-use-system-libraries.patch
@@ -0,0 +1,65 @@
+This patch let's Delly use the system versions of htslib and boost.
+
+Patch by Roel Janssen
+--- a/Makefile 2016-03-16 13:08:49.936706607 +0100
++++ b/Makefile 2016-03-16 13:09:12.351706212 +0100
+@@ -9,8 +9,8 @@
+
+ # Flags
+ CXX=g++
+-CXXFLAGS += -isystem ${SEQTK_ROOT} -isystem ${BOOST_ROOT} -pedantic -W -Wall -Wno-unknown-pragmas
+-LDFLAGS += -L${SEQTK_ROOT} -L${BOOST_ROOT}/stage/lib -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time
++CXXFLAGS += -pedantic -W -Wall -Wno-unknown-pragmas
++LDFLAGS += -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time
+
+ # Additional flags for release/debug
+ ifeq (${PARALLEL}, 1)
+@@ -23,7 +23,7 @@
+ ifeq (${STATIC}, 1)
+ LDFLAGS += -static -static-libgcc -pthread -lhts -lz
+ else
+- LDFLAGS += -lhts -lz -Wl,-rpath,${SEQTK_ROOT},-rpath,${BOOST_ROOT}/stage/lib
++ LDFLAGS += -lhts -lz
+ endif
+ ifeq (${DEBUG}, 1)
+ CXXFLAGS += -g -O0 -fno-inline -DDEBUG
+@@ -41,32 +41,24 @@
+ DELLYSOURCES = $(wildcard src/*.h) $(wildcard src/*.cpp)
+
+ # Targets
+-TARGETS = .htslib .boost src/delly src/extract src/cov src/iover src/stats
++TARGETS = src/delly src/extract src/cov src/iover src/stats
+
+ all: $(TARGETS)
+
+-.htslib: $(HTSLIBSOURCES)
+- cd src/htslib && make && make lib-static && cd ../../ && touch .htslib
+-
+-.boost: $(BOOSTSOURCES)
+- cd src/modular-boost && ./bootstrap.sh --prefix=${PWD}/src/modular-boost --without-icu --with-libraries=iostreams,filesystem,system,program_options,date_time && ./b2 && ./b2 headers && cd ../../ && touch .boost
+-
+-src/delly: .htslib .boost $(DELLYSOURCES)
++src/delly: $(DELLYSOURCES)
+ $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS)
+
+-src/extract: .htslib .boost $(DELLYSOURCES)
++src/extract: $(DELLYSOURCES)
+ $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS)
+
+-src/cov: .htslib .boost $(DELLYSOURCES)
++src/cov: $(DELLYSOURCES)
+ $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS)
+
+-src/iover: .htslib .boost $(DELLYSOURCES)
++src/iover: $(DELLYSOURCES)
+ $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS)
+
+-src/stats: .htslib .boost $(DELLYSOURCES)
++src/stats: $(DELLYSOURCES)
+ $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS)
+
+ clean:
+- cd src/htslib && make clean
+- cd src/modular-boost && ./b2 --clean-all
+- rm -f $(TARGETS) $(TARGETS:=.o) .htslib .boost
++ rm -f $(TARGETS) $(TARGETS:=.o)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index a0a375b..a4d14b0 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -113,6 +113,62 @@ standard alignment formats (BAM/SAM) and outputs in variant call format
package.")
(license license:gpl3+)))
+(define boost-delly
+ (package (inherit boost)
+ (name "boost-delly")
+ (version "1.57.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/boost/boost_"
+ (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0rs94vdmg34bwwj23fllva6mhrml2i7mvmlb11zyrk1k5818q34i"))))))
+
+(define-public delly
+ (package
+ (name "delly")
+ (version "0.7.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/tobiasrausch/delly/archive/v"
+ version ".tar.gz"))
+ (sha256
+ (base32 "173mmg43dbxqkyq0kiffz63xbmggr2kzd55mwxci9yfh5md1zprn"))
+ (patches (list (search-patch "delly-use-system-libraries.patch")))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("python" ,python-2)))
+ (inputs
+ `(("boost" ,boost-delly) ; Use version 1.57.0 instead.
+ ("htslib" ,htslib)
+ ("zlib" ,zlib)
+ ("bzip2" ,bzip2)))
+ (arguments
+ `(#:tests? #f ; There are no tests to run.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ (replace 'install
+ (lambda _
+ (let ((bin (string-append (assoc-ref %outputs "out") "/bin")))
+ (install-file "src/cov" bin)
+ (install-file "src/delly" bin)
+ (install-file "src/extract" bin)
+ (install-file "src/iover" bin)
+ (install-file "src/stats" bin)))))))
+ (home-page "https://github.com/tobiasrausch/delly")
+ (synopsis "Integrated structural variant prediction method")
+ (description "Delly is an integrated structural variant prediction method
+that can discover and genotype deletions, tandem duplications, inversions and
+translocations at single-nucleotide resolution in short-read massively parallel
+sequencing data. It uses paired-ends and split-reads to sensitively and
+accurately delineate genomic rearrangements throughout the genome. Structural
+variants can be visualized using Delly-maze and Delly-suave.")
+ (license license:gpl3)))
+
(define-public freec
(package
(name "control-freec")
--
cgit v1.2.3