aboutsummaryrefslogtreecommitdiff
path: root/gn
diff options
context:
space:
mode:
Diffstat (limited to 'gn')
-rw-r--r--gn/packages/gemma.scm4
-rw-r--r--gn/packages/genecup.scm15
-rw-r--r--gn/packages/genenetwork.scm113
-rw-r--r--gn/packages/javascript.scm197
-rw-r--r--gn/packages/mouse-longevity.scm86
-rw-r--r--gn/packages/node.scm23
6 files changed, 358 insertions, 80 deletions
diff --git a/gn/packages/gemma.scm b/gn/packages/gemma.scm
index e8c5194..22564ad 100644
--- a/gn/packages/gemma.scm
+++ b/gn/packages/gemma.scm
@@ -108,14 +108,14 @@ genome-wide association studies (GWAS).")
(define-public gemma-wrapper
(package
(name "gemma-wrapper")
- (version "0.99.6")
+ (version "0.99.7")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "bio-gemma-wrapper" version))
(sha256
(base32
- "0v006ym8j9p4khnxasf0xp7a7q8345625z0s1m3215p5mjp1g3p3"))))
+ "1286k0xrg3j2kzv0hlnc2z1h29vvdhsm3ap7vh1yh1q51h3mkkj4"))))
(build-system ruby-build-system)
(inputs `(
("gemma-gn2" ,gemma-gn2)
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..5c28a99 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 "efa965c34db3662762dde8ecf376cce561d85453")
(revision "5"))
(package
(name "genenetwork3")
@@ -126,7 +127,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "10j5afdfi258s1icakrid9fanp4rrpf1scxdqik31hbvyk7qdvfy"))))
+ "1civzslhgxng707i5iqjb59xp8n5n6qci4dhcryi013jfmih8gni"))))
(inputs
(list python-click))
(native-inputs
@@ -185,7 +186,7 @@
(license license:agpl3+))))
(define-public genenetwork2
- (let ((commit "deb8d7241f1ca05865fababc2799ead9a684f8be")
+ (let ((commit "0998033d0a7ea26ed96b00a360a334bae6de8c55")
(revision "4"))
(package
(name "genenetwork2")
@@ -198,7 +199,7 @@
(file-name (string-append name "-" version))
(sha256
(base32
- "1hvxn88jc9r4h88kgna6jahs66cpkc39vq10qcqcnwa09ghyban1"))))
+ "1ffp18b01qj94ij7wqyvxlb7db2w6wb63iv3ninp9ir2bwy0g2m7"))))
(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,52 @@
(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 "12edc160df0ead9ac1ae4e62a44d49582e063021")
+ (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
+ "11kixqv3rwfaad43bcqyh085gb0jfcpvzrlx66grkk73cqydgyzl")))))
+ (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+))))
;; ./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..bce4ccc
--- /dev/null
+++ b/gn/packages/mouse-longevity.scm
@@ -0,0 +1,86 @@
+;;; 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 "d798fc1fe6a7b0e6b0c1b58008885236d5144427")
+ (revision "1"))
+ (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 "0mlkqx6ahxqy4jyld5cla5szwm8xdm10d9px825q6j01zlxlh9zv"))))
+ (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
+ 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))))