about summary refs log tree commit diff
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