diff options
Diffstat (limited to 'gn/packages')
-rw-r--r-- | gn/packages/genecup.scm | 15 | ||||
-rw-r--r-- | gn/packages/genenetwork.scm | 114 | ||||
-rw-r--r-- | gn/packages/javascript.scm | 197 | ||||
-rw-r--r-- | gn/packages/mouse-longevity.scm | 87 | ||||
-rw-r--r-- | gn/packages/node.scm | 23 |
5 files changed, 358 insertions, 78 deletions
diff --git a/gn/packages/genecup.scm b/gn/packages/genecup.scm index 0cd776f..868bfff 100644 --- a/gn/packages/genecup.scm +++ b/gn/packages/genecup.scm @@ -7,7 +7,9 @@ #:use-module (guix git-download) #:use-module (guix build-system python) #:use-module (gnu packages admin) + #:use-module (gnu packages base) #:use-module (gnu packages bioinformatics) + #:use-module (gnu packages compression) #:use-module (gnu packages javascript) #:use-module (gnu packages machine-learning) #:use-module (gnu packages python) @@ -153,6 +155,11 @@ if __name__ == '__main__': (lambda _ (substitute* "server.py" (("4200") "4204")))) + ;; TODO: This should be disabled in the source. + (add-after 'unpack 'disable-debug-mode + (lambda _ + (substitute* "server.py" + (("debug=True") "debug=False")))) (add-after 'unpack 'make-files-writable (lambda _ (for-each make-file-writable (find-files ".")))) @@ -179,6 +186,10 @@ if __name__ == '__main__': (("https.*1.12.9/umd/popper.min.js.*\\\">") "/static/popper.min.js\">")) (substitute* "ratspub.py" (("hostname") (string-append inetutils "/bin/hostname")))))) + (add-after 'unpack 'extract-pubmed-archive + (lambda _ + (invoke "gzip" "-d" "minipubmed.tgz") + (invoke "tar" "xvf" "minipubmed.tar"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -230,6 +241,8 @@ if __name__ == '__main__': (inputs `(("edirect" ,edirect) ("inetutils" ,inetutils) + ("gzip" ,gzip) + ("tar" ,tar) ("python-bcrypt" ,python-bcrypt) ("python-flask-sqlalchemy" ,python-flask-sqlalchemy) ("python-keras" ,python-keras-no-tests) @@ -263,7 +276,7 @@ concepts and a list of keywords for each concept.") (version "HEAD-of-master-branch") (source (git-checkout - (url "https://github.com/hakangunturkun/GeneCup") + (url "https://git.genenetwork.org/genecup") (branch "master"))))) (define-public genecup-with-tensorflow-native diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm index 2b7ca51..0aa43d9 100644 --- a/gn/packages/genenetwork.scm +++ b/gn/packages/genenetwork.scm @@ -51,6 +51,7 @@ #:use-module (gn packages crates-io) #:use-module (gn packages gemma) #:use-module (gn packages javascript) + #:use-module (gn packages node) #:use-module (gn packages python) #:use-module (gn packages statistics) #:use-module (gn packages web) @@ -112,7 +113,7 @@ ((#:tests? _ #f) #f))))) (define-public genenetwork3 - (let ((commit "9f27bdc3ca41e09a090093bc36f48851fcc4fc42") + (let ((commit "dbc548bc4bbab7dbb5c7a61f6b46a746153e2bca") (revision "5")) (package (name "genenetwork3") @@ -126,7 +127,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "10j5afdfi258s1icakrid9fanp4rrpf1scxdqik31hbvyk7qdvfy")))) + "0az62clmhlvb5j49xw0slkly8527hlj300ffw9fz6sjb0bvafg6s")))) (inputs (list python-click)) (native-inputs @@ -185,7 +186,7 @@ (license license:agpl3+)))) (define-public genenetwork2 - (let ((commit "deb8d7241f1ca05865fababc2799ead9a684f8be") + (let ((commit "ae572dfe805defc4d40d173325178f5b08c080bf") (revision "4")) (package (name "genenetwork2") @@ -198,7 +199,7 @@ (file-name (string-append name "-" version)) (sha256 (base32 - "1hvxn88jc9r4h88kgna6jahs66cpkc39vq10qcqcnwa09ghyban1")))) + "0d93p4wpc5icikq395975y4bcw95j17x5m5f91r4gxrf8v79s0kb")))) (native-inputs (list graphviz)) (propagated-inputs @@ -211,6 +212,7 @@ gn-rust-correlation grep gunicorn + javascript-ace javascript-bootstrap javascript-chroma javascript-ckeditor @@ -230,8 +232,13 @@ javascript-datatables-col-resize javascript-datatables-plugins javascript-datatables-scroller + javascript-diff + javascript-diff2html + javascript-diff2html-ui javascript-font-awesome javascript-htmx + javascript-highlight + javascript-highlight-ui javascript-jquery javascript-jquery-cookie javascript-jquery-ui @@ -239,6 +246,8 @@ javascript-jszip javascript-linkify javascript-linkify-html + javascript-marked + javascript-marked-highlight javascript-nouislider javascript-nvd3 javascript-plotly @@ -453,10 +462,14 @@ python-redis python-flask python-pyyaml + python-authlib + python-pymonad python-jsonpickle python-mysqlclient + python-flask-session javascript-jquery - javascript-bootstrap)) + javascript-bootstrap + node-resumablejs)) (synopsis "GeneNetwork Quality Control Application") (description "gn-uploader is a service allowing upload of new data into GeneNetwork, @@ -466,50 +479,53 @@ (license license:agpl3+)))) (define-public gn-auth - (package - (name "gn-auth") - (version "1.0.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://git.genenetwork.org/gn-auth") - (commit "c8658a764cf30605c6e5a1361dcd09ddd422e371"))) - (hash - (content-hash - (base32 - "1hc95p0nif1r973f61qixm1dxahnczsj9iy9r3d26jn8xv1lfz53"))))) - (build-system python-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "pytest" "-k" "unit_test"))))))) - (native-inputs - (list python-hypothesis - python-mypy - python-mypy-extensions - python-pylint - python-pytest - python-pytest-mock)) - (propagated-inputs - (list gunicorn - python-argon2-cffi - python-authlib - python-email-validator - python-flask - python-flask-cors - python-mysqlclient - python-pymonad - python-redis - yoyo-migrations)) - (home-page "https://github.com/genenetwork/gn-auth") - (synopsis "Authentication and Authorisation server for GeneNetwork services") - (description "Authentication and Authorisation server for GeneNetwork services.") - (license license:agpl3+))) + (let ((commit "8679ee038a1976c2504af4c4b61af6004f54de65") + (revision "01")) + (package + (name "gn-auth") + (version (git-version "1.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.genenetwork.org/gn-auth") + (commit commit))) + (hash + (content-hash + (base32 + "0p3nxg8dyxxhg8cv1yznmazch6wilg9irrhcn9499mqbcbn3ig9i"))))) + (build-system python-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-k" "unit_test"))))))) + (native-inputs + (list python-hypothesis + python-mypy + python-mypy-extensions + python-pylint + python-pytest + python-pytest-mock)) + (propagated-inputs + (list gunicorn + python-blinker + python-argon2-cffi + python-authlib + python-email-validator + python-flask + python-flask-cors + python-mysqlclient + python-pymonad + python-redis + yoyo-migrations)) + (home-page "https://github.com/genenetwork/gn-auth") + (synopsis "Authentication and Authorisation server for GeneNetwork services") + (description "Authentication and Authorisation server for GeneNetwork services.") + (license license:agpl3+)))) ;; ./pre-inst-env guix download http://files.genenetwork.org/raw_database/db_webqtl_s.zip ;; 0sscjh0wml2lx0mb43vf4chg9gpbfi7abpjxb34n3kyny9ll557x diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 7f9f35d..a70dccd 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -2058,34 +2058,33 @@ vector graphics.") (define-public javascript-ace (package - (name "javascript-ace") - (version "1.31.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ajaxorg/ace-builds.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "08rfyrjfjjgb42x4if5qqfyvv8ag2qmf6vsbs7qrcnzgrac66m35")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (targetdir (string-append out "/share/genenetwork2/javascript/ace")) - (source (assoc-ref %build-inputs "source")) - (dist (string-append source "/src-min-noconflict"))) - (copy-recursively dist targetdir))))) - (native-inputs `(("source" ,source))) - (home-page "https://github.com/ajaxorg/ace-builds") - (synopsis "Ace is a code editor written in JavaScript.") - (description - "Ace is a code editor written in JavaScript. ") - (license license:expat))) + (name "javascript-ace") + (version "1.31.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ajaxorg/ace-builds.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08rfyrjfjjgb42x4if5qqfyvv8ag2qmf6vsbs7qrcnzgrac66m35")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out + "/share/genenetwork2/javascript/ace")) + (source (assoc-ref %build-inputs "source")) + (dist (string-append source "/src-min-noconflict"))) + (copy-recursively dist targetdir))))) + (native-inputs `(("source" ,source))) + (home-page "https://github.com/ajaxorg/ace-builds") + (synopsis "Ace is a code editor written in JavaScript.") + (description "Ace is a code editor written in JavaScript. ") + (license license:bsd-3))) (define-public javascript-uikit (package @@ -2178,3 +2177,145 @@ for developing fast and powerful web interfaces.") (description "JavaScript plugin for finding links in plain-text and highlightinging links within strings that contain HTML markup.") (license license:expat))) + +(define-public javascript-diff2html + (package + (name "javascript-diff2html") + (version "3.4.48") + (source + (origin + (method url-fetch) + (uri (string-append "https://cdn.jsdelivr.net/npm/diff2html@" version + "/bundles/js/diff2html.min.js")) + (sha256 + (base32 "02sqk3i5l1viw2dq2c2z4ja9mgsn9cks9l4ln1fsw4y91fw1m6n5")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((source (assoc-ref %build-inputs "source")) + (out (assoc-ref %outputs "out")) + (targetdir (string-append out + "/share/genenetwork2/javascript/diff2html"))) + (mkdir-p targetdir) + (copy-file source + (string-append targetdir "/diff2html.min.js")))))) + (native-inputs `(("source" ,source))) + (home-page "https://diff2html.xyz/") + (synopsis "Diff parser and pretty html generator.") + (description + "diff2html generates pretty HTML diffs from git diff or unified diff output.") + (license license:expat))) + +(define-public javascript-diff2html-ui + (package + (inherit javascript-diff2html) + (name "javascript-diff2html-ui") + (version "3.4.48") + (source + (origin + (method url-fetch) + (uri (string-append "https://cdn.jsdelivr.net/npm/diff2html@" version + "/bundles/css/diff2html.min.css")) + (sha256 + (base32 "0y05qm8si1nd5l9q67il36p6q1xkbffrzlp7q6pli9sraghlmh10")))) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out + "/share/genenetwork2/javascript/diff2html")) + (source (assoc-ref %build-inputs "source"))) + (mkdir-p targetdir) + (copy-file source + (string-append targetdir "/diff2html.min.css")))))) + (native-inputs `(("source" ,source))))) + +(define-public javascript-diff + (package + (name "javascript-diff") + (version "5.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://cdn.jsdelivr.net/npm/diff@" version + "/dist/diff.min.js")) + (sha256 + (base32 "0zvbllgfyq8x3hjkygc9fd0gqqkbvz6qa02mcilvs6djfj9vsa9s")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((source (assoc-ref %build-inputs "source")) + (out (assoc-ref %outputs "out")) + (targetdir (string-append out + "/share/genenetwork2/javascript/jsdiff"))) + (mkdir-p targetdir) + (copy-file source + (string-append targetdir "/diff.min.js")))))) + (native-inputs `(("source" ,source))) + (home-page "https://github.com/kpdecker/jsdiff#readme") + (synopsis "A JavaScript text differencing implementation. ") + (description "A JavaScript text differencing implementation.") + (license license:bsd-3))) + +(define-public javascript-highlight + (package + (name "javascript-highlight") + (version "11.10.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/" version + "/highlight.min.js")) + (sha256 + (base32 "0cpdabxn5hbij3ci5gb769mi0qmmxvgqxi6d1x2ay1y4j2pgj7j7")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out + "/share/genenetwork2/javascript/highlight")) + (source (assoc-ref %build-inputs "source"))) + (mkdir-p targetdir) + (copy-file source + (string-append targetdir "/highlight.min.js")))))) + (native-inputs `(("source" ,source))) + (home-page "https://highlightjs.org/") + (synopsis "Highlight.js is a syntax highlighter written in JavaScript.") + (description + "JavaScript syntax highlighter with language auto-detection and zero dependencies.") + (license license:bsd-3))) + +(define-public javascript-highlight-ui + (package + (inherit javascript-highlight) + (name "javascript-highlight-ui") + (version "11.10.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/" version + "/styles/default.min.css")) + (sha256 + (base32 "1ky70fgj8ixlr9h01w4g3fyj6yl8khqyfchmqibc71hxjb00mppv")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out + "/share/genenetwork2/javascript/highlight")) + (source (assoc-ref %build-inputs "source"))) + (mkdir-p targetdir) + (copy-file source + (string-append targetdir "/default.min.css")))))) + (native-inputs `(("source" ,source))))) diff --git a/gn/packages/mouse-longevity.scm b/gn/packages/mouse-longevity.scm new file mode 100644 index 0000000..f11a7b9 --- /dev/null +++ b/gn/packages/mouse-longevity.scm @@ -0,0 +1,87 @@ +;;; guix-bioinformatics --- Bioinformatics packages for GNU Guix +;;; Copyright © 2024 jgart <jgart@dismail.de> +;;; +;;; This file is part of guix-bioinformatics. +;;; +;;; genenetwork-machines is free software: you can redistribute it +;;; and/or modify it under the terms of the GNU General Public License +;;; as published by the Free Software Foundation, either version 3 of +;;; the License, or (at your option) any later version. +;;; +;;; genenetwork-machines is distributed in the hope that it will be +;;; useful, but WITHOUT ANY WARRANTY; without even the implied +;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +;;; See the GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with genenetwork-machines. If not, see +;;; <https://www.gnu.org/licenses/>. + +(define-module (gn packages mouse-longevity) + #:use-module (guix) + #:use-module (gnu) + #:use-module (gnu services shepherd) + #:use-module (gn services rshiny) + #:use-module (guix git-download) + #:use-module (guix modules) + #:use-module (guix records) + #:use-module (srfi srfi-1) + #:use-module (ice-9 match) + #:use-module (gnu packages cran) + #:use-module (gnu packages statistics) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system trivial) + #:use-module ((gnu packages admin) #:select (shepherd)) + #:use-module ((gnu packages web) #:select (nginx))) + +(define-public mouse-longevity-app + (let ((commit "8a7fdd353e1babcdc3c0453bdfba2aa0dead7c3f") + (revision "2")) + (package + (name "mouse-longevity-app") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.genenetwork.org/mouse-longevity-app/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bmiq9xmsq8wgxv3nqg3r2j1kwy2m6pw8agapj31agbyw81agyna")))) + (build-system trivial-build-system) + (arguments + (list #:modules '((guix build utils)) + #:builder + #~(begin + (use-modules (guix build utils)) + (let* ((source (assoc-ref %build-inputs "source")) + (targetdir (string-append #$output "/share/" #$name)) + (app (string-append #$output "/bin/" #$name)) + (Rbin (search-input-file %build-inputs "/bin/Rscript"))) + (copy-recursively source targetdir) + (mkdir-p (string-append #$output "/bin")) + (call-with-output-file app + (lambda (port) + (format port + "#!~a +library(shiny) +setwd(\"~a\") +runApp(launch.browser=0, port=3979)~%\n" + Rbin targetdir))) + (chmod app #o555))))) + (propagated-inputs + (list r + r-ggplot2 + r-dplyr + r-plotly + r-shinydashboard + ;; TODO: https://ci.genenetwork.org/jobs/genenetwork3/581 + ;; r-shinydashboardplus + r-shinyjs + r-shiny)) + (home-page "https://github.com/Dashbrook/Mouse_Longevity_app/") + (synopsis "R shiny app to visualize mouse lifespan data") + (description + "This package provides an R shiny app to visualize mouse strain +longevity data.") + (license license:gpl3+)))) diff --git a/gn/packages/node.scm b/gn/packages/node.scm index 4d338cc..4e12781 100644 --- a/gn/packages/node.scm +++ b/gn/packages/node.scm @@ -1584,3 +1584,26 @@ from C are supported as well as some other extensions from Ruby.") (synopsis "the mighty option parser used by yargs") (description "the mighty option parser used by yargs.") (license license:isc))) + + +(define-public node-resumablejs + (let ((commit "b7580789f4d19bb180c08389538e0733f0f811d8")) + (package + (name "node-resumablejs") + (version (string-append "1.1.0-" (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/23/resumable.js.git") + (commit commit))) + (file-name (git-file-name name version )) + (sha256 + (base32 + "0d0883jmsr2ydchx10y9a2vcijix7g65k1243s5ryl3i3jacm1bm")))) + (build-system node-build-system) + (arguments '(#:tests? #f)) + (home-page "https://github.com/23/resumable.js/") + (synopsis "JavaScript library providing multiple simultaneous, stable and resumable uploads via the HTML5 File API") + (description "A JavaScript library providing multiple simultaneous, stable and resumable uploads via the HTML5 File API.") + (license license:expat)))) |