blast2go本地化教程

Blast2go本地化教程网上也有不少,但是都是13年之前的,由于最近有这个需求,我也重新收集了下资料,然后整理了下:

主要参考:
http://blog.shenwei.me/local-blast2go-installation/
http://www.blast2go.com/b2glaunch/resources/35-localb2gdb
各种baidu+google

前期准备
  1. Mysql,这个肯定不用说了,必须的要的,我的是ubuntu 14.04,用apt默认安装的,然后将默认数据库目录改到自己的空间大的目录下,我是改到home目录下了,可参考修改mysql默认数据库目录
  2. Java,这个教程里面说是1.6 or 1.7,但我试了下1.8也是可以用的,那肯定就是用1.8咯,教程点明必须要Oracle JDK版,我也没试过open版到底行不行,所以还是听教程的,安装步骤很简单,使用ppa源进行安装

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java8-installer
    
  3. 数据的下载,其实就是一个需要导入mysql库的数据,主要用于比对后的id mapping

    这些直接用wget下载就行了

  4. 下载安装文件: local_b2g_db.zip

文件整理

新建一个目录blast2go(名字随意),解压上述文件,并将所有文件都放到blast2go目录下,然后cd到blast2go目录下,进行后续操作,文件总共有这几个:

b2gdb.sql  
b2gdb.sql~  
gene2accession  
gene_info  
go_monthly-assocdb-data  
idmapping.tb
mysql-connector-java-5.0.8-bin.jar
导入数据库
  1. 将b2gdb.sql导入mysql数据库,并添加几个表格(前提你有root权限,没有权限的话,请参照上面的参考文章)

    mysql -u root -p password < b2gdb.sql
    
  2. 创建mysql数据库的一个用户blast2go,密码为blast4it,方便后续调用这个数据库(我对数据库不熟悉,反正我照做了)

    mysql -u root -p password -e "GRANT ALL ON b2gdb.* TO 'blast2go'@'localhost' IDENTIFIED BY 'blast4it';"
    mysql -u root -p password -e "FLUSH PRIVILEGES;"
    
  3. 接下来就是导入各个数据了

    mysql -s -u root -p password b2gdb < go_monthly-assocdb-data  #这步耗时会很久
    mysql -u root -p password b2gdb -e "LOAD DATA LOCAL INFILE '/home/anlan/blast2go/gene2accession' INTO TABLE gene2accession FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';"
    mysql -u root -p password b2gdb -e "LOAD DATA LOCAL INFILE '/home/anlan/blast2go/gene_info' INTO TABLE gene_info FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';"
    
  4. 最后导入mapping数据(如果你b2gdb密码设置的不是blast4it,记得下面的命令也跟着改,后续的一些的配置文件中的b2gdb的密码也要跟着改)

    java -cp .:mysql-connector-java-5.0.8-bin.jar: ImportIdMapping /home/anlan/blast2go/idmapping.tb localhost b2gdb blast2go blast4it
    
测试

理论上,上述的步骤都没报错的话,下面的测试肯定没问题的

  1. 下载官网的测试例子https://blast2go.com/data/blast2go/b2g4pipe_v2.5.zip,其实也是之后正式使用的执行文件

  2. 修改配置文件b2gPipe.properties,如下:

    // GO and B2G Data Access Basic
    Dbacces.dbname=b2gdb
    Dbacces.dbhost=your_ip:3306
    Dbacces.dbuser=blast2go
    Dbacces.dbpasswd=blast4it
    

    your_ip即为你的ip地址,如果你有root权限的话,安装mysql时默认是3306端口的,不是的话,需要改为你设置的端口

  3. 运行自带的例子

    sh ./runPipeExample.sh
    

    结果会出现在当前目录下的result文件夹中,主要的也就是.dat和.annot两个文件了

注意:

  1. 如果是go_monthly-assocdb-data数据导入时卡了或者异常退出了,需要重新导入的话,只要重新执行下命令就行了

    mysql -s -u root -p password b2gdb < go_monthly-assocdb-data
    
  2. 如果是gene2accession和gene_info异常退出的话,需要先将mysql里面的对应的表格删除后,才能重新执行命令

    mysql> use b2gdb;
    mysql> truncate table gene2accession;
    mysql> truncate table gene_info;
    
  3. 如果是idmapping.tb异常退出的话,需要删除的表格是gi2uniprot,然后再重新执行命令

    mysql> use b2gdb;
    mysql> truncate table gi2uniprot;