>From 305768bfef9bf4bc8d57828e27b8439dedd574bd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 9 Feb 2015 12:13:26 +0100 Subject: [PATCH] gnu: Add HISAT. * gnu/packages/bioinformatics.scm (hisat): New variable. --- gnu/packages/bioinformatics.scm | 77 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c0d1438..425558d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -29,8 +29,9 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python)) + #:use-module (gnu packages python) #:use-module (gnu packages tbb) + #:use-module (gnu packages zip)) (define-public bedtools (package @@ -181,6 +182,80 @@ supports next-generation sequencing data in fasta/q and csfasta/q format from Illumina, Roche 454, and the SOLiD platform.") (license license:gpl3))) +(define-public hisat + (package + (name "hisat") + (version "0.1.4") + (source (origin + (method url-fetch) + (uri (string-append + "http://ccb.jhu.edu/software/hisat/downloads/hisat-" + version "-beta-source.zip")) + (sha256 + (base32 + "1k381ydranqxp09yf2y7w1d0chz5d59vb6jchi89hbb0prq19lk5")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ;no check target + #:make-flags '("allall") + #:phases + (alist-replace + 'unpack + (lambda* (#:key source #:allow-other-keys) + (and (zero? (system* "unzip" source)) + (chdir "hisat-0.1.4-beta"))) + (alist-cons-after + 'unpack 'patch-sources + (lambda _ + ;; XXX Cannot use snippet because zip files are not supported + (substitute* "Makefile" + (("^CC = .*$") "CC = gcc") + (("^CPP = .*$") "CPP = g++") + ;; replace BUILD_HOST and BUILD_TIME for deterministic build + (("-DBUILD_HOST=.*") "-DBUILD_HOST=\"\\\"guix\\\"\"") + (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\"")) + (substitute* '("hisat-build" "hisat-inspect") + (("/usr/bin/env") (which "env")))) + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) + (mkdir-p bin) + (for-each (lambda (file) + (copy-file file (string-append bin file))) + '("hisat" + "hisat-build" + "hisat-build-s" + "hisat-build-l" + "hisat-align-s" + "hisat-align-l" + "hisat-inspect" + "hisat-inspect-s" + "hisat-inspect-l" + "hisat-build-s-debug" + "hisat-build-l-debug" + "hisat-align-s-debug" + "hisat-align-l-debug" + "hisat-inspect-s-debug" + "hisat-inspect-l-debug")))) + (alist-delete 'configure %standard-phases)))))) + (native-inputs + `(("unzip" ,unzip))) + (inputs + `(("perl" ,perl) + ("python" ,python) + ("zlib" ,zlib))) + (home-page "http://ccb.jhu.edu/software/hisat/index.shtml") + (synopsis "Hierarchical indexing for spliced alignment of transcripts") + (description + "HISAT is a fast and sensitive spliced alignment program for mapping +RNA-seq reads. In addition to one global FM index that represents a whole +genome, HISAT uses a large set of small FM indexes that collectively cover the +whole genome. These small indexes (called local indexes) combined with +several alignment strategies enable effective alignment of RNA-seq reads, in +particular, reads spanning multiple exons.") + (license license:gpl3))) + (define-public samtools (package (name "samtools") -- 2.1.0