about summary refs log tree commit diff
path: root/gn/packages/bioinformatics.scm
diff options
context:
space:
mode:
authorDennis E. Mungai2016-03-01 14:25:45 +0300
committerDennis E. Mungai2016-03-01 14:25:45 +0300
commita0d619f653690ce68e232d8d2b944768f9e2abdc (patch)
treee10b23f86231c238299a770d900a709923d76e33 /gn/packages/bioinformatics.scm
parentef781382de7febeec2b4b8f854c88923d9f72e5f (diff)
parentc9c9ff5f70e0fbb08c6b15d9cfc7a541b34cc818 (diff)
downloadguix-bioinformatics-a0d619f653690ce68e232d8d2b944768f9e2abdc.tar.gz
Merge pull request #3 from genenetwork/master
Pull in Pjotr's changes.
Diffstat (limited to 'gn/packages/bioinformatics.scm')
-rw-r--r--gn/packages/bioinformatics.scm419
1 files changed, 137 insertions, 282 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index b7384ef..b503e22 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -10,7 +10,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
-  #:use-module (guix build-system ruby)
+  ;; #:use-module (guix build-system ruby)
   #:use-module (guix build-system r)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
@@ -26,6 +26,7 @@
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages ldc)
   #:use-module (gnu packages machine-learning)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages ncurses)
@@ -44,84 +45,82 @@
   #:use-module (gnu packages zip)
   #:use-module (gnu packages bootstrap)
   #:use-module (gn packages python)
+  #:use-module (gn packages statistics)
   #:use-module (srfi srfi-1))
 
