about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner2021-04-30 14:35:12 +0300
committerEfraim Flashner2021-04-30 14:49:05 +0300
commit5e8b600b98dc058d3fc1d8bbda943ca9d8ac66f3 (patch)
tree25f70f49229a2a1f46522fc2bf3a09701f2f3962
parent7d8b95546ad7a90ccc9175e7a71a198f05f1b359 (diff)
downloadguix-bioinformatics-5e8b600b98dc058d3fc1d8bbda943ca9d8ac66f3.tar.gz
gn: genome-browser: update package, service
-rw-r--r--gn/packages/bioinformatics.scm16
-rw-r--r--gn/services/genome-browser.scm35
2 files changed, 43 insertions, 8 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index 3785b0f..b41546a 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -1649,8 +1649,7 @@ multiple sequence alignment.")
                #t)))
          )))
     (inputs
-     `(
-       ("freetype" ,freetype)
+     `(("freetype" ,freetype)
        ("libpng" ,libpng)
        ("mysql:dev" ,mariadb "dev")
        ("mysql:lib" ,mariadb "lib")
@@ -1685,6 +1684,13 @@ to a particular gene to view its spliced ESTs and possible alternative splicing.
 The Genome Browser itself does not draw conclusions; rather, it collates all
 relevant information in one location, leaving the exploration and interpretation
 to the user.")
-    (license (license:non-copyleft
-               "https://www.genome.ucsc.edu/conditions.html"
-               "Free for academic/non-profit/personal use only."))))
+    (license (list
+               license:bsd-0    ; kent/src/{utils,lib,inc,tabStorm,parasol,hg/ausoSql,hg/autoXml}
+               license:bsd-3    ; these two for bundled htslib-1.3
+               license:expat
+               (license:non-copyleft
+                 "https://www.genome.ucsc.edu/license/"
+                 "Free for academic/non-profit/personal use only.")
+               (license:non-copyleft    ; Blat, In-Silico PCR
+                 "http://www.kentinformatics.com/index.html"
+                 "Free for universities and non-profit institutions.")))))
diff --git a/gn/services/genome-browser.scm b/gn/services/genome-browser.scm
index 7f7ffc0..1a5b678 100644
--- a/gn/services/genome-browser.scm
+++ b/gn/services/genome-browser.scm
@@ -8,6 +8,7 @@
              (gn packages bioinformatics))
 (use-service-modules
   databases
+  networking
   web)
 (use-package-modules
   bash
@@ -42,7 +43,10 @@
                    "backupcentral.domain=\n"
                    "freeType=on\n"
                    "freeTypeDir=" gs-fonts "/share/fonts/type1/ghostscript\n"
+                   ;"hgc.psxyPath=/hive/data/outside/GMT4.3.1/bin/psxy"
+                   ;"hgc.ps2rasterPath=""/bin/ps2raster"
                    "hgc.ghostscriptPath=" ghostscript "/bin/gs\n"   ; needed?
+                   "udc.cacheDir=/var/www/html/trash/udcCache\n"    ; default is /tmp/udcCache
                    ))
 
 (define %startup-script
@@ -55,8 +59,14 @@
                    coreutils-minimal "/bin/chown -R httpd:httpd /var/www\n"
                    ))
 
-;; TODO: create 'daily clean' mcron scripts.
-;;       /var/www/html/trash needs to be created and owned by httpd:httpd
+;; TODO:
+;;  create 'daily clean' mcron scripts.
+;;  move /var/www/html/trash to /gbdb/trash?
+;;  Fix from main page:
+;;      hgVai
+;;      hgIntegrator
+;;  from 'more tools'
+;;      hgPhyloPlace
 
 (define ucsc-genome-browser-port 4321)
 
@@ -78,6 +88,21 @@
           (service special-files-service-type
                    `(("/root/create_hgcentral" ,%startup-script)
                      ("/var/lib/genome/hg.conf" ,%hg.conf)))
+          (service inetd-service-type
+                   (inetd-configuration
+                     (entries
+                       (list
+                         (inetd-entry
+                           (node "127.0.0.1")
+                           (name "blat")    ; yes, it's named blat
+                           (socket-type 'stream)
+                           (protocol "tcp") ; probably?
+                           (wait? #f)
+                           (user "httpd:httpd") ; or dedicated user. Needs write access.
+                           (program (file-append ucsc-genome-browser "/bin/gfServer"))
+                           (arguments
+                             '("gfServer" "dynserver" "/gbdb")))))))
+          (syslog-service)  ; needed by inetd
           (service httpd-service-type
                    (httpd-configuration
                      (config
@@ -105,6 +130,8 @@ ScriptSock /var/run/cgid.sock
   Alias /bin " ucsc-genome-browser "/bin
   #Alias /cgi-bin " ucsc-genome-browser "/cgi-bin   # causes cgi scripts to fail to render
   Alias /htdocs " ucsc-genome-browser "/htdocs
+  #Alias /trash /var/www/html/trash # this is wrong
+  Alias /var/www/html/trash /var/www/html/trash
   <Directory " ucsc-genome-browser "/html>
     Options +Includes +FollowSymLinks +Indexes
     AllowOverride None
@@ -132,6 +159,8 @@ ScriptSock /var/run/cgid.sock
   </Directory>
 </VirtualHost>")))))))))
 
-;; guix system container -L /path/to/guix-past/modules/ -L /path/to/guix-bioinformatics/ /path/to/guix-bioinformatics/gn/services/genome-browser.scm --network ;--expose=/path/to/gbdb=/gbdb
+;; guix system container -L /path/to/guix-past/modules/ -L /path/to/guix-bioinformatics/ /path/to/guix-bioinformatics/gn/services/genome-browser.scm --network --share=/path/to/gbdb=/gbdb
 ;; ALSO need to share in the external database?
+;; Probably not, it falls back to http://hgdownload.soe.ucsc.edu/gbdb/
+;; Can skip the %startup-script dance if /var/lib/mysql is stored outside of the container, but might need /var/www/html/trash too then.
 ;; xdg-open http://localhost:4321