前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >blast2go本地化-2017教程

blast2go本地化-2017教程

作者头像
生信技能树
发布2018-09-21 16:27:00
3.8K0
发布2018-09-21 16:27:00
举报
文章被收录于专栏:生信技能树生信技能树

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

主要参考:

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

通常我们上游分析得到的蛋白序列需要和主流的数据库进行比对,完成功能注释。常用数据库一共有以几种:

代码语言:javascript
复制
    Nr:NCBI官方非冗余蛋白数据库,包括PDB, Swiss-Prot, PIR, PRF; 如果要用DNA序列,就是nt库
    Pfam: 蛋白结构域注释的分类系统
    Swiss-Prot: 高质量的蛋白数据库,蛋白序列得到实验的验证
    KEGG: 代谢通路注释数据库.
    GO: 基因本体论注释数据库

这里我们就讲解如何本地化Blast2go完成蛋白序列到GO数据库的注释。

前期准备

  1. Mysql,这个肯定不用说了,必须的要的,我的是ubuntu 14.04,用apt默认安装的,然后将默认数据库目录改到自己的空间大的目录下,我是改到home目录下了,可参考修改mysql默认数据库目录
  2. Java,这个教程里面说是1.6 or 1.7,但我试了下1.8也是可以用的,那肯定就是用1.8咯,教程点明必须要Oracle JDK版,我也没试过open版到底行不行,所以还是听教程的,安装步骤很简单,使用add-apt进行安装 sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer
  3. 数据的下载,其实就是一个需要导入mysql库的数据,主要用于比对后的id mapping 这些直接用wget下载就行了
    • godatabase: http://archive.geneontology.org/latest-full/ 下载go_monthly-assocdb-data.gz即可
    • gene2accession.gz: ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/gene2accession.gz
    • gene_info.gz: ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/gene_info.gz
    • idmapping.tb.gz: ftp://ftp.pir.georgetown.edu/databases/idmapping/idmapping.tb.gz
  4. 下载安装文件: local_b2g_db.zip

文件整理

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

代码语言:javascript
复制
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;

后记

不知道有没有想过,做成一个R包呢?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前期准备
  • 文件整理
    • 导入数据库
    • 测试
    • 后记
    相关产品与服务
    云数据库 SQL Server
    腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档