aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Isaac2024-01-02 16:55:32 +0000
committerArun Isaac2024-01-02 16:55:32 +0000
commit05dd63817302e890a16a33fc3b5f88fa07a8184d (patch)
tree97b967732fcd5526a60b28a43a0568fdd12b7690
parent8c75815e1ba02dcad7500e56b2dfe0987105b3db (diff)
downloadguix-bioinformatics-05dd63817302e890a16a33fc3b5f88fa07a8184d.tar.gz
gn: genenetwork2: Use G-expressions.
* gn/packages/genenetwork.scm (genenetwork2): Use G-expressions.
-rw-r--r--gn/packages/genenetwork.scm387
1 files changed, 126 insertions, 261 deletions
diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm
index 890d7e5..6be016e 100644
--- a/gn/packages/genenetwork.scm
+++ b/gn/packages/genenetwork.scm
@@ -202,270 +202,135 @@
(native-inputs
(list graphviz))
(propagated-inputs
- `(("genenetwork3" ,genenetwork3)
- ("parallel" ,parallel) ;; GNU parallel
- ("coreutils" ,coreutils)
- ("git" ,git)
- ("which" ,which)
- ("grep" ,grep)
- ("r" ,r)
- ("r-ctl" ,r-ctl)
- ("r-qtl" ,r-qtl)
- ("r-wgcna" ,r-wgcna)
- ("redis" ,redis)
- ("mariadb" ,mariadb)
- ("gemma" ,gemma-gn2)
- ("gemma-wrapper" ,gemma-wrapper)
- ("plink-ng-gn" ,plink-ng-gn)
- ("rust-qtlreaper" ,rust-qtlreaper)
- ("gn-rust-correlation" ,gn-rust-correlation)
- ("glibc-utf8-locales" ,glibc-utf8-locales)
- ("nginx" ,nginx)
- ("python" ,python-wrapper)
- ("python-pillow" ,python-pillow)
- ("python-coverage" ,python-coverage)
- ("python-configparser" ,python-configparser) ;; maintenance/scripts
- ("python-flask" ,python-flask)
- ("gunicorn" ,gunicorn)
- ("python-autopep8" ,python-autopep8)
- ("python-cssselect" ,python-cssselect)
- ("python-flask-debugtoolbar" ,python-flask-debugtoolbar)
- ("python-htmlgen" ,python-htmlgen)
- ("python-ijson" ,python-ijson)
- ("python-jinja2" ,python-jinja2)
- ("python-pytest" ,python-pytest)
- ("python-pytest-mock" ,python-pytest-mock)
- ("python-sqlalchemy" ,python-sqlalchemy)
- ("python-setuptools" ,python-setuptools)
- ("python-scipy" ,python-scipy)
- ("python-lxml" ,python-lxml)
- ("python-mysqlclient" ,python-mysqlclient)
- ("python-mypy" ,python-mypy)
- ("python-numpy" ,python-numpy)
- ("python-pandas" ,python-pandas)
- ("python-pylint" ,python-pylint)
- ("python-pymonad" ,python-pymonad)
- ("python-redis" ,python-redis)
- ("python-requests" ,python-requests)
- ("python-simplejson" ,python-simplejson)
- ("python-markdown" ,python-markdown)
- ("python-rdflib" ,python-rdflib)
- ("python-authlib" ,python-authlib)
- ("python-flask-session" ,python-flask-session)
- ;; TODO: Get rid of Python R bindings
- ("python-rpy2" ,python-rpy2)
- ("python-beautifulsoup4" ,python-beautifulsoup4)
- ;; Disable for now. Build fails on Penguin2
- ;; ("python-flask-socketio" ,python-flask-socketio)
- ("python-xlsxwriter" ,python-xlsxwriter)
- ;; All the external js dependencies
- ("javascript-twitter-post-fetcher" ,javascript-twitter-post-fetcher)
- ("javascript-cytoscape" ,javascript-cytoscape)
- ("javascript-panzoom" ,javascript-cytoscape-panzoom)
- ("javascript-qtip" ,javascript-cytoscape-qtip)
- ("javascript-chroma" ,javascript-chroma)
- ("javascript-d3-tip" ,javascript-d3-tip)
- ("javascript-jscolor" ,javascript-jscolor)
- ("javascript-colorbox" ,javascript-colorbox)
- ("javascript-jszip" ,javascript-jszip)
- ("js-jstat" ,js-jstat)
- ("js-md5" ,js-md5)
- ("js-parsley" ,js-parsley)
- ("javascript-plotly" ,javascript-plotly)
- ("javascript-typeahead" ,javascript-typeahead)
- ("js-underscore" ,js-underscore)
- ("js-smart-time-ago" ,js-smart-time-ago)
- ("javascript-nouislider" ,javascript-nouislider)
- ("javascript-purescript-genome-browser" ,javascript-purescript-genome-browser)
- ("javascript-ckeditor" ,javascript-ckeditor)
- ("javascript-datatables" ,javascript-datatables)
- ("javascript-datatables-scroller" ,javascript-datatables-scroller)
- ("javascript-datatables-buttons" ,javascript-datatables-buttons)
- ("javascript-datatables-buttons-bootstrap" ,javascript-datatables-buttons-bootstrap)
- ("javascript-datatables-plugins" ,javascript-datatables-plugins)
- ("javascript-datatables-col-reorder" ,javascript-datatables-col-reorder)
- ("javascript-datatables-col-resize" ,javascript-datatables-col-resize)
- ("javascript-datatables-buttons-styles" ,javascript-datatables-buttons-styles)
- ("javascript-shapiro-wilk" ,javascript-shapiro-wilk)
- ("javascript-underscore-string" ,javascript-underscore-string)
- ("javascript-htmx" ,javascript-htmx)
- ("javascript-qtip2" ,javascript-qtip2)
- ("javascript-d3js" ,javascript-d3js)
- ("javascript-nvd3" ,javascript-nvd3)
- ("javascript-bootstrap" ,javascript-bootstrap)
- ("javascript-jquery" ,javascript-jquery)
- ("javascript-zxcvbn" ,javascript-zxcvbn)
- ("javascript-jquery-ui" ,javascript-jquery-ui)
- ("javascript-jquery-cookie" ,javascript-jquery-cookie)
- ("javascript-xterm" ,javascript-xterm)
- ("javascript-xterm-style" ,javascript-xterm-style)
- ("javascript-xterm-addon-fit",javascript-xterm-addon-fit)
- ("javascript-font-awesome" ,javascript-font-awesome)))
+ (list genenetwork3
+ parallel
+ coreutils
+ git
+ which
+ grep
+ r
+ r-ctl
+ r-qtl
+ r-wgcna
+ redis
+ mariadb
+ gemma
+ gemma-wrapper
+ plink-ng-gn
+ rust-qtlreaper
+ gn-rust-correlation
+ glibc-utf8-locales
+ nginx
+ python-wrapper
+ python-pillow
+ python-coverage
+ python-configparser
+ python-flask
+ gunicorn
+ python-autopep8
+ python-cssselect
+ python-flask-debugtoolbar
+ python-htmlgen
+ python-ijson
+ python-jinja2
+ python-pytest
+ python-pytest-mock
+ python-sqlalchemy
+ python-setuptools
+ python-scipy
+ python-lxml
+ python-mysqlclient
+ python-mypy
+ python-numpy
+ python-pandas
+ python-pylint
+ python-pymonad
+ python-redis
+ python-requests
+ python-simplejson
+ python-markdown
+ python-rdflib
+ python-authlib
+ python-flask-session
+ python-rpy2
+ python-beautifulsoup4
+ python-xlsxwriter
+ javascript-twitter-post-fetcher
+ javascript-cytoscape
+ javascript-cytoscape-panzoom
+ javascript-cytoscape-qtip
+ javascript-chroma
+ javascript-d3-tip
+ javascript-jscolor
+ javascript-colorbox
+ javascript-jszip
+ js-jstat
+ js-md5
+ js-parsley
+ javascript-plotly
+ javascript-typeahead
+ js-underscore
+ js-smart-time-ago
+ javascript-nouislider
+ javascript-purescript-genome-browser
+ javascript-ckeditor
+ javascript-datatables
+ javascript-datatables-scroller
+ javascript-datatables-buttons
+ javascript-datatables-buttons-bootstrap
+ javascript-datatables-plugins
+ javascript-datatables-col-reorder
+ javascript-datatables-col-resize
+ javascript-datatables-buttons-styles
+ javascript-shapiro-wilk
+ javascript-underscore-string
+ javascript-htmx
+ javascript-qtip2
+ javascript-d3js
+ javascript-nvd3
+ javascript-bootstrap
+ javascript-jquery
+ javascript-zxcvbn
+ javascript-jquery-ui
+ javascript-jquery-cookie
+ javascript-xterm
+ javascript-xterm-style
+ javascript-xterm-addon-fit
+ javascript-font-awesome))
(inputs
- `(("javascript-colorbox" ,(package-source javascript-colorbox))))
+ (list javascript-colorbox))
(build-system python-build-system)
(arguments
- `(#:tests? #f ; no 'setup.py test'
- #:phases
- (modify-phases %standard-phases
- (delete 'reset-gzip-timestamps)
- (add-after 'unpack 'fix-paths-scripts
- (lambda _
- (substitute* "bin/genenetwork2"
- (("/usr/bin/env") (which "env"))
- (("python ") (string-append (which "python3") " "))
- (("readlink") (which "readlink"))
- (("dirname") (which "dirname"))
- (("basename") (which "basename"))
- (("cat") (which "cat"))
- (("echo") (which "echo"))
- (("redis-server") (which "redis-server"))
- (("git") (which "git"))
- (("grep") (which "grep"))
- (("rm") (which "rm"))
- (("which") (which "which")))
- #t))
- ; (add-after 'unpack 'patch-javascript
- ; (lambda* (#:key inputs #:allow-other-keys)
- ; (let ((colorbox (assoc-ref inputs "javascript-colorbox"))
- ; (gn2 "/share/genenetwork2/javascript/"))
- ; (delete-file-recursively "wqflask/wqflask/static/packages/colorbox")
- ; (copy-recursively colorbox "wqflask/wqflask/static/packages/colorbox")
- ; #t)))
- (add-before 'install 'fix-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let* (
- ; (datafiles (string-append (assoc-ref inputs "genenetwork2-files-small") "/share/genenetwork2"))
- ; (pylmmcmd (string-append (assoc-ref inputs "pylmm-gn2") "/bin/pylmm_redis"))
- (plink2cmd (string-append (assoc-ref inputs "plink-ng-gn") "/bin/plink2"))
- (gemmacmd (string-append (assoc-ref inputs "gemma") "/bin/gemma"))
- )
-
- (substitute* '("gn2/default_settings.py")
- ; (("^GENENETWORK_FILES +=.*") (string-append "GENENETWORK_FILES = \"" datafiles "\"\n" ))
- ; (("^PYLMM_COMMAND =.*") (string-append "PYLMM_COMMAND = \"" pylmmcmd "\"\n" ))
- (("^PLINK_COMMAND =.*") (string-append "PLINK_COMMAND = \"" plink2cmd "\"\n" ))
- (("^GEMMA_COMMAND =.*") (string-append "GEMMA_COMMAND = \"" gemmacmd "\"\n" ))
- )
- )))
- ; (add-after 'install 'generate-graph
- ; (lambda* (#:key inputs outputs #:allow-other-keys)
- ; (call-with-output-file
- ; (string-append
- ; (assoc-ref outputs "out")
- ; "/lib/python"
- ; (python-version (assoc-ref inputs "python"))
- ; "/site-packages"
- ; "/wqflask/dependency-graph.html")
- ; (lambda (port)
- ; (format
- ; port "~a"
- ; ,(call-with-output-string
- ; (lambda (p)
- ; (with-output-to-port p
- ; (lambda ()
- ; (run-with-store
- ; (open-connection)
- ; (export-graph
- ; (list this-package)
- ; p
- ; #:node-type %package-node-type
- ; #:backend %d3js-backend)))))))))))
- ;(add-after 'install 'generate-dag-svg-file
- ; (lambda* (#:key inputs outputs #:allow-other-keys)
- ; (let* ((output-dir
- ; (string-append
- ; (assoc-ref outputs "out")
- ; "/lib/python"
- ; (python-version (assoc-ref inputs "python"))
- ; "/site-packages/wqflask/"))
- ; (dot-file
- ; (string-append
- ; output-dir
- ; "dependency-graph.dot"))
- ; (svg-file
- ; (string-append
- ; output-dir
- ; "dependency-graph.svg")))
- ; (begin
- ; (call-with-output-file
- ; dot-file
- ; (lambda (port)
- ; (format
- ; port "~a"
- ; ,(call-with-output-string
- ; (lambda (p)
- ; (with-output-to-port p
- ; (lambda ()
- ; (run-with-store
- ; (open-connection)
- ; (export-graph
- ; (list this-package)
- ; p
- ; #:node-type %package-node-type
- ; #:backend %graphviz-backend)))))))))
- ; (invoke "dot" "-Tsvg" "-o" svg-file dot-file)))))
-
- ;; TODO: Use this to replace the two previous phases.
- ;(add-after 'install 'install-generated-files
- ; (lambda* (#:key inputs outputs #:allow-other-keys)
- ; (let ((output-dir
- ; (string-append
- ; (assoc-ref outputs "out")
- ; "/lib/python"
- ; (python-version (assoc-ref inputs "python"))
- ; "/site-packages/wqflask/")))
- ; (install-file (string-append %dag-svg-file "/dependency-graph.dot") output-dir)
- ; (install-file (string-append %dag-svg-file "/dependency-graph.svg") output-dir)
- ; (install-file (string-append %genenetwork-graph "/dependency-graph.html") output-dir)
- ; #t)))
-
- #!
- (add-after 'install 'generate-dependency-file
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (call-with-output-file
- (string-append
- (assoc-ref outputs "out")
- "/lib/python"
- (python-version (assoc-ref inputs "python"))
- "/site-packages"
- "/wqflask/DEPENDENCIES.md"
- )
- (lambda (port)
- (format
- port "
-#### System Inputs (generated from ~a package defined in ~a)
-|Name | Description |
-|-----|-------------|
-~a
-"
- ,(package-name this-package)
- (string-append
- "[genenetwork.scm]"
- "(http://git.genenetwork.org/"
- "guix-bioinformatics/guix-bioinformatics"
- "/src/branch/master/gn/packages/"
- "genenetwork.scm)")
- ,(apply
- string-append
- (map
- (lambda (input)
- (let* ((pkg (cadr input))
- (name (package-name pkg))
- (version (package-version pkg))
- (home-page (package-home-page pkg))
- (description (package-synopsis pkg)))
- (string-append
- "| **[" name "](" home-page ")** v"
- version"| "
- description " |\n")))
- (package-propagated-inputs this-package))))))))
- !#
- )))
- (home-page "http://genenetwork.org/")
- (synopsis "Full genenetwork services")
- (description "Genenetwork installation sumo.")
- (license license:agpl3+))))
+ (list #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'reset-gzip-timestamps)
+ (add-after 'unpack 'fix-paths-scripts
+ (lambda _
+ (substitute* "bin/genenetwork2"
+ (("/usr/bin/env") (which "env"))
+ (("python ") (string-append (which "python3") " "))
+ (("readlink") (which "readlink"))
+ (("dirname") (which "dirname"))
+ (("basename") (which "basename"))
+ (("cat") (which "cat"))
+ (("echo") (which "echo"))
+ (("redis-server") (which "redis-server"))
+ (("git") (which "git"))
+ (("grep") (which "grep"))
+ (("rm") (which "rm"))
+ (("which") (which "which")))))
+ (add-before 'install 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((plink2cmd (string-append (assoc-ref inputs "plink-ng-gn") "/bin/plink2"))
+ (gemmacmd (string-append (assoc-ref inputs "gemma") "/bin/gemma")))
+ (substitute* '("gn2/default_settings.py")
+ (("^PLINK_COMMAND =.*") (string-append "PLINK_COMMAND = \"" plink2cmd "\"\n" ))
+ (("^GEMMA_COMMAND =.*") (string-append "GEMMA_COMMAND = \"" gemmacmd "\"\n" )))))))))
+ (home-page "http://genenetwork.org/")
+ (synopsis "Full genenetwork services")
+ (description "Genenetwork installation sumo.")
+ (license license:agpl3+))))
(define-public gnqc-py
(package