1、blast2go数据库简介
这GO功能注释过程中,我们经常使用一些R包(ClusterProfiler),或者基于超几何检验的方法进行GO功能富集分析。这些分析多数情况下,是建立在具有参考物种信息的情况下。有时候,我们进行的数据分析,是建立在物种信息的情况下。比如,比较常见的无参转录组数据分析,或者发现新基因的时候。在这种情况下,我们常常通过序列相似性的方法,先找到相似的序列编号,再通过注释网站工具进行注释。
其中,blast2go是比较经典的一种blast算法。其基本步骤是,首先对需要注释的序列,与NCBI(Nr数据库)或者Uniprot数据库进行Blast比对。得到注释结果后,按一定的过滤标准进行过滤。然后再映射到相应的GO功能上,并通过一定的打分规则给予相应的得分。
2、blast2go本地化
blast2go有两种方式进行检索:在线联网方式和本地不联网方式。这里我们主要是介绍本地不联网方式(基于Nr数据库注释)。
2.1 MySQL数据库的安装
这里采用的数据库是mysql数据库,具体安装参考Mysql。由于下载的Nr数据库比较大,我们需要更改数据库的保存路径,具体参考Mysql更改存储位置。
2.2 Nr数据库下载与解压
$ 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
$ 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/* .
2.3 基于MySQL构建本地数据库
本步骤主要是将下载的Nr数据,导入MySQL数据库。
我们将整个流程写入一个shell脚本中(install_blast2go_database.sh),执行导入操作。
#!/bin/sh
godbname=go_201310-assocdb-data
dbname=b2gdb # 首先在MySQL中创建数据库;无特殊要求,后续也会通过程序指定该命令定义的数据库名称
dbuser=root # 数据库的root账号
dbpass=passwd # 安装MySQL时,设置的root密码
dbhost=127.0.0.1 # 默认不要修改,否则需要后续修改blast2go数据库的配置文件(b2gPipe.properties)
path=$PWD # 下载的Nr数据库文件的存放路径
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;
上述shell脚本完成了数据库的导入操作:主要导入了go_201207-assocdb-data.gz,gene2accession 和 gene_info
注意: 需要个性化定制b2gdb.sql
SQL语句。如下部分需要更改:
# mysql 在创建 ci_sessions 表的时候报错:ERROR 1101 (42000): BLOB/TEXT column can’t have a default value
# 这是因为text或blob字段不允许有缺省值,这是由于strict mode导致的
# 可以通过 select @@sql_mode 查看模式规则,然后复制所有规则,并去除 STRICT_TRANS_TABLES
# 使用 set session sql_mode='。。。' 进行会话的设置(不改变全局的)
SET SESSION SQL_MODE='ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
DROP DATABASE IF EXISTS b2gdb; # 与shell配置保持一致
CREATE DATABASE IF NOT EXISTS b2gdb;
GRANT ALL ON b2gdb.* TO 'root'@'localhost' IDENTIFIED BY 'Apt@2022'; # 与shell配置保持一致
FLUSH PRIVILEGES;
USE b2gdb;
2.4 导入idmapping文件
- 新版导入方式
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:创建了b2gdb数据库(MySQL database)和表(MySQL table)
-
b2gdb数据库的用户名是blas2go,密码blast4it
-
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 b2gdb root passwd TRUE
# localhost, b2gdb, root和passwd 依据 install_blast2go_database.sh 中设定的而定。
2.5 修改blast2go数据库的配置文件
该文件为:/b2g4pipe/b2gPipe.properties 或者 blast2go/configuration/b2gPipe_55.properties(基于前者自定义的)
# 修改为 install_blast2go_database.sh中设定的
// GO and B2G Data Access Basic
Dbacces.dbname=b2gdb
Dbacces.dbhost=127.0.0.1
#Dbacces.dbhost=10.0.2.1
Dbacces.dbuser=root
Dbacces.dbpasswd=Apt@2022
2.6 执行注释
需要先获得blast和interproscan的注释结果,再进行命令行运行。有两种运行的方法:
$ java -Xmx1000m -cp *:ext/*: es.blast2go.prog.B2GAnnotPipe
$ java -Xmx1000m -jar blast2go.jar
今天的文章如何构建本地化的blast2go数据库分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/23988.html