summary refs log tree commit diff
path: root/gnu/packages/bioinformatics.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/bioinformatics.scm')
-rw-r--r--gnu/packages/bioinformatics.scm138
1 files changed, 138 insertions, 0 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 8ed871003a..1214a0b708 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -27,6 +27,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages java)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -237,6 +238,53 @@ gapped, local, and paired-end alignment modes.")
     (supported-systems '("x86_64-linux"))
     (license license:gpl3+)))
 
+(define-public bwa
+  (package
+    (name "bwa")
+    (version "0.7.12")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/bio-bwa/bwa-"
+                                  version ".tar.bz2"))
+              (sha256
+               (base32
+                "1330dpqncv0px3pbhjzz1gwgg39kkcv2r9qp2xs0sixf8z8wl7bh"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f ;no "check" target
+       #:phases
+       (alist-replace
+        'install
+        (lambda* (#:key outputs #:allow-other-keys)
+          (let ((bin (string-append
+                      (assoc-ref outputs "out") "/bin"))
+                (doc (string-append
+                      (assoc-ref outputs "out") "/share/doc/bwa"))
+                (man (string-append
+                      (assoc-ref outputs "out") "/share/man/man1")))
+            (mkdir-p bin)
+            (mkdir-p doc)
+            (mkdir-p man)
+            (copy-file "bwa" (string-append bin "/bwa"))
+            (copy-file "README.md" (string-append doc "/README.md"))
+            (copy-file "bwa.1" (string-append man "/bwa.1"))))
+        ;; no "configure" script
+        (alist-delete 'configure %standard-phases))))
+    (inputs `(("zlib" ,zlib)))
+    (home-page "http://bio-bwa.sourceforge.net/")
+    (synopsis "Burrows-Wheeler sequence aligner")
+    (description
+     "BWA is a software package for mapping low-divergent sequences against a
+large reference genome, such as the human genome.  It consists of three
+algorithms: BWA-backtrack, BWA-SW and BWA-MEM.  The first algorithm is
+designed for Illumina sequence reads up to 100bp, while the rest two for
+longer sequences ranged from 70bp to 1Mbp.  BWA-MEM and BWA-SW share similar
+features such as long-read support and split alignment, but BWA-MEM, which is
+the latest, is generally recommended for high-quality queries as it is faster
+and more accurate.  BWA-MEM also has better performance than BWA-backtrack for
+70-100bp Illumina reads.")
+    (license license:gpl3+)))
+
 (define-public clipper
   (package
     (name "clipper")
@@ -446,6 +494,51 @@ particular, reads spanning multiple exons.")
 from high-throughput sequencing assays.")
     (license license:gpl3+)))
 
+(define-public htsjdk
+  (package
+    (name "htsjdk")
+    (version "1.129")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/samtools/htsjdk/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0asdk9b8jx2ij7yd6apg9qx03li8q7z3ml0qy2r2qczkra79y6fw"))
+              (modules '((guix build utils)))
+              ;; remove build dependency on git
+              (snippet '(substitute* "build.xml"
+                          (("failifexecutionfails=\"true\"")
+                           "failifexecutionfails=\"false\"")))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:modules ((srfi srfi-1)
+                  (guix build gnu-build-system)
+                  (guix build utils))
+       #:phases (alist-replace
+                 'build
+                 (lambda _
+                   (setenv "JAVA_HOME" (assoc-ref %build-inputs "jdk"))
+                   (zero? (system* "ant" "all"
+                                   (string-append "-Ddist="
+                                                  (assoc-ref %outputs "out")
+                                                  "/share/java/htsjdk/"))))
+                 (fold alist-delete %standard-phases
+                       '(configure install check)))))
+    (native-inputs
+     `(("ant" ,ant)
+       ("jdk" ,icedtea6 "jdk")))
+    (home-page "http://samtools.github.io/htsjdk/")
+    (synopsis "Java API for high-throughput sequencing data (HTS) formats")
+    (description
+     "HTSJDK is an implementation of a unified Java library for accessing
+common file formats, such as SAM and VCF, used for high-throughput
+sequencing (HTS) data.  There are also an number of useful utilities for
+manipulating HTS data.")
+    (license license:expat)))
+
 (define-public macs
   (package
     (name "macs")
@@ -477,6 +570,51 @@ resolution of binding sites through combining the information of both
 sequencing tag position and orientation.")
     (license license:bsd-3)))
 
+(define-public miso
+  (package
+    (name "miso")
+    (version "0.5.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://pypi.python.org/packages/source/m/misopy/misopy-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "0x446867az8ir0z8c1vjqffkp0ma37wm4sylixnkhgawllzx8v5w"))
+              (modules '((guix build utils)))
+              ;; use "gcc" instead of "cc" for compilation
+              (snippet
+               '(substitute* "setup.py"
+                  (("^defines")
+                   "cc.set_executables(
+compiler='gcc',
+compiler_so='gcc',
+linker_exe='gcc',
+linker_so='gcc -shared'); defines")))))
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2 ; only Python 2 is supported
+       #:tests? #f)) ; no "test" target
+    (inputs
+     `(("samtools" ,samtools)
+       ("python-numpy" ,python2-numpy)
+       ("python-pysam" ,python2-pysam)
+       ("python-scipy" ,python2-scipy)
+       ("python-matplotlib" ,python2-matplotlib)))
+    (native-inputs
+     `(("python-setuptools" ,python2-setuptools)))
+    (home-page "http://genes.mit.edu/burgelab/miso/index.html")
+    (synopsis "Mixture of Isoforms model for RNA-Seq isoform quantitation")
+    (description
+     "MISO (Mixture-of-Isoforms) is a probabilistic framework that quantitates
+the expression level of alternatively spliced genes from RNA-Seq data, and
+identifies differentially regulated isoforms or exons across samples.  By
+modeling the generative process by which reads are produced from isoforms in
+RNA-Seq, the MISO model uses Bayesian inference to compute the probability
+that a read originated from a particular isoform.")
+    (license license:gpl2)))
+
 (define-public rseqc
   (package
     (name "rseqc")