-(define-public my-deploy
+
+(define-public r-biocpreprocesscore
   (package
-    (name "my-deploy")
-    (version "0.0.1")
-    (source #f)
-    (build-system trivial-build-system)
-    (arguments
-     `(#:guile ,%bootstrap-guile
-       #:modules ((guix build utils))
-       #:builder
-       (let* ((out  (assoc-ref %outputs "out"))
-              (bash (assoc-ref %build-inputs "bash"))
-              (foo  (string-append out "/foo")))
-         (begin
-           (use-modules (guix build utils))
-           (mkdir out)
-           (call-with-output-file foo
-             (lambda (p)
-               (format p
-                       "#!~a~%echo \"${GUIX_FOO} ${GUIX_BAR}\"~%"
-                       bash)))
-           (chmod foo #o777)
-           ;; wrap-program uses `which' to find bash for the wrapper
-           ;; shebang, but it can't know about the bootstrap bash in
-           ;; the store, since it's not named "bash".  Help it out a
-           ;; bit by providing a symlink it this package's output.
-           (symlink bash (string-append out "/bash"))
-           (setenv "PATH" out)
-           (wrap-program foo `("GUIX_FOO" prefix ("hello")))
-           (wrap-program foo `("GUIX_BAR" prefix ("world")))
-           #t))))
-    (inputs `(("bash" ,(search-bootstrap-binary "bash"
-                                                (%current-system)))))
+    (name "r-biocpreprocesscore")
+    (version "1.32.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "preprocessCore" version))
+              (sha256
+               (base32
+                "07isghjkqm91rg37l1fzpjrbq36b7w4pbsi95wwh6a8qq7r69z1n"))))
+    (properties
+     `((upstream-name . "BiocpreprocessCore")
+       (r-repository . bioconductor)))
+    (build-system r-build-system)
+    (home-page "http://bioconductor.org/packages/preprocessCore")
+    (synopsis "Preprocess functions for Bioconductor")
+    (description
+     "A library of core preprocessing routines.")
+    (license license:lgpl2.0+)))
 
-    (home-page #f)
-    (synopsis #f)
-    (description #f)
-    (license #f)))
 
 (define-public r-wgcna
+  (let ((commit "425bc170cc0873ddbd414675ac40f6d4d724c7cb"))
 (package
   (name "r-wgcna")
-  (version "1.48")
-  (source
-    (origin
-      (method url-fetch)
-      (uri (cran-uri "WGCNA" version))
-      (sha256
-        (base32
-          "18yl2v3s279saq318vd5hlwnqfm89rxmjjji778d2d26vviaf6bn"))))
+  (version (string-append "1.49-" commit))
+  (source (origin
+           (method git-fetch)
+           (uri (git-reference
+                 ;; (url "https://github.com/genenetwork/WGCNA.git")
+                 (url "https://github.com/pjotrp/WGCNA.git")
+                 (commit commit)))
+           (file-name (string-append name "-" commit))
+           (sha256
+            (base32
+             "1zqnsb8s3065rq1y2y3l79zi8wmdwjkcjls96ypycrb7pmdil58j"))))
   (properties `((upstream-name . "WGCNA")))
   (build-system r-build-system)
-  ;; (propagated-inputs
-    ;; `( ;; ("r-annotationdbi" ,r-annotationdbi)
-       ;; ("r-doparallel" ,r-doparallel)
-       ;; ("r-dynamictreecut" ,r-dynamictreecut)
-       ;; ("r-fastcluster" ,r-fastcluster)
-       ;; ("r-foreach" ,r-foreach)
-       ;; ("r-go.db" ,r-go.db)
-       ;; ("r-grdevices" ,r-grdevices)
-       ;; ("r-hmisc" ,r-hmisc)
-       ;; ("r-impute" ,r-impute)
-       ;; ("r-matrixstats" ,r-matrixstats)
-       ;; ("r-parallel" ,r-parallel)
-       ;; ("r-preprocesscore" ,r-preprocesscore)
-       ;; ("r-splines" ,r-splines)
-       ;; ("r-stats" ,r-stats)
-       ;; ("r-survival" ,r-survival)
-       ;; ("r-utils" ,r-utils)))
+  (propagated-inputs
+   `( ;; ("r-annotationdbi" ,r-annotationdbi)
+     ; ("r-biocparallel" ,r-biocparallel)
+     ("r-dynamictreecut" ,r-dynamictreecut)
+     ("r-doparallel" ,r-doparallel)
+     ("r-fastcluster" ,r-fastcluster)
+     ("r-foreach" ,r-foreach)
+     ("r-go-db" ,r-go-db)
+     ; ("r-grdevices" ,r-grdevices)
+     ("r-hmisc" ,r-hmisc)
+     ("r-impute" ,r-impute)
+     ("r-matrixstats" ,r-matrixstats)
+     ; ("r-parallel" ,r-parallel)
+     ("r-biocpreprocesscore" ,r-biocpreprocesscore)
+     ; ("r-splines" ,r-splines)
+     ; ("r-stats" ,r-stats)
+     ; ("r-survival" ,r-survival)
+     ; ("r-utils" ,r-utils)
+     ))
+    (arguments
+     `(
+       #:tests? #f))   ; no 'setup.py test'
   (home-page
     "http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/Rpackages/WGCNA/")
   (synopsis
-    "Weighted Correlation Network Analysis")
+    "Weighted gene correlation network analysis (wgcna)")
   (description
-    "Functions necessary to perform Weighted Correlation Network Analysis on high-dimensional data.  Includes functions for rudimentary data cleaning, construction of correlation networks, module identification, summarization, and relating of variables and modules to sample traits.  Also includes a number of utility functions for data manipulation and visualization.")
-  (license license:gpl2+)))
+    "Functions necessary to perform Weighted Correlation Network
+Analysis on high-dimensional data.  Includes functions for rudimentary
+data cleaning, construction of correlation networks, module
+identification, summarization, and relating of variables and modules
+to sample traits.  Also includes a number of utility functions for
+data manipulation and visualization.")
+  (license license:gpl2+))))
 
 (define-public qtlreaper
   (package
@@ -156,7 +155,7 @@ test.  For the permutation test, it performs only as many permutations
 as are necessary to define the empirical P-value to a reasonable
 precision. It also performs bootstrap resampling to estimate the
 confidence region for the location of a putative QTL.")
-    (license license:gpl2)))
+    (license license:gpl2+)))
 
 (define-public plink2
   (package
@@ -305,230 +304,86 @@ mixed model and some of its close relatives for genome-wide
 association studies (GWAS).")
     (license license:gpl3))))
 
-
-(define-public genenetwork1
-  (let ((commit "d622c803b"))
-  (package
-    (name "genenetwork1")
-    (version (string-append "1.0-" commit ))
-    (source (origin
-             (method git-fetch)
-             (uri (git-reference
-                   (url "https://github.com/genenetwork/genenetwork.git")
-                   ;; (url "https://github.com/pjotrp/genenetwork.git")
-                   (commit commit)))
-             (file-name (string-append name "-" commit)) 
+(define-public sambamba
+  (let ((commit "2ca5a2dbac5ab90c3b4c588519edc3edcb71df84"))
+    (package
+      (name "sambamba")
+      (version (string-append "0.5.9-1." (string-take commit 7)))
+      (source (origin
+        (method git-fetch)
+        (uri (git-reference                
+              (url "https://github.com/pjotrp/sambamba.git")
+              (commit commit)))
+        (file-name (string-append name "-" version "-checkout"))
+        (sha256
+         (base32
+          "1f14wn9aaxwjkmla6pzq3s28741carbr2v0fd2v2mm1dcpwnrqz5"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("ldc" ,ldc)
+         ("lz4" ,lz4)
+         ("rdmd" ,rdmd)
+         ("zlib" ,zlib)
+         ("perl" ,perl) ; Needed for htslib tests?
+         ("ruby" ,ruby) ; Needed for htslib tests?
+         ("python" ,python) ; Needed for htslib tests?
+         ("gcc" ,gcc)
+         ("htslib-src"
+          ,(origin
+             (method url-fetch)
+             (uri "https://github.com/samtools/htslib/archive/1.3.tar.gz")
+             (file-name "htslib-1.3.tar.gz")
              (sha256
-              (base32
-               "14fzfcm4vl20mlhxjslfa01i1nmxpk8lbxmfvpq6dyfc22ir62py"))))
-    (propagated-inputs `(
-              ("python" ,python-2) ;; probably superfluous
-              ("r" ,r) 
-    ))
-    (inputs `(
-              ;; http://spring211.uthsc.edu/gn/thirdparty.tbz
-              ;; graphviz-2.22.2  htmlgen  json  numarray-1.5.2  piddle  PIL  pp-1.5.7  pyx  pyXLWriter  svg
-              ("mysql" ,mysql)
-              ("nginx" ,nginx)
-              ("graphviz" ,graphviz)
-              ; ("python2-jinja2" ,python2-jinja2)
-              ; ("python2-sqlalchemy" ,python2-sqlalchemy)
-              ; ("python2-setuptools" ,python2-setuptools)
-              ; ("python2-scipy" ,python2-scipy)
-              ;; looks like python-numarray is not needed
-              ; ("python2-numpy" ,python2-numpy)
-              ; ("python2-pandas" ,python2-pandas)
-              ; ("python2-passlib" ,python2-passlib)
-              ; ("python2-redis" ,python2-redis)
-              ; ("python2-requests" ,python2-requests)
-              ; ("python2-simplejson" ,python2-simplejson)
-              ; ("python2-pyyaml" ,python2-pyyaml)
-              ;; python-yolk is not needed
-              ("python2-pil" ,python2-pil)
-              ("python2-numarray" ,python2-numarray)
-              ("plink" ,plink) ;; gn1
-              ; ("r-qtl" ,r-qtl)
-              ))
-    (build-system python-build-system)
-    (arguments
-     `(#:python ,python-2
-       #:tests? #f))   ; no 'setup.py test'
-    (home-page "http://genenetwork.org/")
-    (synopsis "Full genenetwork services")
-    (description "Genenetwork installation sumo.")
-    (license license:agpl3+))))
-
-(define-public genenetwork2
-  (let ((commit "9e9475053"))
-  (package
-    (name "genenetwork2")
-    (version (string-append "2.0-" commit ))
-    (source (origin
+              (base32 "1bqkif7yrqmiqak5yb74kgpb2lsdlg7y344qa1xkdg7k1l4m86i9"))
+             (patches (list (search-patch "htslib-add-cram_to_bam.patch")))))
+         ("biod-src"
+          ,(origin
              (method git-fetch)
              (uri (git-reference
-                   ;; (url "https://github.com/genenetwork/genenetwork2.git")
-                   (url "https://github.com/pjotrp/genenetwork2.git")
-                   (commit commit)))
-             (file-name (string-append name "-" commit)) 
+                   (url "https://github.com/biod/BioD.git")
+                   (commit "7efdb8a2f7fdcd71c9ad9596be48d1262bb1bd5b")))
+             (file-name "biod-src")
              (sha256
-              (base32
-               "09hvy9mf4dnmkb8qg49viffzrxk53m2kr4r955m84dxaa5pdrjhd"))))
-    (propagated-inputs `(  ;; propagated for development purposes
-              ("python" ,python-2) ;; probably superfluous
-              ("r" ,r)
-              ("redis" ,redis)
-              ("mysql" ,mysql)
-              ("gemma" ,gemma-git)
-              ("plink2" ,plink-ng)
-              ("nginx" ,nginx)
-              ("python2-flask" ,python2-flask)
-              ("python2-htmlgen-gn" ,python2-htmlgen-gn)
-              ("python2-jinja2" ,python2-jinja2)
-              ("python2-sqlalchemy" ,python2-sqlalchemy)
-              ("python2-flask-sqlalchemy" ,python2-flask-sqlalchemy)
-              ("python2-setuptools" ,python2-setuptools)
-              ("python2-scipy" ,python2-scipy)
-              ;; looks like python-numarray is not needed
-              ("python2-mysqlclient" ,python2-mysqlclient)
-              ("python2-numarray" ,python2-numarray)
-              ("python2-numpy" ,python2-numpy)
-              ("python2-pandas" ,python2-pandas)
-              ("python2-parallel" ,python2-parallel)
-              ("python2-passlib" ,python2-passlib)
-              ("python2-piddle" ,python2-piddle)
-              ("python2-redis" ,python2-redis)
-              ("python2-requests" ,python2-requests)
-              ("python2-rpy2" ,python2-rpy2)
-              ("python2-scipy" ,python2-scipy)
-              ("python2-simplejson" ,python2-simplejson)
-              ("python2-pyyaml" ,python2-pyyaml)
-              ("python2-xlsxwriter" ,python2-xlsxwriter)
-              ;; python-yolk is not needed
-              ("plink" ,plink) 
-              ("qtlreaper" ,qtlreaper) 
-              ("r-qtl" ,r-qtl)
-              ))
-    (build-system python-build-system)
-    (arguments
-     `(#:python ,python-2
-       #:tests? #f))   ; no 'setup.py test'
-    (home-page "http://genenetwork.org/")
-    (synopsis "Full genenetwork services")
-    (description "Genenetwork installation sumo.")
-    (license license:agpl3+))))
-
-(define-public rdmd
-  (package
-    (name "rdmd")
-    (version "20160217")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/D-Programming-Language/tools.git")
-                    (commit "4dba6877c481c1a911a7d50714da8fbd80022f0e")))
-              (file-name (string-append name "-" version "-checkout"))
-              (sha256
-               (base32
-                "1pcx5lyqzrip86f4vv60x292rpvnwsq2hvl1znm9x9rn68f34m45"))))
-    (build-system gnu-build-system)
-    (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (delete 'check)
-         (replace
-          'build
-          (lambda* _
-            (zero? (system* "ldc2" "rdmd.d"))))
-         (replace
-          'install
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
-              (mkdir-p bin)
-              (copy-file "rdmd" (string-append bin "/rdmd"))))))))
-    (native-inputs
-     `(("gcc" ,gcc)
-       ("ldc" ,ldc)))
-    (home-page "https://github.com/D-Programming-Language/tools/")
-    (synopsis "Extra tools for building D programs")
-    (description
-     "This repository hosts various tools redistributed with DMD or used
-internally during various build tasks.")
-    (license license:boost1.0)))
-
-(define-public sambamba
-  (package
-    (name "sambamba")
-    (version "0.5.9")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/lomereiter/sambamba/archive/v"
-                    version ".tar.gz"))
-              (file-name (string-append "sambamba-" version ".tar.gz"))
-              (sha256
-               (base32 "152zbg4m10ikr7xgk20c0nwqwrqvydmpc73p2c1fqmbhpk0l0ws6"))))
-    (build-system gnu-build-system)
-    (inputs
-     `(("ldc" ,ldc)
-       ;; These are currently included in "ldc".
-       ;;("druntime-ldc" ,druntime-ldc)
-       ;;("phobos2-ldc" ,phobos2-ldc)
-       ("lz4" ,lz4)))
-    (native-inputs
-     `(("ldc" ,ldc)
-       ;;("druntime-ldc" ,druntime-ldc)
-       ;;("phobos2-ldc" ,phobos2-ldc)
-       ("lz4" ,lz4)
-       ("gcc" ,gcc)
-       ("rdmd" ,rdmd)
-       ("htslib-src"
-        ,(origin
-           (method url-fetch)
-           (uri (string-append
-                 "https://github.com/lomereiter/htslib/archive/0.2.0-rc10.tar.gz"))
-           (file-name (string-append "htslib-0.2.0-rc10.tar.gz"))
-           (sha256
-            (base32 "1k6dlf6m8yayhcp7b4yisgw1xqdy1xg2xyrllss6ld0wg00hfcbs"))))
-       ("biod-src"
-        ,(origin
-           (method git-fetch)
-           (uri (git-reference
-                 (url "https://github.com/biod/BioD.git")
-                 (commit "7efdb8a2f7fdcd71c9ad9596be48d1262bb1bd5b")))
-           (sha256
-            (base32 "09icc2bjsg9y4hxjim4ql275izadf0kh1nnmapg8manyz6bc8svf"))
-           (file-name "biod")))))
-    (arguments
-     '(#:phases 
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (add-after 'unpack 'unpack-htslib-sources
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; Unfortunately, the current build compiles htslib statically
-             ;; into the executable.  Instead of patching the build files
-             ;; for Guix, this should be resolved on Sambamba upstream.  For
-             ;; now, just extract the source code to the desired directory.
-             (and (with-directory-excursion "htslib"
-                    (zero? (system* "tar" "xvf" (assoc-ref inputs "htslib-src")
-                                    "--strip-components=1")))
-                  (zero? (system* "cp" "-R" (assoc-ref inputs "biod-src") "BioD")))))
-         ;; Building a production-quality executable is done with a
-         ;; non-default make target. Adding it with #:make-flags breaks
-         ;; building tests.  Therefore, the default make got replaced by this.
-         (replace
-          'build
-          (lambda* (#:key (make-flags '()) #:allow-other-keys)
-            (zero? (system* "make" "sambamba-ldmd2-64" make-flags)))))))
-    (home-page "https://github.com/lomereiter/sambamba")
-    (synopsis "A tool for working with SAM and BAM files written in D.")
-    (description
-     "Sambamba is a high performance modern robust and fast tool (and
+              (base32 "09icc2bjsg9y4hxjim4ql275izadf0kh1nnmapg8manyz6bc8svf"))))))
+      (arguments
+       `(#:tests? #f
+         #:make-flags (list "-f" "Makefile.guix")
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (delete 'check)
+           (add-after 'unpack 'unpack-htslib-sources
+             (lambda* (#:key inputs #:allow-other-keys)
+               ;; The current build compiles htslib statically into the
+               ;; executable.  On top of that, we need to patch the latest
+               ;; version of htslib to have it working with Sambamba.
+               (and (with-directory-excursion "htslib"
+                      (zero? (system* "tar" "xvf" (assoc-ref inputs "htslib-src")
+                                      "--strip-components=1")))
+                    (zero? (system* "rm" "-r" "BioD"))
+                    (zero? (system* "ln" "--symbolic" "--no-target-directory"
+                                    (assoc-ref inputs "biod-src") "BioD")))))
+           (replace
+            'build
+            (lambda* (#:key inputs make-flags #:allow-other-keys)
+              (zero? (system* "make" "-f" "Makefile.guix"
+                              (string-append "LDC_LIB_PATH="
+                                             (assoc-ref inputs "ldc")
+                                             "/lib")))))
+           (replace
+            'install
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+                (install-file "build/sambamba" bin)))))))
+      (home-page "https://github.com/lomereiter/sambamba")
+      (synopsis "A tool for working with SAM and BAM files written in D.")
+      (description
+       "Sambamba is a high performance modern robust and fast tool (and
 library), written in the D programming language, for working with SAM
 and BAM files.  Current parallelised functionality is an important
 subset of samtools functionality, including view, index, sort,
 markdup, and depth.")
-    (license license:gpl2+)))
+      (license license:gpl2+))))
 
 (define-public picard
   (package