From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: [PATCH]: gnu: Add HISAT. Date: Mon, 9 Feb 2015 12:16:19 +0100 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56641) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YKmKU-00036N-LQ for guix-devel@gnu.org; Mon, 09 Feb 2015 06:16:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YKmKL-000068-6c for guix-devel@gnu.org; Mon, 09 Feb 2015 06:16:38 -0500 Received: from pegasus.bbbm.mdc-berlin.de ([141.80.25.20]:48247) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YKmKK-00005V-Om for guix-devel@gnu.org; Mon, 09 Feb 2015 06:16:29 -0500 Received: from localhost (localhost [127.0.0.1]) by pegasus.bbbm.mdc-berlin.de (Postfix) with ESMTP id E387E38109D for ; Mon, 9 Feb 2015 12:16:26 +0100 (CET) Received: from pegasus.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (pegasus.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YZEyxSCuqGUj for ; Mon, 9 Feb 2015 12:16:21 +0100 (CET) Received: from HTCATWO.mdc-berlin.net (puck.citx.mdc-berlin.de [141.80.36.101]) by pegasus.bbbm.mdc-berlin.de (Postfix) with ESMTP for ; Mon, 9 Feb 2015 12:16:21 +0100 (CET) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Guix-devel --=-=-= Content-Type: text/plain Attached is a patch to add HISAT, another popular read aligner. I would have really liked to use snippets here for a few static changes to the sources, but it seems that snippets cannot be used with zip archives (see my earlier message to the mailing list). ~~ Ricardo --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename="0001-gnu-Add-HISAT.patch" >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 --=-=-=--