about summary refs log tree commit diff
path: root/gn/services/genome-browser.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gn/services/genome-browser.scm')
-rw-r--r--gn/services/genome-browser.scm207
1 files changed, 0 insertions, 207 deletions
diff --git a/gn/services/genome-browser.scm b/gn/services/genome-browser.scm
deleted file mode 100644
index e350674..0000000
--- a/gn/services/genome-browser.scm
+++ /dev/null
@@ -1,207 +0,0 @@
-;; See dockerfile for some clarification about choices:
-;; https://github.com/icebert/docker_ucsc_genome_browser/blob/master/Dockerfile
-;; http://genome.ucsc.edu/goldenPath/help/mirrorManual.html
-(define-module (gn services genome-browser))
-
-(use-modules (gnu)
-             (guix build utils)
-             (guix packages)
-             (gn packages bioinformatics))
-(use-service-modules
-  databases
-  networking
-  web)
-(use-package-modules
-  bash
-  databases
-  ghostscript
-  wget)
-
-(define %hg.conf
-  (mixed-text-file "hg.conf"
-                   "browser.documentRoot=" ucsc-genome-browser "/html\n"
-                   ;"db.host=localhost\n"
-                   ;"db.user=readonly\n"
-                   ;"db.password=access\n"
-                   "db.host=tux02\n"
-                   "db.user=webqtlout\n"
-                   "db.password=webqtlout\n"
-                   "db.trackDb=trackDb\n"
-                   ;"db.port=13306\n"
-                   "gbdbLoc1=/gbdb/\n"
-                   "gbdbLoc2=http://hgdownload.soe.ucsc.edu/gbdb/\n"
-                   ;# To disable on-the-fly loading of mysql data, comment out these lines.
-                   "slow-db.host=genome-mysql.soe.ucsc.edu\n"
-                   "slow-db.user=genomep\n"
-                   "slow-db.password=password\n"
-                   "defaultGenome=Mouse\n"
-                   "central.db=hgcentral\n"
-                   ;"central.host=localhost\n"
-                   ;"central.socket=/run/mysqld/mysqld.sock\n"   ; default for mysql service
-                   ;"central.user=readwrite\n"
-                   ;"central.password=update\n"
-                   "central.host=tux02\n"
-                   "central.user=webqtlout\n"
-                   "central.password=webqtlout\n"
-                   "central.domain=\n"
-                   "backupcentral.db=hgcentral\n"
-                   "backupcentral.host=tux02\n"
-                   "backupcentral.user=webqtlout\n"
-                   "backupcentral.password=webqtlout\n"
-                   "backupcentral.domain=\n"
-                   "freeType=on\n"
-                   "freeTypeDir=" gs-fonts "/share/fonts/type1/ghostscript\n"
-                   ;"hgc.psxyPath=" gmt "/bin/psxy"
-                   ;"hgc.ps2rasterPath=" gmt "/bin/ps2raster"
-                   "hgc.ghostscriptPath=" ghostscript "/bin/gs\n"   ; needed?
-                   "udc.cacheDir=/var/cache/genome/udcCache\n"))    ; default is /tmp/udcCache
-
-(define %startup-script
-  (mixed-text-file "create_databases.sh"
-                   wget "/bin/wget http://hgdownload.soe.ucsc.edu/admin/hgcentral.sql\n"
-                   bash-minimal "/bin/sh " (package-source ucsc-genome-browser) "/src/product/ex.MySQLUserPerms.sh\n"
-                   mariadb "/bin/mysql -e \"create database hgcentral;\" mysql\n"
-                   mariadb "/bin/mysql hgcentral < hgcentral.sql\n"
-                   coreutils-minimal "/bin/mkdir -p /var/cache/genome\n"
-                   coreutils-minimal "/bin/chown -R httpd:httpd /var/www\n"))
-
-;; This might be useful as a one-off shepherd job.
-;(define %genome-activation-script
-;  #~(begin
-;      ;(unless (file-exists? "/var/lib/mysql/hgcentral")
-;      ;  (invoke #$(file-append wget "/bin/wget") "http://hgdownload.soe.ucsc.edu/admin/hgcentral.sql" "-O" "/var/lib/mysql/hgcentral.sql")
-;      ;  ;(invoke "sh" #$(file-append (package-source ucsc-genome-browser) "/src/product/ex.MySQLUserPerms.sh"))
-;      ;  (invoke #$(file-append mariadb "/bin/mysql") "-e" "\"create database hgcentral;\"" "mysql")
-;      ;  (invoke #$(file-append mariadb "/bin/mysql") "hgcentral" "<" "/var/lib/mysql/hgcentral.sql"))
-;      (unless (file-exists? "/var/www/html/trash")
-;        (mkdir-p "/var/www/html/trash"))
-;      (unless (file-exists? "/var/cache/genome")
-;        (mkdir-p "/var/cache/genome"))
-;      (for-each (lambda (file)
-;                  (chown file (passwd:uid "httpd") (passwd:gid "httpd")))
-;                (append (find-files "/var/cache/genome" #:directories? #t)
-;                        (find-files "/var/www/html/trash" #:directories? #t)))
-;      (for-each (lambda (file)
-;                  (chown file (passwd:uid "mysql") (passwd:gid "mysql")))
-;                (find-files "/var/lib/mysql" #:directories? #t))))
-
-;(define %one-month-files
-;  (let ((%one-month (* 60 60 24 30)))
-;    (find-files "/var/cache/genome" (lambda (file stat)
-;                                      (> (stat:atime stat) %one-month)))))
-
-;; TODO:
-;;  create 'daily clean' mcron scripts. Only needed in /var/cache/genome grows too large.
-;;  use rsync to make sure mouse genome data is kept up-to-date.
-
-(define ucsc-genome-browser-port 4323)
-
-(operating-system
-  (host-name "genome-browser")
-  (timezone "Etc/UTC")
-  (locale "en_US.utf8")
-
-  (bootloader (bootloader-configuration
-               (bootloader grub-bootloader)
-               (targets '("does-not-matter"))))
-  (file-systems %base-file-systems)
-  ;; No firmware for VMs
-  (firmware '())
-  (packages (cons* mariadb  ; for create-db script, interacting with database if necessary
-                   %base-packages))
-  (services
-    (list ;(service mysql-service-type
-          ;         (mysql-configuration
-          ;           (port 13306))) ; don't overlap with tux02's mariadb
-          (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")))))))
-          (service syslog-service-type)  ; needed by inetd
-          (service httpd-service-type
-                   (httpd-configuration
-                     (config
-                       (httpd-config-file
-                         (document-root (file-append ucsc-genome-browser "/html"))
-                         (server-name "Genome_Browser")
-                         (listen (list (number->string ucsc-genome-browser-port)))
-                         (modules
-                           (cons*
-                             (httpd-module
-                               (name "cgid_module")
-                               (file "modules/mod_cgid.so"))
-                             (httpd-module
-                               (name "include_module")
-                               (file "modules/mod_include.so"))
-                             %default-httpd-modules))
-                         (extra-config (list "\
-TypesConfig etc/httpd/mime.types
-# More logs for more debugging.
-LogFormat \"%h %l %u %t \\\"%r\\\" %>s %b\" common
-CustomLog /var/log/httpd/combined_log common
-#LogLevel debug
-# cgid.sock needs to be creatable, not in the store
-ScriptSock /var/run/cgid.sock
-#XBitHack needs to not be inside the VirtualHost block.
-XBitHack On
-# same as 'listen' above
-<VirtualHost *:" (number->string ucsc-genome-browser-port) ">
-  DocumentRoot " ucsc-genome-browser "/html
-  Alias /bin " ucsc-genome-browser "/bin
-  #Alias /cgi-bin " ucsc-genome-browser "/cgi-bin   # causes cgi scripts to fail to render
-  Alias /favicon.ico " ucsc-genome-browser "/html/faviconRR.ico
-  Alias /htdocs " ucsc-genome-browser "/htdocs
-  #Alias /htdocs " ucsc-genome-browser "/html
-  Alias /var/www/html/trash /var/cache/genome
-  Alias /var/cache/genome /var/cache/genome
-  <Directory " ucsc-genome-browser "/html>
-    Options +Includes
-    #Options +Includes +FollowSymLinks +Indexes
-    AllowOverride None
-    <IfModule mod_authz_host.c>
-      Require all granted
-      SSILegacyExprParser on
-    </IfModule>
-  </Directory>
-
-  ScriptAlias /cgi-bin " ucsc-genome-browser "/cgi-bin
-  <Directory " ucsc-genome-browser "/cgi-bin>
-    AllowOverride None
-    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
-    #Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch +Includes +FollowSymlinks
-    Order allow,deny
-    #SetHandler cgi-script
-    Require all granted
-    Allow from all
-  </Directory>
-
-  <Directory /var/cache/genome>
-    Options MultiViews
-    AllowOverride None
-    Order allow,deny
-    Allow from all
-  </Directory>
-  # Upstream default location, possibly expected by software
-  <Directory /var/www/html/trash>
-    Options MultiViews
-    AllowOverride None
-    Order allow,deny
-    Allow from all
-  </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 --share=/export/efraimf/UCSC_Genome/gbdb=/gbdb --share=/export/efraimf/UCSC_Genome/var-lib-mysql=/var/lib/mysql --share=/export/efraimf/UCSC_Genome/var-cache-genome=/var/cache/genome --share=/export/efraimf/UCSC_Genome/var-cache-genome=/var/www/html/trash
-;; xdg-open http://localhost:4322