本地安装UCSC基因组浏览器

CSC基因组浏览器在大规模高通量数据的可视化和比较分析研究中发挥着重要的作用。拥有了本地浏览器,就可以对自己的测序数据进行更深入的分析和共享使用。本文详细介绍了如何一步步在本地安装、配置、高级使用UCSC浏览器。

安装UCSC浏览器

1. 安装mysql+apache

  1. #For Ubuntu user
  2. sudo apt-get install tasksel
  3. sudo apt-get install lamp-server
  4.  
  5. #For readhat or centos user
  6. yum install httpd mariadb-server mariadb

2. 新建mysql用户

  1. # 用户名:gw
  2. # 密码  :qazplm_gw
  3. create user 'gw'@'localhost' identified by 'qazplm_gw';

3. 同步UCSC所需html文件和运行程序

  1. # 设置UCSC的安装目录为 /var/www/gw
  2. mkdir /var/www/gw
  3.  
  4. # 同步相应的html文件
  5. rsync -avzP --exclude 'ENCODE' rsync://hgdownload.cse.ucsc.edu/htdocs/ /var/www/gw
  6.  
  7. # 同步可执行程序到cgi-bin目录下
  8. mkdir /var/www/gw/cgi-bin
  9.  
  10. # For 64-bit
  11. rsync -avzP rsync://hgdownload.cse.ucsc.edu/cgi-bin/ /var/www/gw/cgi-bin/  #64 bit
  12.  
  13. # 更改cgi-bin目录的所有者
  14. chown -R www-data.www-data /var/www/gw/cgi-bin/

4. 把以下内容写入/etc/apahce2/httpd.conf

  1. # XBitHack on 是必须的
  2. # 其它参数的意思参见apache文档
  3. XBitHack on
  4. <Directory /var/www/gw>
  5.    AllowOverride AuthConfig
  6.    Options +Includes
  7. </Directory>
  8.  
  9. # the ScriptAlias directive is crucial
  10.  
  11. ScriptAlias /gw/cgi-bin /var/www/gw/cgi-bin
  12.  
  13. <Directory "/var/www/gw/cgi-bin">
  14.  
  15.    AllowOverride None
  16.    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  17.  
  18.    Order allow,deny
  19.    Allow from all
  20.    AddHandler cgi-script cgi pl
  21.  
  22. </Directory>

5. 设置Apache解析有执行权限的文件中的SSI指令,然后重启apache

  1. ln -s /etc/apache2/mods-available/include.load /etc/apache2/mods-enabled/
  2. /etc/init.d/apache2 restart

6. 设置数据库配置文件

进入/var/www/gw/cgi-bin/目录,建立hg.conf文件并写入下列内容

  1. db.host=localhost
  2. db.user=gw
  3. db.password=qazplm_gw
  4. db.trackDb=trackDb
  5.  
  6. central.db=hgcentral
  7. central.host=localhost
  8. central.user=gw
  9. central.password=qazplm_gw
  10. central.domain=
  11.  
  12. backupcentral.db=hgcentral
  13. backupcentral.host=localhost
  14. backupcentral.user=gw
  15. backupcentral.password=qazplm_gw
  16. backupcentral.domain=

同时运行如下命令sudo chown www-data /var/www/gw/cgi-bin/hg.conf更改文件的所有权。

更多功能的conf文件见http://genome-test.cse.ucsc.edu/~kent/src/unzipped/product/ex.hg.conf.

7. 建立缓存文件夹

  1. rm /var/www/gw/trash
  2. mkdir /var/www/gw/trash
  3. chown www-data.www-data /var/www/gw/trash

8. 提供Javascript文件

  1. mkdir -p /usr/local/apache/htdocs/
  2. ln -s /var/www/gw/js/ /usr/local/apache/htdocs/js
  3. ln -s /var/www/gw/style/ /usr/local/apache/htdocs/style
  4. # 每次重启服务器后,可能要重复上述操作。

9. 这时就应该能够访问了,成功的标志就是访问http://localhost/gw会看到UCSC常见的页面。


加载UCSC浏览器所需数据库内容

1. 安装hgcentral数据库内容

  1. wget http://hgdownload.cse.ucsc.edu/admin/hgcentral.sql
  2. mysql -uroot -proot_passwd -e 'create database hgcentral'
  3. mysql -uroot -proot_passwd -e 'grant all privileges on hgcentral.* to 'gw'@'localhost''
  4. # 加载下载的hgcentral数据库
  5. mysql -ugw -p qazplm_gw hgcentral <hgcentral.sql
  6. mysql -uroot -proot_passwd -e 'create database hgFixed'
  7. mysql -uroot -proot_passwd -e 'grant select on hgFixed.* to 'gw'@'localhost'

出现错误/var/www/gw/cgi-bin/hgGateway: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory时的解决方案:

  1.  #如果不存在就安装,如果存在就直接建立软连接
  2.  sudo apt-get install libssl0.9.8  
  3.  # Use `locate libssl.so.0.9.8` to find the path of this file.
  4.  
  5.  # For 32 bit
  6.  sudo ln -s /lib/i386-linux-gnu/libssl.so.0.9.8 /usr/lib/libssl.so.6
  7.  sudo ln -s /lib/i386-linux-gnu/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.6

