CSC基因组浏览器在大规模高通量数据的可视化和比较分析研究中发挥着重要的作用。拥有了本地浏览器,就可以对自己的测序数据进行更深入的分析和共享使用。本文详细介绍了如何一步步在本地安装、配置、高级使用UCSC浏览器。
安装UCSC浏览器
1. 安装mysql+apache
- #For Ubuntu user
- sudo apt-get install tasksel
- sudo apt-get install lamp-server
- #For readhat or centos user
- yum install httpd mariadb-server mariadb
2. 新建mysql用户
- # 用户名:gw
- # 密码 :qazplm_gw
- create user 'gw'@'localhost' identified by 'qazplm_gw';
3. 同步UCSC所需html文件和运行程序
- # 设置UCSC的安装目录为 /var/www/gw
- mkdir /var/www/gw
- # 同步相应的html文件
- rsync -avzP --exclude 'ENCODE' rsync://hgdownload.cse.ucsc.edu/htdocs/ /var/www/gw
- # 同步可执行程序到cgi-bin目录下
- mkdir /var/www/gw/cgi-bin
- # For 64-bit
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/cgi-bin/ /var/www/gw/cgi-bin/ #64 bit
- # 更改cgi-bin目录的所有者
- chown -R www-data.www-data /var/www/gw/cgi-bin/
4. 把以下内容写入/etc/apahce2/httpd.conf
- # XBitHack on 是必须的
- # 其它参数的意思参见apache文档
- XBitHack on
- <Directory /var/www/gw>
- AllowOverride AuthConfig
- Options +Includes
- </Directory>
- # the ScriptAlias directive is crucial
- ScriptAlias /gw/cgi-bin /var/www/gw/cgi-bin
- <Directory "/var/www/gw/cgi-bin">
- AllowOverride None
- Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
- Order allow,deny
- Allow from all
- AddHandler cgi-script cgi pl
- </Directory>
5. 设置Apache解析有执行权限的文件中的SSI指令,然后重启apache
- ln -s /etc/apache2/mods-available/include.load /etc/apache2/mods-enabled/
- /etc/init.d/apache2 restart
6. 设置数据库配置文件
进入/var/www/gw/cgi-bin/目录,建立
hg.conf文件并写入下列内容
- db.host=localhost
- db.user=gw
- db.password=qazplm_gw
- db.trackDb=trackDb
- central.db=hgcentral
- central.host=localhost
- central.user=gw
- central.password=qazplm_gw
- central.domain=
- backupcentral.db=hgcentral
- backupcentral.host=localhost
- backupcentral.user=gw
- backupcentral.password=qazplm_gw
- 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. 建立缓存文件夹
- rm /var/www/gw/trash
- mkdir /var/www/gw/trash
- chown www-data.www-data /var/www/gw/trash
8. 提供Javascript文件
- mkdir -p /usr/local/apache/htdocs/
- ln -s /var/www/gw/js/ /usr/local/apache/htdocs/js
- ln -s /var/www/gw/style/ /usr/local/apache/htdocs/style
- # 每次重启服务器后,可能要重复上述操作。
9. 这时就应该能够访问了,成功的标志就是访问http://localhost/gw会看到UCSC常见的页面。
加载UCSC浏览器所需数据库内容
1. 安装hgcentral数据库内容
- wget http://hgdownload.cse.ucsc.edu/admin/hgcentral.sql
- mysql -uroot -proot_passwd -e 'create database hgcentral'
- mysql -uroot -proot_passwd -e 'grant all privileges on hgcentral.* to 'gw'@'localhost''
- # 加载下载的hgcentral数据库
- mysql -ugw -p qazplm_gw hgcentral <hgcentral.sql
- mysql -uroot -proot_passwd -e 'create database hgFixed'
- 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时的解决方案:
- #如果不存在就安装,如果存在就直接建立软连接
- sudo apt-get install libssl0.9.8
- # Use `locate libssl.so.0.9.8` to find the path of this file.
- # For 32 bit
- sudo ln -s /lib/i386-linux-gnu/libssl.so.0.9.8 /usr/lib/libssl.so.6
- sudo ln -s /lib/i386-linux-gnu/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.6
2. 获取相关物种信息数据库
- # 鉴于物种信息数据库比较大,可以在数据盘新建目录用于存储
- #change datadir to /home/mysql
- /etc/init.d/mysql stop
- vim /etc/mysql/my.cnf
- #下载数据库
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/chromInfo.MYD /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/chromInfo.MYI /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/chromInfo.frm /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/cytoBandIdeo.MYD /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/cytoBandIdeo.MYI /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/cytoBandIdeo.frm /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/grp.MYD /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/grp.MYI /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/grp.frm /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/hgFindSpec.MYD /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/hgFindSpec.MYI /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/hgFindSpec.frm /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/trackDb.MYD /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/trackDb.MYI /home/mysql/mm9
- rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/trackDb.frm /home/mysql/mm9
- ##赋予权限
- 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
- set password for 'gw'@'localhost'=OLD_PASSWORD('qazplm_gw');
- flush privileges;
b. Cant connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’
- ln -s /var/run/mysqld/mysqld.sock /var/lib/mysql/mysql.sock
- chmod 666 /var/lib/mysql/mysql.sock
- chmod 755 /var/lib/mysql/
3. 下载gbdb数据
- #bbi 为encode数据
- mkdir -p /home/user/gbdb/mm9
- rsync -avzP --delete --max-delete=20 --exclude=bbi \
- rsync://hgdownload.cse.ucsc.edu/gbdb/mm9/ ~/gbdb/mm9/
- #---mappability data---------------
- rsync -avzp rsync://hgdownload.cse.ucsc.edu/gbdb/mm9/bbi/*.bw ~/gbdb/mm9/bbi
- 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
- #首先看目录结构
- /var/www/hub$ tree
- .
- ├── genomes.txt
- ├── hub.txt
- └── mm9
- ├── ctcf1.bw
- ├── P3001.bw
- ├── ctcf2.bw
- ├── P3002.bw
- └── trackDb.txt
- 1 directory, 7 files
- #再看每个文件的内容
- $cat genomes.txt
- genome mm9
- trackDb mm9/trackDb.txt
- $cat hub.txt
- hub myhub
- shortLabel Testhub
- longLabel Testhubsdsdsdsd
- genomesFile genomes.txt
- email my@my.com
- $cat mm9/trackDb.txt
- # access http://localhost/cgi-bin/hgTracks?db=mm9&hubUrl=https://localhost/hub.txt
- # help : http://genome.ucsc.edu/goldenPath/help/hgTrackHubHelp.html
- # trackDb.txt syntax http://genome.ucsc.edu/goldenPath/help/trackDb/trackDbHub.html#bigBed_-_Item_or_Region_Track_Settings
- #http://davetang.org/muse/2012/03/15/ucsc-genome-browser-custom-overlap-tracks/
- track One
- container multiWig
- shortLabel One
- longLabel One
- type bigWig
- #viewLimits 0:160
- visibility full
- aggregate transparentOverlay
- showSubtrackColorOnUi on
- priority 1.2
- configurable on
- autoScale on
- dragAndDrop subtracks
- windowingFunction mean+whiskers
- maxHeightPixels 100:60:8
- track One_ctcf
- bigDataUrl ctcf1.bw
- shortLabel ctcf1.bw
- longLabel ctcf1.bw
- parent one
- type bigWig
- color 0,102,255
- track P300
- bigDataUrl P3001.bw
- shortLabel P3001.bw
- longLabel P3001.bw
- parent one
- type bigWig
- color 136,102,255
- track Two
- container multiWig
- shortLabel Two
- longLabel Two
- type bigWig
- #viewLimits 0:160
- visibility full
- aggregate transparentOverlay
- showSubtrackColorOnUi on
- windowingFunction maximum
- priority 1.2
- configurable on
- autoScale on
- dragAndDrop subtracks
- track ctcf2
- bigDataUrl ctcf2.bw
- shortLabel ctcf2.bw
- longLabel ctcf2.bw
- parent Two
- type bigWig
- color 0,102,255
2. 定时清理
- #!/bin/bash
- #10080 means 10080 minutes which is 14 days.
- find /var/www/gw/trash/ \! \( -regex "/var/www/gw/trash/ct/.*" -or \
- -regex "/var/www/gw/trash/hgSs/.*" \) -type f -amin +10080 -exec rm -f {} \;