aboutsummaryrefslogtreecommitdiff
path: root/gn/packages/ratspub.scm
diff options
context:
space:
mode:
authorEfraim Flashner2020-03-15 04:33:59 -0500
committerEfraim Flashner2020-03-15 04:33:59 -0500
commitec9a0ae00428f944717ff5e4d97da52a500647ce (patch)
tree92d0176ea39b88f1e87578f2431abc725c9e8e3c /gn/packages/ratspub.scm
parentda457bd06f88fddcd7bfa510e7aac6358ffd028d (diff)
downloadguix-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/packages/ratspub.scm')
-rw-r--r--gn/packages/ratspub.scm182
1 files changed, 109 insertions, 73 deletions
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))))