2. 获取相关物种信息数据库

  1. # 鉴于物种信息数据库比较大,可以在数据盘新建目录用于存储
  2. #change datadir to /home/mysql
  3. /etc/init.d/mysql stop
  4. vim /etc/mysql/my.cnf
  5.  
  6. #下载数据库
  7. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/chromInfo.MYD /home/mysql/mm9
  8. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/chromInfo.MYI /home/mysql/mm9
  9. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/chromInfo.frm /home/mysql/mm9
  10. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/cytoBandIdeo.MYD /home/mysql/mm9
  11. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/cytoBandIdeo.MYI /home/mysql/mm9
  12. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/cytoBandIdeo.frm /home/mysql/mm9
  13. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/grp.MYD /home/mysql/mm9
  14. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/grp.MYI /home/mysql/mm9
  15. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/grp.frm /home/mysql/mm9
  16. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/hgFindSpec.MYD /home/mysql/mm9
  17. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/hgFindSpec.MYI /home/mysql/mm9
  18. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/hgFindSpec.frm /home/mysql/mm9
  19. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/trackDb.MYD /home/mysql/mm9
  20. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/trackDb.MYI /home/mysql/mm9
  21. rsync -avzP  rsync://hgdownload.cse.ucsc.edu/mysql/mm9/trackDb.frm /home/mysql/mm9
  22.  
  23. ##赋予权限
  24. chown -R mysql.mysql /home/mysql/mm9

错误解决

a. Could not connect to database (null) on localhost as gw. Client does not support authentication protocol requested by server; consider upgrading MySQL

  1. set password for 'gw'@'localhost'=OLD_PASSWORD('qazplm_gw');
  2.  flush privileges;

b. Cant connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

  1. ln -s /var/run/mysqld/mysqld.sock /var/lib/mysql/mysql.sock
  2.  chmod 666 /var/lib/mysql/mysql.sock
  3.  chmod 755 /var/lib/mysql/

3. 下载gbdb数据

  1. #bbi 为encode数据
  2. mkdir -p /home/user/gbdb/mm9
  3. rsync -avzP --delete --max-delete=20 --exclude=bbi \
  4.    rsync://hgdownload.cse.ucsc.edu/gbdb/mm9/ ~/gbdb/mm9/
  5. #---mappability data---------------
  6. rsync -avzp rsync://hgdownload.cse.ucsc.edu/gbdb/mm9/bbi/*.bw ~/gbdb/mm9/bbi
  7. ln -s /home/user/gbdb /gbdb

4. 访问链接http://localhost/gw/cgi-bin/hgGateway?db=mm9

UCSC Track Hub使用

UCSC Track Hub可以方便加载多组高通量分析结果文件,并且可以使用Track overlay, 即不同的Track叠加到一起显示,方便比较。

1. 构建UCSC hub track

  1. #首先看目录结构
  2. /var/www/hub$ tree
  3. .
  4. ├── genomes.txt
  5. ├── hub.txt
  6. └── mm9
  7.    ├── ctcf1.bw
  8.    ├── P3001.bw
  9.    ├── ctcf2.bw
  10.    ├── P3002.bw
  11.    └── trackDb.txt
  12.  
  13. 1 directory, 7 files
  14.  
  15. #再看每个文件的内容
  16. $cat genomes.txt
  17. genome    mm9
  18. trackDb    mm9/trackDb.txt
  19.  
  20. $cat hub.txt
  21. hub    myhub
  22. shortLabel    Testhub
  23. longLabel    Testhubsdsdsdsd
  24. genomesFile    genomes.txt
  25. email    my@my.com
  26.  
  27. $cat mm9/trackDb.txt
  28. # access http://localhost/cgi-bin/hgTracks?db=mm9&amp;hubUrl=https://localhost/hub.txt
  29. # help : http://genome.ucsc.edu/goldenPath/help/hgTrackHubHelp.html
  30. # trackDb.txt syntax http://genome.ucsc.edu/goldenPath/help/trackDb/trackDbHub.html#bigBed_-_Item_or_Region_Track_Settings
  31. #http://davetang.org/muse/2012/03/15/ucsc-genome-browser-custom-overlap-tracks/
  32. track One
  33. container multiWig
  34. shortLabel One
  35. longLabel One
  36. type bigWig
  37. #viewLimits 0:160
  38. visibility full
  39. aggregate transparentOverlay
  40. showSubtrackColorOnUi on
  41. priority 1.2
  42. configurable on
  43. autoScale on
  44. dragAndDrop subtracks
  45. windowingFunction mean+whiskers
  46. maxHeightPixels 100:60:8
  47.  
  48. track One_ctcf
  49. bigDataUrl ctcf1.bw
  50. shortLabel ctcf1.bw
  51. longLabel ctcf1.bw
  52. parent one
  53. type bigWig
  54. color 0,102,255
  55.  
  56. track P300
  57. bigDataUrl P3001.bw
  58. shortLabel P3001.bw
  59. longLabel P3001.bw
  60. parent one
  61. type bigWig
  62. color 136,102,255
  63.  
  64. track Two
  65. container multiWig
  66. shortLabel Two
  67. longLabel Two
  68. type bigWig
  69. #viewLimits 0:160
  70. visibility full
  71. aggregate transparentOverlay
  72. showSubtrackColorOnUi on
  73. windowingFunction maximum
  74. priority 1.2
  75. configurable on
  76. autoScale on
  77. dragAndDrop subtracks
  78.  
  79. track ctcf2
  80. bigDataUrl ctcf2.bw
  81. shortLabel ctcf2.bw
  82. longLabel ctcf2.bw
  83. parent Two
  84. type bigWig
  85. color 0,102,255

2. 定时清理

  1. #!/bin/bash
  2. #10080 means 10080 minutes which is 14 days.
  3. find /var/www/gw/trash/ \! \( -regex "/var/www/gw/trash/ct/.*" -or \
  4.    -regex "/var/www/gw/trash/hgSs/.*" \) -type f -amin +10080 -exec rm -f {} \;

发表评论

匿名网友

拖动滑块以完成验证
加载失败