diff options
Diffstat (limited to 'gn/services/genome-browser.scm')
| -rw-r--r-- | gn/services/genome-browser.scm | 207 |
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 |
