aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2015-04-14 14:43:32 +0200
committerRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2015-04-20 15:29:17 +0200
commit51c649992e82c9028624ada89d91fdd63bafa81c (patch)
treee379da86ec690249def5d56417853847868b1d1b /gnu/packages
parent75dd2424806b1ceb6d2a01732e7474b8a3c1d0e3 (diff)
downloadguix-51c649992e82c9028624ada89d91fdd63bafa81c.tar.gz
guix-51c649992e82c9028624ada89d91fdd63bafa81c.zip
gnu: Add sra-tools.
* gnu/packages/bioinformatics.scm (sra-tools): New variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/bioinformatics.scm76
1 files changed, 76 insertions, 0 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index f2f4355d87..4fd9459350 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -31,6 +31,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages file)
#:use-module (gnu packages java)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages maths)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
@@ -1219,6 +1220,81 @@ Databases are stored in a portable image within the file system, and can be
accessed/downloaded on demand across HTTP.")
(license license:public-domain)))
+(define-public sra-tools
+ (package
+ (name "sra-tools")
+ (version "2.4.5-5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://github.com/ncbi/sra-tools/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "11nrnvz7a012f4iryf0wiwrid0h111grsfxbxa9j51h3f2xbvgns"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:parallel-build? #f ; not supported
+ #:tests? #f ; no "check" target
+ #:phases
+ (alist-replace
+ 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; The build system expects a directory containing the sources and
+ ;; raw build output of ncbi-vdb, including files that are not
+ ;; installed. Since we are building against an installed version of
+ ;; ncbi-vdb, the following modifications are needed.
+ (substitute* "setup/konfigure.perl"
+ ;; Make the configure script look for the "ilib" directory of
+ ;; "ncbi-vdb" without first checking for the existence of a
+ ;; matching library in its "lib" directory.
+ (("^ my \\$f = File::Spec->catdir\\(\\$libdir, \\$lib\\);")
+ "my $f = File::Spec->catdir($ilibdir, $ilib);")
+ ;; Look for interface libraries in ncbi-vdb's "ilib" directory.
+ (("my \\$ilibdir = File::Spec->catdir\\(\\$builddir, 'ilib'\\);")
+ "my $ilibdir = File::Spec->catdir($dir, 'ilib');"))
+
+ ;; The 'configure' script doesn't recognize things like
+ ;; '--enable-fast-install'.
+ (zero? (system*
+ "./configure"
+ (string-append "--build-prefix=" (getcwd) "/build")
+ (string-append "--prefix=" (assoc-ref outputs "out"))
+ (string-append "--debug")
+ (string-append "--with-fuse-prefix="
+ (assoc-ref inputs "fuse"))
+ (string-append "--with-magic-prefix="
+ (assoc-ref inputs "libmagic"))
+ ;; TODO: building with libxml2 fails with linker errors
+ ;; (string-append "--with-xml2-prefix="
+ ;; (assoc-ref inputs "libxml2"))
+ (string-append "--with-ncbi-vdb-sources="
+ (assoc-ref inputs "ncbi-vdb"))
+ (string-append "--with-ncbi-vdb-build="
+ (assoc-ref inputs "ncbi-vdb"))
+ (string-append "--with-ngs-sdk-prefix="
+ (assoc-ref inputs "ngs-sdk"))
+ (string-append "--with-hdf5-prefix="
+ (assoc-ref inputs "hdf5")))))
+ %standard-phases)))
+ (native-inputs `(("perl" ,perl)))
+ (inputs
+ `(("ngs-sdk" ,ngs-sdk)
+ ("ncbi-vdb" ,ncbi-vdb)
+ ("libmagic" ,file)
+ ("fuse" ,fuse)
+ ("hdf5" ,hdf5)
+ ("zlib" ,zlib)))
+ (home-page "http://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software")
+ (synopsis "Tools and libraries for reading and writing sequencing data")
+ (description
+ "The SRA Toolkit from NCBI is a collection of tools and libraries for
+reading of sequencing files from the Sequence Read Archive (SRA) database and
+writing files into the .sra format.")
+ (license license:public-domain)))
+
(define-public seqan
(package
(name "seqan")