diff options
-rw-r--r-- | gn/packages/bioinformatics.scm | 185 | ||||
-rw-r--r-- | gn/packages/genenetwork.scm | 204 | ||||
-rw-r--r-- | gn/packages/statistics.scm | 40 |
3 files changed, 264 insertions, 165 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 1b4680e..80fe134 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) @@ -34,7 +35,6 @@ #:use-module (gnu packages popt) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) - #:use-module (gnu packages ruby) #:use-module (gnu packages statistics) #:use-module (gnu packages tbb) #:use-module (gnu packages textutils) @@ -44,47 +44,9 @@ #: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 - (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))))) - - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - (define-public r-wgcna (package (name "r-wgcna") @@ -306,117 +268,6 @@ 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)) - (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 - (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)) - (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 (let ((commit "4dba6877c481c1a911a7d50714da8fbd80022f0e")) (package @@ -461,17 +312,20 @@ and freshness without requiring additional information from the user.") (license license:boost1.0)))) (define-public sambamba + (let ((commit "2ca5a2dba")) (package (name "sambamba") - (version "0.5.9") + (version (string-append "0.5.9-" commit)) (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")))) + (method git-fetch) + (uri (git-reference + ;; https://github.com/pjotrp/sambamba.git + (url "https://github.com/pjotrp/sambamba.git") + (commit commit))) + (file-name (string-append name "-" commit)) + (sha256 + (base32 + "1f14wn9aaxwjkmla6pzq3s28741carbr2v0fd2v2mm1dcpwnrqz5")))) (build-system gnu-build-system) (inputs `(("ldc" ,ldc) @@ -514,16 +368,17 @@ and freshness without requiring additional information from the user.") ;; 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"))))) + (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))))))) + (zero? (system* "make" "-f" "Makefile.guix" make-flags))))))) (home-page "https://github.com/lomereiter/sambamba") (synopsis "A tool for working with SAM and BAM files written in D.") (description @@ -532,7 +387,7 @@ 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 diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm new file mode 100644 index 0000000..2f755a6 --- /dev/null +++ b/gn/packages/genenetwork.scm @@ -0,0 +1,204 @@ +;; Bioinformatics module + +(define-module (gn packages genenetwork) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #: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 r) + #:use-module (guix build-system trivial) + #:use-module (gnu packages) + #:use-module (gnu packages algebra) + #:use-module (gnu packages base) + #:use-module (gnu packages bioinformatics) + #:use-module (gnu packages boost) + #:use-module (gnu packages compression) + #:use-module (gnu packages databases) + #:use-module (gnu packages cpio) + #:use-module (gnu packages file) + #:use-module (gnu packages gcc) + #: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) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages popt) + #:use-module (gnu packages protobuf) + #:use-module (gnu packages python) + #:use-module (gnu packages statistics) + #:use-module (gnu packages tbb) + #:use-module (gnu packages textutils) + #:use-module (gnu packages vim) + #:use-module (gnu packages web) + #:use-module (gnu packages xml) + #:use-module (gnu packages zip) + #:use-module (gnu packages bootstrap) + #:use-module (gn packages bioinformatics) + #:use-module (gn packages python) + #:use-module (gn packages statistics) + #:use-module (srfi srfi-1)) + +(define-public my-deploy + (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))))) + + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(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)) + (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 + (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)) + (sha256 + (base32 + "09hvy9mf4dnmkb8qg49viffzrxk53m2kr4r955m84dxaa5pdrjhd")))) + (propagated-inputs `( ;; propagated for development purposes + ("python" ,python-2) ;; probably superfluous + ("r" ,r) + ("redis" ,redis) + ("mysql" ,mysql) + ("gemma" ,gemma-git) + ("pylmm-gn2" ,pylmm-gn2) + ("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+)))) + +;; ./pre-inst-env guix download http://files.genenetwork.org/raw_database/db_webqtl_s.zip +;; 0sscjh0wml2lx0mb43vf4chg9gpbfi7abpjxb34n3kyny9ll557x diff --git a/gn/packages/statistics.scm b/gn/packages/statistics.scm index 065826e..2d83816 100644 --- a/gn/packages/statistics.scm +++ b/gn/packages/statistics.scm @@ -148,3 +148,43 @@ "R/lmmlite") (home-page "https://github.com/kbroman/") (license license:asl2.0))) + +(define-public pylmm-gn2 + (let ((commit "3c6d1cac8")) + (package + (name "pylmm-gn2") + (version (string-append "1.0-" commit )) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/genenetwork/pylmm.git") + (commit commit))) + (file-name (string-append name "-" commit)) + (sha256 + (base32 + "0wryaadb36i275p9d2i1kzflahvbl9kj5wlk8jlbvjij8gpqg964")))) + (build-system python-build-system) + (inputs `( + ("python2-setuptools" ,python2-setuptools) + ("python2-scipy" ,python2-scipy) + ("python2-numpy" ,python2-numpy) + )) + (arguments + `(#:python ,python-2 + #:tests? #f ; no 'setup.py test' + #:phases + (modify-phases %standard-phases + (add-before + 'build 'change-paths + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "scripts/pylmm_redis" + (("/usr/bin/python") (which "python")) + (("\\$PACKAGEDIR") (string-append out "/lib/python2.7/site-packages"))) + )))))) + + (home-page "http://genenetwork.org/") + (synopsis "LMM resolver") + (description "Fast and lightweight linear mixed-model (LMM) solver +for use in genome-wide association studies (GWAS).") + (license license:agpl3+)))) |