diff options
author | Efraim Flashner | 2020-03-15 04:33:59 -0500 |
---|---|---|
committer | Efraim Flashner | 2020-03-15 04:33:59 -0500 |
commit | ec9a0ae00428f944717ff5e4d97da52a500647ce (patch) | |
tree | 92d0176ea39b88f1e87578f2431abc725c9e8e3c /gn | |
parent | da457bd06f88fddcd7bfa510e7aac6358ffd028d (diff) | |
download | guix-bioinformatics-ec9a0ae00428f944717ff5e4d97da52a500647ce.tar.gz |
WIP: update ratspub to 0.2-1.1b516eewip-ratspub
As a package it is ready, but it tries to write to files in it's
directory, which is in the store, meaning the service will need to be
rewritten.
Diffstat (limited to 'gn')
-rw-r--r-- | gn/packages/javascript.scm | 24 | ||||
-rw-r--r-- | gn/packages/ratspub.scm | 182 |
2 files changed, 133 insertions, 73 deletions
diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 79a8060..e6d1d7e 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -1121,3 +1121,27 @@ widgets, and themes built on top of the jQuery JavaScript Library.") (name "js-jquery-ui") (arguments `(#:javascript-files '("ui/jquery-ui.js"))) (build-system minify-build-system))) + +(define-public js-poppler + (package + (name "js-poppler") + (version "2.0.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/popperjs/popper-core") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lzy981p9nja2l3xa2zvals6q31v3bzpxxa85yn9pm7wkj3vglf2")))) + (build-system minify-build-system) + (arguments + `(#:javascript-files '("src/poppler.js"))) + (home-page "https://popper.js.org/") + (synopsis "Tooltip and popover positioning engine") + (description + "Given an element, such as a button, and a tooltip element describing it, +Popper will automatically put the tooltip in the right place near the button.") + (license license:expat))) diff --git a/gn/packages/ratspub.scm b/gn/packages/ratspub.scm index 290b9e2..3394592 100644 --- a/gn/packages/ratspub.scm +++ b/gn/packages/ratspub.scm @@ -6,87 +6,123 @@ #:use-module (gnu packages admin) #:use-module (gn packages bioinformatics) #:use-module (gn packages javascript) + #:use-module (gnu packages time) + #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gn packages web)) (define-public ratspub - (package - (name "ratspub") - (version "0.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/chen42/ratspub.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0cm9g38fxpa52458mdmhzhghj5c7b8l3k1b764zs9hdrki5s7wi7")))) - (build-system python-build-system) - (arguments - `(#:tests? #f ; no test suite - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (add-after 'unpack 'patch-sources - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (inetutils (assoc-ref inputs "inetutils"))) - (substitute* "templates/cytoscape.html" - (("script src=.*") - "script src=\"/static/cytoscape.min.js\"></script>\n")) - (substitute* "templates/layout.html" - (("https://stackpath.bootstrapcdn.com/bootstrap/.*") - "/static/bootstrap.min.css\">\n")) - (substitute* "ratspub.py" - (("hostname") (string-append inetutils "/bin/hostname")))) - #t)) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (copy-recursively "." out)) - #t)) - (add-after 'install 'install-javascript - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (cytoscape (assoc-ref inputs "cytoscape")) - (bootstrap (assoc-ref inputs "bootstrap"))) - (symlink (string-append cytoscape - "/share/genenetwork2/javascript/cytoscape/cytoscape.min.js") - (string-append out "/static/cytoscape.min.js")) - (symlink (string-append bootstrap - "/share/web/bootstrap/css/bootstrap.min.css") - (string-append out "/static/bootstrap.min.css"))) - #t)) - (add-after 'install 'wrap-executable - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (path (getenv "PYTHONPATH"))) - (wrap-program (string-append out "/server.py") - `("PATH" ":" prefix (,(dirname (which "edirect.pl")) - ,(dirname (which "dirname")) - ,(dirname (which "grep")) - ,(dirname (which "sed")))) - `("PYTHONPATH" ":" prefix (,path)))) - #t))))) - (inputs - `(("edirect" ,edirect-gn) - ("inetutils" ,inetutils) - ("python-flask" ,python-flask) - ("python-nltk" ,python-nltk))) - (native-inputs - `(("cytoscape" ,javascript-cytoscape) - ("bootstrap" ,web-bootstrap))) - (home-page "http://rats.pub/") - (synopsis "Relationship with Addiction Through Searches of PubMed") - (description - "RatsPub searches PubMed to find sentences that contain the query terms + (let ((commit "1b516ee692248f4cd75570d9750b14f78554b41f") + (revision "1")) + (package + (name "ratspub") + (version (git-version "0.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/chen42/ratspub.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16zr89993h1idkazradivm9yjgl695wdr34d2qbwj4nmaxfrg8dy")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; no test suite + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (add-after 'unpack 'patch-sources + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (inetutils (assoc-ref inputs "inetutils"))) + (substitute* '("templates/cytoscape.html" + "templates/tableview.html" + "templates/tableview0.html" + "templates/userarchive.html") + (("script src=.*") + "script src=\"/static/cytoscape.min.js\"></script>\n")) + (substitute* "templates/layout.html" + (("https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css.*") + "/static/bootstrap.min.css\">\n") + (("https://.*.bootstrapcdn.com/bootstrap/4.*/js/bootstrap.min.js.*") + "/static/bootstrap.min.js\"></script>\n") + (("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css") + "/static/font-awesome.min.css") + (("https://code.jquery.com/jquery-3.2.1.slim.min.js.*") + "/static/jquery.slim.min.js\"></script>\n") + (("https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js.*") + "/static/poppler.js\"></script>\n")) + (substitute* "ratspub.py" + (("hostname") (string-append inetutils "/bin/hostname")))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (copy-recursively "." out)) + #t)) + (add-after 'install 'install-javascript + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (awesome (assoc-ref inputs "font-awesome")) + (bootstrap (assoc-ref inputs "bootstrap")) + (cytoscape (assoc-ref inputs "cytoscape")) + (jquery (assoc-ref inputs "jquery")) + (js-poppler (assoc-ref inputs "js-poppler"))) + (symlink (string-append awesome + "/share/web/font-awesomecss/font-awesome.min.css") + (string-append out "/static/font-awesome.min.css")) + (symlink (string-append bootstrap + "/share/web/bootstrap/css/bootstrap.min.css") + (string-append out "/static/bootstrap.min.css")) + (symlink (string-append bootstrap + "/share/web/bootstrap/js/bootstrap.min.js") + (string-append out "/static/bootstrap.min.js")) + (symlink (string-append cytoscape + "/share/genenetwork2/javascript/cytoscape/cytoscape.min.js") + (string-append out "/static/cytoscape.min.js")) + (symlink (string-append jquery + "/share/web/jquery/jquery.slim.min.js") + (string-append out "/static/jquery.slim.min.js")) + (symlink (string-append js-poppler + "/share/web/poppler/poppler.min.js") + (string-append out "/static/poppler.min.js"))) + #t)) + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (path (getenv "PYTHONPATH"))) + (wrap-program (string-append out "/server.py") + `("PATH" ":" prefix (,(dirname (which "edirect.pl")) + ,(dirname (which "dirname")) + ,(dirname (which "grep")) + ,(dirname (which "sed")))) + `("PYTHONPATH" ":" prefix (,path)))) + #t))))) + (inputs + `(("edirect" ,edirect-gn) + ("inetutils" ,inetutils) + ("python-bcrypt" ,python-bcrypt) + ("python-flask" ,python-flask) + ("python-flask-sqlalchemy" ,python-flask-sqlalchemy) + ("python-nltk" ,python-nltk) + ("python-pytz" ,python-pytz))) + (native-inputs + `(("bootstrap" ,web-bootstrap) + ("cytoscape" ,javascript-cytoscape) + ("font-awesome" ,web-font-awesome) + ("jquery" ,web-jquery) + ("js-poppler" ,js-poppler))) + (home-page "http://rats.pub/") + (synopsis "Relationship with Addiction Through Searches of PubMed") + (description + "RatsPub searches PubMed to find sentences that contain the query terms (i.e., gene symbols) and drug addiction-related keywords. These gene-keyword relationships are presented as an interactive graph that can efficiently answer the question \"What do we know about these genes and addiction?\". Data from @acronym{EBI GWAS, European Bioinformatics Institute Genome-Wide Association Studies} catalog are also included in the search to better answer this question.") - (license #f))) + (license #f)))) |