生物信息学 之 计算表观遗传学分享 http://blog.sciencenet.cn/u/hongbo919 森罗万象是表观, 追根溯源系遗传。 计算精研千淘漉, 生物殿堂乐其间。

博文

UCSC Genome Browser 本地化 on Redhat

已有 4607 次阅读 2014-11-4 09:10 |系统分类:科研笔记| 本地化, ucsc

Installing a Browser Mirror on Linux Red Hat

#环境:Red Hat Enterprise Linux Server release 6.2 (Santiago);Linux version 2.6.32-220.el6.x86_64

#安装Mysql数据库。

yum -y install mysql-server

#新建一个用户。

mysql –u 用户名 –p 密码  
create user
'user'@'localhost' identified by 'PASSWORD';
grant all privileges on hg19.* to
'user'@'localhost'
flush privileges;

#这里面的密码是进入user这个数据库的密码,非mysql登录。user作为名称可以随意替换,但是下文相应的部分也要改。不熟练的话不建议修改。

#安装Apache。

yum -y install httpd
sudo service apache2 restart

#下载必须的libraries

sudo yum install libssl0.9.8
sudo ln -s /usr/lib/libssl.so.0.9.8 /usr/lib/libssl.so.6
sudo ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.6

 #将UCSC放在www/genomebrowser下(如果你的服务器只放该浏览器镜像的话,建议将其直接放在www下),下载html文件(大概耗时0.5-2小时)。

sudo mkdir /var/www/genomebrowser
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/htdocs/ /var/www/genomebrowser/

 #安装Genome Browser(大概耗时0.5-2小时)。

sudo mkdir -p /var/www/genomebrowser/cgi-bin
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/cgi-bin/ /var/www/genomebrowser/cgi-bin/
sudo chown -R 755 /var/www/genomebrowser/cgi-bin/


#给genomebrowser访问权限

sudo chown -R 755 /var/www/genomebrowser/


#建立缓存文件夹

sudo rm /var/www/genomebrowser/trash
sudo mkdir /var/www/genomebrowser/trash
sudo chown -R 755 /var/www/genomebrowser/trash


#提供Javascript文件

sudo mkdir -p /usr/local/apache/htdocs/  
sudo ln -s /var/www/genomebrowser/js/ /usr/local/apache/htdocs/js
sudo ln -s /var/www/genomebrowser/style/ /usr/local/apache/htdocs/style

 #创建并修改/var/www/cgi-bin/hg.conf文件
#可以基于官网提供的.conf进行修改,官网的版本还有很多额外的功能,下载地址如下:
http://genome-test.cse.ucsc.edu/~kent/src/unzipped/product/ex.hg.conf

gedit /var/www/genomebrowser/cgi-bin/hg.conf


#添加以下内容:

# Configuration file for the UCSC Human Genome server
defaultGenome=Human
browser.documentRoot=/var/www/genomebrowser
# the format is in the form of name/value pairs, written as 'name=value'
# note that there is no space between the name and its value. Also, no blank lines #should be in this file.
# db.host is the name of the MySQL host to connect to
db.host=localhost
# db.user is the username used when connecting to the host
db.user=user
# this is the password to use with the above hostname
db.password=PASSWORD
db.trackDb=trackDb
# central.host is the name of the host of the central MySQL
# database where stuff common to all versions of the genome
# and the user database is stored.
central.db=hgcentral
central.host=localhost
central.user=user
central.password=PASSWORD
central.domain=
backupcentral.db=hgcentral
backupcentral.host=localhost
backupcentral.user=user
backupcentral.password=PASSWORD
backupcentral.domain=

###########################添加的内容结束#####################

sudo chown -R 755 /var/www/genomebrowser/cgi-bin/hg.conf

 #配置Apache服务器,使下载的html、cgi-bin可以正常显示。
#进入/usr/local/apache/conf目录。httpd.conf文件是Redhat系统中Apache的主要配置文件,谨慎添加内容,用文本编辑器建立httpd.conf并添加如下内容。位置可以放在<Directory "/var/www/cgi-bin">...</Directory>下一行。

gedit /usr/local/apache/conf/httpd.conf

 ###########################以下为添加的内容####################

