aboutsummaryrefslogtreecommitdiff
path: root/gn/packages/bioinformatics.scm
diff options
context:
space:
mode:
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