本地安装UCSC基因组浏览器
时间:2022-04-26
本文章向大家介绍本地安装UCSC基因组浏览器,主要内容包括安装UCSC浏览器、2. 新建mysql用户、3. 同步UCSC所需html文件和运行程序、4. 把以下内容写入/etc/apahce2/httpd.conf、5. 设置Apache解析有执行权限的文件中的SSI指令,然后重启apache、6. 设置数据库配置文件、7. 建立缓存文件夹、8. 提供Javascript文件、9. 这时就应该能够访问了,成功的标志就是访问http://localhost/gw会看到UCSC常见的页面。、加载UCSC浏览器所需数据库内容、2. 获取相关物种信息数据库、3. 下载gbdb数据、4. 访问链接http://localhost/gw/cgi-bin/hgGateway?db=mm9、UCSC Track Hub使用、2. 定时清理、更多基因组浏览器的使用、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
UCSC基因组浏览器在大规模高通量数据的可视化和比较分析研究中发挥着重要的作用。拥有了本地浏览器,就可以对自己的测序数据进行更深入的分析和共享使用。本文详细介绍了如何一步步在本地安装、配置、高级使用UCSC浏览器。其详细介绍见 测序数据可视化 (三) - UCSC genomebrowser
安装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叠加到一起显示,方便比较。具体见测序数据可视化 (三) - UCSC genomebrowser
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 {} ;
更多基因组浏览器的使用
- Go语言对JSON进行编码和解码
- [Go 语言社区]服务器自测JS 工程
- Django 1.10中文文档-第一个应用Part2-模型和管理站点
- 亿以内所有素数(Go语言版)
- Django 1.10中文文档-第一个应用Part1-请求与响应
- 三步学会用spring开发OSGI——(第二步:工程篇)
- Golang语言 控制结构
- Python标准库笔记(1) — string模块
- 曲线点抽稀算法-Python实现
- Python判断文件是否存在的三种方法
- Golang语言 ---切片:用法和本质
- Django 1.10中文文档-第一个应用Part7-自定义管理站点
- 转--Golang语言--复合数据
- 三步学会用spring开发OSGI——(第三步:web篇)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法