blast2go本地数据库安装和使用

1. Download all necessary files

$ wget -c -b -N --progress=dot:mega http://archive.geneontology.org/latest-full/go_201310-assocdb-data.gz
$ wget -c -b -N --progress=dot:mega ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/gene_info.gz
$ wget -c -b -N --progress=dot:mega ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/gene2accession.gz   
$ wget -c -b -N --progress=dot:mega ftp://ftp.pir.georgetown.edu/databases/idmapping/idmapping.tb.gz
$ wget -c -b -N --progress=dot:mega http://blast2go.com/data/blast2go/b2g4pipe_v2.5.zip
$ wget -c -b -N --progress=dot:mega http://blast2go.com/public-data/local_b2g_db.zip

2. Unzip all  files

$ gzip -dv go_201207-assocdb-data.gz
$ gzip -dv gene_info.gz
$ gzip -dv gene2accession.gz
$ gzip -dv idmapping.tb.gz
$ unzip b2g4pipe_v2.5.zip
$ unzip local_b2g_db.zip
$ cp  local_b2g_db/* .

4. Execute the file b2gdb.sql to create a database (default name: b2gdb), additional tables and a public user for restricted access (select only).

新建文件install_blast2goDB.sh,内容如下:

#!/bin/sh
godbname=go_201310-assocdb-data
dbname=b2g
dbuser=root
dbpass=passwd     #这个要修改
dbhost=127.0.0.1
path=$PWD         #数据文件的存放路径

mysql -h$dbhost -P 3306 -u$dbuser -p$dbpass $dbname < b2gdb.sql 

mysql -h$dbhost -u$dbuser -p$dbpass $dbname < $godbname
mysql -h$dbhost -u$dbuser -p$dbpass $dbname -e"LOAD DATA LOCAL INFILE '$path"/gene2accession"' INTO TABLE gene2accession FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';"
mysql -h$dbhost -u$dbuser -p$dbpass $dbname -e"LOAD DATA LOCAL INFILE '$path"/gene_info"' INTO TABLE gene_info FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';"

echo Finished, now use Blast2GO to import the PIR mapping data-file;

使install_blast2goDB.sh可执行,并运行该脚本。这一步是将 go_201207-assocdb-data.gz,gene2accession 和 gene_info 导入到 b2gdb 数据库中.

5. Import the last mapping file from PIR

新版本中是这样运行的:

java -cp .:mysql-connector-java-5.0.8-bin.jar: ImportIdMapping \
idmapping.tb localhost b2gdb blast2go blast4it

新版本中local_b2g_db.zip中有3个文件:b2gdb.sql,ImportIdMapping.class和mysql-connector-java-5.0.8-bin.jar。通过b2gdb.sql文件来创建mysql数据库和表。通过该文件,其创建了数据库b2gdb,并创建了对b2gdb数据库拥有最大权限的mysql用户blas2go,密码blast4it。同时运行上述命令需要同时有ImportIdMapping.class和mysql-connector-java-5.0.8-bin.jar这两个文件。
这一步是将 idmapping.tb 导入到本地 b2gdb 数据库的 gi2uniprot 表中。

老版本中是这样运行的:

/home/chenlianfu/programs/jre1.7.0_04/bin/java -cp /home/chenlianfu/programs/blast2go/b2g4pipe/blast2go.jar:/home/chenlianfu/programs/blast2go/b2g4pipe/ext/mysql-connector-java-3.0.11-stabes-bin.jar es.blast2go.prog.util.ImportPIR idmapping.tb localhost b2g root passwd TRUE

老版本中一定要注意,命令要靠自己用手亲自敲打出来,如果复制的话,一般会出现如下错误

Problem connecting to database b2g on localhost as root with password starts with *********: com.mysql.jdbc.Driver

而导入正常会提示为

Open database connection to database b2g on 127.0.0.1 as root with password starts with *********
Open database connection to database b2g on 127.0.0.1 as root with password starts with *********

复制出的语句和手工敲打出的语句表面看上去一模一样,可能某个符号其实不一致,机器识别不出来。这点千万要注意,不然第 5 步死活也过不去了。

可以通过将 mysql 语句来查询导入了多少行数据到表中:

mysql> SELECT COUNT(*) FROM gi2uniprot;
+----------+
| COUNT(*) |
+----------+
| 40344363 |
+----------+
1 row in set (0.00 sec)

6. 运行blast2go

1. 图形化运行

运行出现了解决不了的问题,可以尝试切换一个全新的用户去运行blast2go。
使用b2g4pipe进行不用联网的运行:

$ java -Xmx1000m -cp *:ext/*: es.blast2go.Blast2GO

不使用b2g4pipe进行联网的运行:

曾经:
$ javaws http://www.blast2go.com/webstart/makeJnlp.php?mem=1000
现在:
$ javaws http://www.blast2go.com/webstart/blast2go1000.jnlp

2. 命令行运行

命令行运行使用了b2g4pipe, 先修改b2gPipe.properties中的数据库参数,再运行。需要先获得blast和interproscan的注释结果,再进行命令行运行。有两种运行的方法:

$ java -Xmx1000m -cp *:ext/*: es.blast2go.prog.B2GAnnotPipe
$ java -Xmx1000m -jar blast2go.jar

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据