aboutsummaryrefslogtreecommitdiff
path: root/gn/packages/bnw.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gn/packages/bnw.scm')
-rw-r--r--gn/packages/bnw.scm118
1 files changed, 118 insertions, 0 deletions
diff --git a/gn/packages/bnw.scm b/gn/packages/bnw.scm
new file mode 100644
index 0000000..2c34256
--- /dev/null
+++ b/gn/packages/bnw.scm
@@ -0,0 +1,118 @@
+(define-module (gn packages bnw)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system trivial)
+ #:use-module (gnu packages bash)
+ #:use-module (gn packages graphviz)
+ #:use-module (gn packages javascript)
+ #:use-module (gn packages maths)
+ #:use-module (gnu packages python)
+ #:use-module (gn packages web))
+
+(define-public bnw
+ (let ((commit "eb6b002b924694808384f1a8d7c6d1121806ae04")
+ (revision "1"))
+ (package
+ (name "bnw")
+ (version (git-version "1.22" revision commit)) ; June 28, 2019
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ziejd2/BNW.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10qwykp2zcyxih6a52icvy30ps69qk4v3jgirmdpw1l15zi4p2wq"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ (source (assoc-ref %build-inputs "source"))
+ (bash (assoc-ref %build-inputs "bash"))
+ (graphviz (assoc-ref %build-inputs "graphviz"))
+ (octave (assoc-ref %build-inputs "octave"))
+ (python (assoc-ref %build-inputs "python"))
+ (jquery (assoc-ref %build-inputs "jquery"))
+ (awesome (assoc-ref %build-inputs "awesome"))
+ (cyto (assoc-ref %build-inputs "cytoscape"))
+ (cyto2 (assoc-ref %build-inputs "cytoscape-2"))
+ (cs-dagre (assoc-ref %build-inputs "cyto-dagre"))
+ (d3js (assoc-ref %build-inputs "d3js"))
+ (d3js-multi (assoc-ref %build-inputs "d3js-multi"))
+ (dagre (assoc-ref %build-inputs "dagre"))
+ (lodash (assoc-ref %build-inputs "lodash"))
+ (canvas-toblob (assoc-ref %build-inputs "canvas-toblob"))
+ (filesaver (assoc-ref %build-inputs "filesaver"))
+ (panzoom (assoc-ref %build-inputs "panzoom"))
+ (js-path "/share/genenetwork2/javascript/"))
+ (copy-recursively source out)
+ (for-each (lambda (file)
+ (patch-shebang file
+ (list (string-append bash "/bin")
+ (string-append octave "/bin")
+ (string-append python "/bin"))))
+ (find-files out ".*"))
+ (with-directory-excursion out
+ (substitute*
+ (append '("home.php")
+ (find-files "sourcecodes" ".php")
+ (find-files "sourcecodes/run_scripts" ".*"))
+ (("/usr/bin/dot") (string-append graphviz "/bin/dot")))
+ (substitute* "sourcecodes/layout_cyto.php"
+ (("https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.7.1/cytoscape.min.js")
+ (string-append cyto js-path "cytoscape/cytoscape.min.js"))
+ (("https://cdnjs.cloudflare.com/ajax/libs/cytoscape/2.7.29/cytoscape.min.js")
+ (string-append cyto2 js-path "cytoscape/cytoscape.min.js"))
+ (("http://spades.bioinf.spbau.ru/~alla/graph_viewer/js/cytoscape-dagre.js")
+ (string-append cs-dagre js-path "cytoscape-dagre/cytoscape-dagre.js"))
+ (("https://unpkg.com/dagre@0.7.4/dist/dagre.js")
+ (string-append dagre js-path "dagre/dagre.js"))
+ (("https://cdnjs.cloudflare.com/ajax/libs/cytoscape-panzoom/2.5.3/cytoscape.js-panzoom.css")
+ (string-append panzoom js-path "cytoscape-panzoom/cytoscape.js-panzoom.css"))
+ (("https://cdnjs.cloudflare.com/ajax/libs/cytoscape-panzoom/2.5.3/cytoscape-panzoom.js")
+ (string-append panzoom js-path "cytoscape-panzoom/cytoscape-panzoom.js"))
+ (("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.0.3/css/font-awesome.css")
+ (string-append awesome "/share/web/font-awesome/css/font-awesome.css"))
+ (("https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js")
+ (string-append jquery "/share/web/jquery/jquery.min.js"))
+ (("https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.js")
+ (string-append lodash js-path "lodash/lodash.js")))
+ (substitute* '("sourcecodes/layout_svg_wt.php"
+ "sourcecodes/layout_svg_no.php")
+ (("http://d3js.org/d3.v4.min.js")
+ (string-append d3js js-path "d3js/d3.min.js"))
+ (("http://d3js.org/d3-selection-multi.v1.js")
+ (string-append d3js-multi js-path "d3js-multi/d3-selection-multi.js"))
+ (("https://cdn.rawgit.com/eligrey/canvas-toBlob.js/f1a01896135ab378aa5c0118eadd81da55e698d8/canvas-toBlob.js")
+ (string-append canvas-toblob js-path "canvas-toBlob/canvas-toBlob.js"))
+ (("https://cdn.rawgit.com/eligrey/FileSaver.js/e9d941381475b5df8b7d7691013401e171014e89/FileSaver.min.js")
+ (string-append filesaver js-path "filesaver/filesaver.js"))))))))
+ (native-inputs `(("source" ,source)))
+ (inputs
+ `(("bash" ,bash-minimal)
+ ("graphviz" ,graphviz-2.26)
+ ("octave" ,octave-3.4.3)
+ ("python" ,python-2)
+ ("jquery" ,web-jquery)
+ ("awesome" ,web-font-awesome)
+ ("cytoscape" ,javascript-cytoscape)
+ ("cytoscape-2" ,javascript-cytoscape-2)
+ ("d3js" ,javascript-d3js-4)
+ ("d3js-multi" ,javascript-d3js-multi)
+ ("dagre" ,javascript-dagre)
+ ("lodash" ,javascript-lodash)
+ ("canvas-toblob" ,javascript-canvas-toblob)
+ ("filesaver" ,javascript-filesaver)
+ ("cyto-dagre" ,javascript-cytoscape-dagre)
+ ("panzoom" ,javascript-cytoscape-panzoom)))
+ (home-page "http://compbio.uthsc.edu/BNW/")
+ (synopsis "Bayesian Network Webserver")
+ (description "This contains the code for the @dfn{Bayesian Network Webserver} (BNW).")
+ (license (list license:gpl2
+ license:gpl2+
+ license:lgpl2.1+)))))