#Setting for genomebrowser in httpd.conf
#Enable SSI
XBitHack on
<Directory /var/www/genomebrowser/>
  AllowOverride AuthConfig
  Options Indexes FollowSymLinks MultiViews Includes
  Order allow,deny
  allow from all
  AddType text/html .shtml
  AddOutputFilter INCLUDES .shtml
</Directory>
 
#Enable CGI
ScriptAlias /genomebrowser/cgi-bin/ "/var/www/genomebrowser/cgi-bin/"
<Directory "/var/www/genomebrowser/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
AddHandler cgi-script cgi pl
</Directory>

###########################添加的内容结束#####################
#进行到此步应该已经可以用http://localhost/genomebrowser/访问本地化的UCSC,如果显示不正常,则可能是由于Server Side Includes (SSI) on Apache没有正常启动
#重新检查以上/usr/local/apache/conf/httpd.conf是否配置正确,按照以上说明进行正确配置即可。

#重启apache2服务器

sudo service apache2 restart

#若此时出现CGI "Internal Server Error" 错误,则可以通过更改/var/www/genomebrowser/cgi-bin/的权限来解决

chmod 755 -R /var/www/genomebrowser/cgi-bin
sudo service apache2 restart

 #进一步出现userDb不能写的问题:
#Can't start query: INSERT userDb VALUES(0,"",0,now(),now(),0)
#mySQL error 1036: Table 'userDb' is read only
#可以通过修改/var/lib/mysql的权限来解决

sudo chown -R mysql:mysql /var/lib/mysql

 #重启mysql

sudo service mysql restart

 #此时可以看到genomebrowser,如果显示不正常,导航栏异常,原因在于Redhat下Apache没有默认地读取htdocs(Ubuntu下Apache默认是读htdocs的)
#解决这个问题只需将genomebrowser下的js和style两个文件夹复制到www下即可。

cp -R /var/www/genomebrowser/style /var/www/
cp -R /var/www/genomebrowser/js /var/www/

 #此时如果提示错误Permission denied failed to create directory ../trash/hgt,初步估计是因为trash文件夹没有写的权限所致

chmod 777 -R /var/www/genomebrowser/trash/

 #如果遇到导航栏中某些链接指向www/cgi-bin的问题(因为默认的UCSC浏览器是放在www下的),目前比较保守的解决办法是将genomebrowser/cgi-bin下的文件复制到www/cgi-bin(注意此方法并未完全解决链接问题)

