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(+) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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(+) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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(+) (limited to 'gn/packages') 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(+) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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(+) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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(+) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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 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(-) (limited to 'gn/packages') 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(-) (limited to 'gn/packages') 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 (limited to 'gn/packages') 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(+) (limited to 'gn/packages') 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 (limited to 'gn/packages') 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