環境:Ubuntu 12.04 amd64
安裝Mysql數據庫。
sudo apt-get install mysql-server mysql-client libdbd-mysql-perl libmysqlclient-dev
新建一個用戶。
mysql –u 用戶名 –p 密碼
create user 'user'@'localhost' identified by 'PASSWORD';
flush privileges;
這裏面的密碼是進入user這個數據庫的密碼,非mysql登錄。user作爲名稱可以隨意替換,但是下文相應的部分也要改。不熟練的話不建議修改。
安裝Apache。
sudo apt-get install apache2 libapache2-mod-fcgid libapache2-mod-perl2
下載必須的libraries
apt-get install libssl0.9.8
ln -s /usr/lib/libssl.so.0.9.8 /usr/lib/libssl.so.6
ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.6
建立一個genomebrowser文件夾,並下載html文件。
mkdir /var/www/genomebrowser
rsync -avzP rsync://hgdownload.cse.ucsc.edu/htdocs/ /var/www/genomebrowser/
安裝Genome Browser。mkdir -p /var/www/genomebrowser/cgi-bin
rsync -avzP rsync://hgdownload.cse.ucsc.edu/cgi-bin/ /var/www/genomebrowser/cgi-bin/
chown -R www-data.www-data cgi-bin
給www-data權限
sudo chown www-data /var/www/genomebrowser/
建立緩存文件夾
rm /var/www/genomebrowser/trash
mkdir /var/www/genomebrowser/trash
chown www-data.www-data /var/www/genomebrowser/trash
提供Javascript文件
mkdir -p /usr/local/apache/htdocs/
ln -s /var/www/genomebrowser/js/ /usr/local/apache/htdocs/js
ln -s /var/www/genomebrowser/style/ /usr/local/apache/htdocs/style
/var/www/genomebrowser/cgi-bin/hg.conf文件
可以修改默認的基因組
defaultGenome=Mouse
還可以修改默認的Mysql服務器地址,用戶名和密碼
db.host=localhost
以及默認的瀏覽器地址
browser.documentRoot=/var/www/genomebrowser
配置Apache服務器,使下載的html、cgi-bin可以正常顯示。
/etc/apache2/sites-available/default的配置
XBitHack on
<Directory "/var/www/genomebrowser/html">
AllowOverride AuthConfig
Options +Includes
</Directory>
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>
<Directory "/var/www/genomebrowser/trash">
Options MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/genomebrowser">
Options MultiViews
AllowOverride None
Order allow,deny
/etc/apache2/sites-available/default-ssl的配置
XBitHack on
<Directory /var/www/genomebrowser>
AllowOverride AuthConfig
Options +Includes
</Directory>
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>
Allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
建立Mysql tables。
這一步較爲繁瑣。
wget http://hgdownload.cse.ucsc.edu/admin/hgcentral.sql
mysql –u 用戶名 –p 密碼 -e "create database hgcentral"
mysql –u 用戶名 –p 密碼 hgcentral < hgcentral.sql
mysql –u 用戶名 –p 密碼 -e "grant all privileges on hgcentral.* to 'user'@'localhost'"
mysql –u 用戶名 –p 密碼 -e "create database hgFixed"
mysql –u 用戶名 –p 密碼 -e "grant select on hgFixed.* to 'user'@'localhost'"
再在根目錄下建立gbdb文件夾
sudo mkdir /gbdb
如果你有足夠的磁盤空間和網速,可以把一個物種的數據都下載下來。如果沒有的話,可以挑着下。
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/ /var/lib/mysql/mm9
如果嫌太多了,可以一個一個下,例如sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/NIAGene.MYD /var/lib/mysql/mm9
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/NIAGene.MYI /var/lib/mysql/mm9
sudo rsync -avzP rsync://hgdownload.cse.ucsc.edu/mysql/mm9/NIAGene.frm /var/lib/mysql/mm9
每一個mysql表都包含三個文件,
.MYD .MYI和.frm某些文件因爲網速沒下全也可以用這種方法補下。
rsync -avzP rsync://hgdownload.cse.ucsc.edu/gbdb/mm9/ /gbdb/mm9/
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/
如果出現類似這樣的錯誤“Couldn't set connection database to uniProt Access denied for user 'user'@'localhost' to database 'uniProt'”,請建立相應的硬鏈接。詳情見http://genomewiki.ucsc.edu/index.php/Browser_installation。
go -> go080130
proteins -> proteins111004
proteome -> proteins120806
swissProt -> sp111004
uniProt -> sp120323
總之,網頁提示啥有問題,就去下啥。
MySQL數據庫中應該有如下幾個數據庫:
customTrash
hg18
hgFixed
hgcentral
proteinDB
proteins
proteome
swissProt
uniProt
但最少需要以下幾個表。
grp trackDb hgFindSpec chromInfo gold gap
對於/gbdb/, 你至少需要下載對應物種的.2bit文件或nib文件,
/gbdb/<database>/<database>.2bit
有的物種需要:
/gbdb/<database>/nib/*.nib
另外,UCSC會遇到一個問題:Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (13)。
可能是由於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/
或者,無法顯示自己的數據庫,並且提示找不到hg19。這是由於Browser默認顯示是hg19。改一下地址欄,hgGateway?db=** 其中**代表自己下載的數據庫,如本文的mm9。對於 UCSC 的 Genome Browser,用戶也可以添加 Custom Track。但是有效期只有兩天,兩天不用就會自動刪除。而且用戶的 data 是不會進入 UCSC 的 mysql 數據庫的。想永久保存數據還要提交申請,UCSC 對你的身份、學術能力進行考覈,挺麻煩。這也是安裝本地 Genome Browser 的一個原因。另一個就是不願意 share...
其實本地添加永久的 Custom Track 是很容易的。直接讓安裝者多建立一個數據庫就可以了。
mysql –u xx –p xx -e "insert into grp set name='$name', label='$label', priority=$priority;"
把 Custom 的數據導入 mysql 就可以了。