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.scm180
1 files changed, 172 insertions, 8 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index b9d641ec34..3db67f5427 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -50,6 +50,7 @@
   #:use-module (gnu packages cpio)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages datastructures)
   #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
@@ -84,6 +85,7 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages serialization)
+  #:use-module (gnu packages shells)
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tbb)
@@ -96,7 +98,6 @@
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
-  #:use-module (gnu packages zip)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
@@ -1384,15 +1385,13 @@ well as many of the command line options.")
 (define-public python2-bx-python
   (package
     (name "python2-bx-python")
-    (version "0.7.2")
+    (version "0.7.3")
     (source (origin
               (method url-fetch)
-              (uri (string-append
-                    "https://pypi.python.org/packages/source/b/bx-python/bx-python-"
-                    version ".tar.gz"))
+              (uri (pypi-uri "bx-python" version))
               (sha256
                (base32
-                "0ld49idhc5zjdvbhvjq1a2qmpjj7h5v58rqr25dzmfq7g34b50xh"))
+                "15z2w3bvnc0n4qmb9bd6d8ylc2h2nj883x2w9iixf4x3vki9b22i"))
               (modules '((guix build utils)))
               (snippet
                '(substitute* "setup.py"
@@ -3697,7 +3696,7 @@ trimming, pruning, condensing, drawing (ASCII graphics or SVG).")
 (define-public orfm
   (package
     (name "orfm")
-    (version "0.6.1")
+    (version "0.7.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3705,7 +3704,7 @@ trimming, pruning, condensing, drawing (ASCII graphics or SVG).")
                     version "/orfm-" version ".tar.gz"))
               (sha256
                (base32
-                "19hwp13n82isdvk16710l9m35cmzf0q3fsrcn3r8c5r67biiz39s"))))
+                "16iigyr2gd8x0imzkk1dr3k5xsds9bpmwg31ayvjg0f4pir9rwqr"))))
     (build-system gnu-build-system)
     (inputs `(("zlib" ,zlib)))
     (native-inputs
@@ -9540,3 +9539,168 @@ correct interaction matrices, identify and compare the so-called
 interaction matrices, and finally, extract structural properties from the
 models.  TADbit is complemented by TADkit for visualizing 3D models.")
     (license license:gpl3+)))
+
+(define-public kentutils
+  (package
+    (name "kentutils")
+    ;; 302.1.0 is out, but the only difference is the inclusion of
+    ;; pre-built binaries.
+    (version "302.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/ENCODE-DCC/kentUtils/"
+                           "archive/v" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "134aja3k1cj32kbk1nnw0q9gxjb2krr15q6sga8qldzvc0585rmm"))
+       (modules '((guix build utils)
+                  (srfi srfi-26)
+                  (ice-9 ftw)))
+       (snippet
+        '(begin
+           ;; Only the contents of the specified directories are free
+           ;; for all uses, so we remove the rest.  "hg/autoSql" and
+           ;; "hg/autoXml" are nominally free, but they depend on a
+           ;; library that is built from the sources in "hg/lib",
+           ;; which is nonfree.
+           (let ((free (list "." ".."
+                             "utils" "lib" "inc" "tagStorm"
+                             "parasol" "htslib"))
+                 (directory? (lambda (file)
+                               (eq? 'directory (stat:type (stat file))))))
+             (for-each (lambda (file)
+                         (and (directory? file)
+                              (delete-file-recursively file)))
+                       (map (cut string-append "src/" <>)
+                            (scandir "src"
+                                     (lambda (file)
+                                       (not (member file free)))))))
+           ;; Only make the utils target, not the userApps target,
+           ;; because that requires libraries we won't build.
+           (substitute* "Makefile"
+             ((" userApps") " utils"))
+           ;; Only build libraries that are free.
+           (substitute* "src/makefile"
+             (("DIRS =.*") "DIRS =\n")
+             (("cd jkOwnLib.*") "")
+             ((" hgLib") "")
+             (("cd hg.*") ""))
+           (substitute* "src/utils/makefile"
+             ;; These tools depend on "jkhgap.a", which is part of the
+             ;; nonfree "src/hg/lib" directory.
+             (("raSqlQuery") "")
+             (("pslLiftSubrangeBlat") "")
+
+             ;; Do not build UCSC tools, which may require nonfree
+             ;; components.
+             (("ALL_APPS =.*") "ALL_APPS = $(UTILS_APPLIST)\n"))
+           #t))))
+    (build-system gnu-build-system)
+    (arguments
+     `( ;; There is no global test target and the test target for
+       ;; individual tools depends on input files that are not
+       ;; included.
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-paths
+           (lambda _
+             (substitute* "Makefile"
+               (("/bin/echo") (which "echo")))
+             #t))
+         (add-after 'unpack 'prepare-samtabix
+           (lambda* (#:key inputs #:allow-other-keys)
+             (copy-recursively (assoc-ref inputs "samtabix")
+                               "samtabix")
+             #t))
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((bin (string-append (assoc-ref outputs "out")
+                                       "/bin")))
+               (copy-recursively "bin" bin))
+             #t)))))
+    (native-inputs
+     `(("samtabix"
+        ,(origin
+           (method git-fetch)
+           (uri (git-reference
+                 (url "http://genome-source.cse.ucsc.edu/samtabix.git")
+                 (commit "10fd107909c1ac4d679299908be4262a012965ba")))
+           (sha256
+            (base32
+             "0c1nj64l42v395sa84n7az43xiap4i6f9n9dfz4058aqiwkhkmma"))))))
+    (inputs
+     `(("zlib" ,zlib)
+       ("tcsh" ,tcsh)
+       ("perl" ,perl)
+       ("libpng" ,libpng)
+       ("mysql" ,mysql)
+       ("openssl" ,openssl)))
+    (home-page "http://genome.cse.ucsc.edu/index.html")
+    (synopsis "Assorted bioinformatics utilities")
+    (description "This package provides the kentUtils, a selection of
+bioinformatics utilities used in combination with the UCSC genome
+browser.")
+    ;; Only a subset of the sources are released under a non-copyleft
+    ;; free software license.  All other sources are removed in a
+    ;; snippet.  See this bug report for an explanation of how the
+    ;; license statements apply:
+    ;; https://github.com/ENCODE-DCC/kentUtils/issues/12
+    (license (license:non-copyleft
+              "http://genome.ucsc.edu/license/"
+              "The contents of this package are free for all uses."))))
+
+(define-public f-seq
+  (let ((commit "6ccded34cff38cf432deed8503648b4a66953f9b")
+        (revision "1"))
+    (package
+      (name "f-seq")
+      (version (string-append "1.1-" revision "." commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/aboyle/F-seq.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version))
+                (sha256
+                 (base32
+                  "1nk33k0yajg2id4g59bc4szr58r2q6pdq42vgcw054m8ip9wv26h"))
+                (modules '((guix build utils)))
+                ;; Remove bundled Java library archives.
+                (snippet
+                 '(begin
+                    (for-each delete-file (find-files "lib" ".*"))
+                    #t))))
+      (build-system ant-build-system)
+      (arguments
+       `(#:tests? #f ; no tests included
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((target (assoc-ref outputs "out"))
+                      (doc (string-append target "/share/doc/f-seq/")))
+                 (mkdir-p target)
+                 (mkdir-p doc)
+                 (substitute* "bin/linux/fseq"
+                   (("java") (which "java")))
+                 (install-file "README.txt" doc)
+                 (install-file "bin/linux/fseq" (string-append target "/bin"))
+                 (install-file "build~/fseq.jar" (string-append target "/lib"))
+                 (copy-recursively "lib" (string-append target "/lib"))
+                 #t))))))
+      (inputs
+       `(("perl" ,perl)
+         ("java-commons-cli" ,java-commons-cli)))
+      (home-page "http://fureylab.web.unc.edu/software/fseq/")
+      (synopsis "Feature density estimator for high-throughput sequence tags")
+      (description
+       "F-Seq is a software package that generates a continuous tag sequence
+density estimation allowing identification of biologically meaningful sites
+such as transcription factor binding sites (ChIP-seq) or regions of open
+chromatin (DNase-seq).  Output can be displayed directly in the UCSC Genome
+Browser.")
+      (license license:gpl3+))))