cp -Rf  /var/www/genomebrowser/cgi-bin/*  /var/www/cgi-bin/

 #建立Mysql tables。
#首先要下载hgcentral.sql,把他放进mysql的目录,然后写入本地数据库文件。

wget http://hgdownload.cse.ucsc.edu/admin/hgcentral.sql
mysql -u root -p -e "create database hgcentral"
mysql -u root -p hgcentral < /home/download/hgcentral.sql
mysql -u root -p -e "grant all privileges on hgcentral.* to
'user'@'localhost'"
mysql -u root -p -e "create database hgFixed"  
mysql -u root -p -e "grant select on hgFixed.* to
'user'@'localhost'"

 #UCSC提供了很多物种的Genome数据库。
#以hg19为例,如果要整个下载hg19的数据库,可以用下面的命令,请务必保证硬盘在500G以上(网速好的话,尚需3-4天下载完所有数据)

sudo mkdir /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/ /var/lib/mysql/hg19

 #若想尽快实现UCSC本地化且并不需要所有的data,则可以先下载部分必要的table,等本地化完成之后再增加需要的表。
#根据吕杰(http://blog.csdn.net/biocq/article/details/8954749)的经验,hg19数据库中至少要有以下几个表
grp
trackDb
hgFindSpec
chromInfo
gold
gap

#因此分别利用以下语句下载这些表(注,每个表都对应下面的三个文件,.MYD .MYI和.frm)

sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/grp.MYD /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/grp.MYI /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/grp.frm /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/trackDb.MYD /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/trackDb.MYI /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/trackDb.frm /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/hgFindSpec.MYD /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/hgFindSpec.MYI /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/hgFindSpec.frm /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/chromInfo.MYD /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/chromInfo.MYI /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/chromInfo.frm /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/gold.MYD /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/gold.MYI /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/gold.frm /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/gap.MYD /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/gap.MYI /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/gap.frm /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/oregannoAttr.MYD /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/oregannoAttr.MYI /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/oregannoAttr.frm /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/refLink.MYD /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/refLink.MYI /var/lib/mysql/hg19
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hg19/refLink.frm /var/lib/mysql/hg19

 #此外,要想实现UCSC本地化,MySQL数据库中至少应该有如下几个数据库:
   customTrash  
   hg19  
   hgFixed  
   hgcentral  
   proteinDB  
   proteins  
   proteome  
   swissProt  
   uniProt

#因此分别利用以下语句下载这些数据库

sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/hgFixed/ /var/lib/mysql/hgFixed
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/uniProt/ /var/lib/mysql/uniProt/sp120323/
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/swissProt/ /var/lib/mysql/uniProt/sp111004/
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/proteome/ /var/lib/mysql/proteinDB/proteins120806/
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/proteins/ /var/lib/mysql/proteinDB/proteins111004/

 #再在根目录下建立gbdb文件夹,至少需要下载对应物种(如hg19)的.2bit文件或nib文件

sudo mkdir /gbdb
chmod 755 -R /gbdb
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/gbdb/hg19/ /gbdb/hg19/

 #这样下载的文件会很多,建议提示下载什么下载什么rsync -avzP rsync://hgdownload.cse.ucsc.edu/gbdb/hg19/multiz100way/ /gbdb/hg19/multiz100way/rsync -avzP rsync://hgdownload.cse.ucsc.edu/gbdb/hg19/wib/laminB1.wib /gbdb/hg19/wib/ #其他可能出现的问题
1、切记不要在虚拟机下的linux(无论是Redhat还是Ubuntu)系统中本地化UCSC,会遇到mysql占用大量CPU的问题。2、UCSC会遇到一个问题:Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (13)。
可能是由于mysql版本的更新,.sock文件放的位置不同了。解决方法:

sudo ln -s /var/run/mysqld/mysqld.sock /var/lib/mysql/mysql.sock
sudo chmod 666 /var/lib/mysql/mysql.sock
sudo chmod 755 /var/lib/mysql/

再次尝试访问genome browser,会遇到以下警告:
Warning/Error(s):
Couldn't connect to database hg19 on localhost as user.
Access denied for user 'user'@'localhost' to database 'hg19'
说明目前还没有hg19数据库,接下来构建hg19并下载必要的文件,有时提示hg19.*,这说明缺少某个表,可以单独下载此表。
3、如果出现Warning/Error(s):External file /gbdb/hg19/multiz100way/maf/chr21.maf cannot be opened or has wrong size. Old size 8328154035, new size -1, error No such file or directory
则说明gbdb文件夹下缺少相应的文件,下载即可。

4、如果已经下载了本地化相关的大量文件,完全可以通过复制的办法来重新本地化,无需再次从UCSC网站下载。
5、如果本地根目录空间太小,无法存放mysql和gbdb两个超级文件夹,可以通过软链接(ln)的方式将其转移至较大的空间内。
(1)转移mysql目录:

cp -aR /var/lib/mysql/. /pub3/mysql
cd  /var/lib/
mv mysql mysql_bei     #将原有的mysql重命名,作为备份以防万一,同时也为成功做软链接做准备
ln -s /pub3/mysql /var/lib/mysql
chown -R mysql:mysql /pub3/mysql
service mysql start

(2)转移gbdb目录

cp -aR /gbdb/. /pub3/gbdb
mv gbdb gbdb_bei   #以防万一
ln -s /pub3/gbdb /gbdb

 至此,UCSC的本地化完成。祝好! 

其他供参考的UCSC本地化教程:

UCSC Genome Browser 本地化官方指南

UCSC Genome Browser 本地化官方指南 (详细wiki)

UCSC Genome Browser 本地化Google论坛

UCSC Genome Browser 本地安装指南 by 卢金龙

UCSC Genome Browser 本地化安装指南(Ubuntu)by 吕杰

 

For any more questions, please contact hongbo919@gmail.com.


 



https://blog.sciencenet.cn/blog-97949-840924.html


下一篇:从一则招聘启事看生物信息研究者应掌握的十种能力
收藏 IP: 61.180.241.*| 热度|

1 陈小润

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-19 21:43

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部