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