From 60a90630fce9249b76be6674bd98e1a36dcd319c Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Mon, 15 Feb 2016 21:37:09 +0100 Subject: Added a work-in-progress version of Sambamba. --- gn/packages/bioinformatics.scm | 65 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 1aee0ef..bb5c0fd 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -417,3 +417,68 @@ association studies (GWAS).") (synopsis "Full genenetwork services") (description "Genenetwork installation sumo.") (license license:agpl3+)))) + +(define-public sambamba + (package + (name "sambamba") + (version "0.5.9") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/lomereiter/sambamba/archive/v" + version "tar.gz")) + (sha256 + (base32 "")))) + (build-system gnu-build-system) + (inputs + `(("ldc" ,ldc) + ;; These are currently included in "ldc". + ;;("druntime-ldc" ,druntime-ldc) + ;;("phobos2-ldc" ,phobos2-ldc) + ("lz4" ,lz4))) + (native-inputs + `(("ldc" ,ldc) + ;;("druntime-ldc" ,druntime-ldc) + ;;("phobos2-ldc" ,phobos2-ldc) + ("lz4" ,lz4) + ("gcc" ,gcc) + ("htslib-src" + (let ((version "0.2.0-rc10")) + ,(origin + (method url-fetch) + (uri (string-append + "https://github.com/lomereiter/htslib/archive/" + version ".tar.gz")) + (file-name (string-append "htslib-" version ".tar.gz")) + (sha256 + (base32 "1k6dlf6m8yayhcp7b4yisgw1xqdy1xg2xyrllss6ld0wg00hfcbs"))))) + ("biod-src" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/biod/BioD.git") + (commit "7efdb8a2f7fdcd71c9ad9596be48d1262bb1bd5b"))) + (sha256 + (base32 "09icc2bjsg9y4hxjim4ql275izadf0kh1nnmapg8manyz6bc8svf")) + (file-name "biod"))))) + (arguments + `(#:make-flags "sambamba-ldmd2-64" ; This target is used for releases. + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'unpack-htslib-sources + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "htslib" + (zero? (system* "tar" "xvf" (assoc-ref inputs "htslib-src") + "--strip-components=1"))))) + (add-after 'unpack 'move-biod-sources + '()))) ; TODO: Figure out how to move or symlink the BioD sources to the right place. + (home-page "https://github.com/lomereiter/sambamba") + (synopsis "A tool for working with SAM and BAM files written in D.") + (description + "Sambamba is a high performance modern robust and fast tool (and +library), written in the D programming language, for working with SAM +and BAM files. Current parallelised functionality is an important +subset of samtools functionality, including view, index, sort, +markdup, and depth.") + (license license:gpl2+)))) -- cgit v1.2.3 From b3145ffd290341ec726c907ce329219caa3c99a7 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 17 Feb 2016 11:15:14 +0100 Subject: Some more progress on Sambamba package. --- gn/packages/bioinformatics.scm | 52 ++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index bb5c0fd..628e656 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -426,9 +426,10 @@ association studies (GWAS).") (method url-fetch) (uri (string-append "https://github.com/lomereiter/sambamba/archive/v" - version "tar.gz")) + version ".tar.gz")) + (file-name (string-append "sambamba-" version ".tar.gz")) (sha256 - (base32 "")))) + (base32 "152zbg4m10ikr7xgk20c0nwqwrqvydmpc73p2c1fqmbhpk0l0ws6")))) (build-system gnu-build-system) (inputs `(("ldc" ,ldc) @@ -443,15 +444,13 @@ association studies (GWAS).") ("lz4" ,lz4) ("gcc" ,gcc) ("htslib-src" - (let ((version "0.2.0-rc10")) - ,(origin - (method url-fetch) - (uri (string-append - "https://github.com/lomereiter/htslib/archive/" - version ".tar.gz")) - (file-name (string-append "htslib-" version ".tar.gz")) + ,(origin + (method url-fetch) + (uri (string-append + "https://github.com/lomereiter/htslib/archive/0.2.0-rc10.tar.gz")) + (file-name (string-append "htslib-0.2.0-rc10.tar.gz")) (sha256 - (base32 "1k6dlf6m8yayhcp7b4yisgw1xqdy1xg2xyrllss6ld0wg00hfcbs"))))) + (base32 "1k6dlf6m8yayhcp7b4yisgw1xqdy1xg2xyrllss6ld0wg00hfcbs")))) ("biod-src" ,(origin (method git-fetch) @@ -462,17 +461,26 @@ association studies (GWAS).") (base32 "09icc2bjsg9y4hxjim4ql275izadf0kh1nnmapg8manyz6bc8svf")) (file-name "biod"))))) (arguments - `(#:make-flags "sambamba-ldmd2-64" ; This target is used for releases. - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'unpack-htslib-sources - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "htslib" - (zero? (system* "tar" "xvf" (assoc-ref inputs "htslib-src") - "--strip-components=1"))))) - (add-after 'unpack 'move-biod-sources - '()))) ; TODO: Figure out how to move or symlink the BioD sources to the right place. + '(#:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'unpack-htslib-sources + (lambda* (#:key inputs #:allow-other-keys) + ;; Unfortunately, the current build compiles htslib statically + ;; into the executable. Instead of patching the build files + ;; for Guix, this should be resolved on Sambamba upstream. For + ;; now, just extract the source code to the desired directory. + (and (with-directory-excursion "htslib" + (zero? (system* "tar" "xvf" (assoc-ref inputs "htslib-src") + "--strip-components=1"))) + (zero? (system* "cp" "-R" (assoc-ref inputs "biod-src") "BioD"))))) + ;; Building a production-quality executable is done with a + ;; non-default make target. Adding it with #:make-flags breaks + ;; building tests. Therefore, the default make got replaced by this. + (replace + 'build + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (zero? (system* "make" "sambamba-ldmd2-64" make-flags))))))) (home-page "https://github.com/lomereiter/sambamba") (synopsis "A tool for working with SAM and BAM files written in D.") (description @@ -481,4 +489,4 @@ library), written in the D programming language, for working with SAM and BAM files. Current parallelised functionality is an important subset of samtools functionality, including view, index, sort, markdup, and depth.") - (license license:gpl2+)))) + (license license:gpl2+))) -- cgit v1.2.3 From be845af4f832d4b63ffb7fb50a9025553446864e Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 17 Feb 2016 16:48:23 +0100 Subject: Added incomplete versions of FastQC and Picard. --- gn/packages/bioinformatics.scm | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 628e656..94e1839 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -490,3 +490,53 @@ and BAM files. Current parallelised functionality is an important subset of samtools functionality, including view, index, sort, markdup, and depth.") (license license:gpl2+))) + +(define-public picard + (package + (name "picard") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/broadinstitute/picard/archive/" + version ".tar.gz")) + (sha256 + (base32 "")))) + (home-page "http://broadinstitute.github.io/picard/") + (synopsis "A set of Java command line tools for manipulating high-throughput +sequencing data (HTS) data and formats") + (description "Picard comprises Java-based command-line utilities that +manipulate SAM files, and a Java API (HTSJDK) for creating new programs that +read and write SAM files. Both SAM text format and SAM binary (BAM) format are +supported.") + ;; The license is MIT. + (license license:expat) +)) + +(define-public fastqc + (package + (name "fastqc") + (version "0.11.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v" + version "_source.zip")) + (sha256 + (base32 "")))) + (build-system gnu-build-system) + (arguments + `(("perl" ,perl) ; Needed to run the java command. + ("jdk" ,icedtea "jdk"))) + (native-inputs + `(("ant" ,ant) ; TODO: Most Java packages need Ant, but in this case, IDK.. + ("jdk" ,icedtea "jdk") + ;;("htsjdk" ,htsjdk) ; It is based on htsjdk, but it ships its own copy. + ("unzip" ,unzip))) + (home-page "http://www.bioinformatics.babraham.ac.uk/projects/fastqc/") + (synopsis "A quality control tool for high throughput sequence data") + (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+))) -- cgit v1.2.3