专栏首页生信技能树blast2go本地化-2017教程

blast2go本地化-2017教程

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

主要参考:

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

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

    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目录下,进行后续操作,文件总共有这几个:

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包呢?

本文分享自微信公众号 - 生信技能树(biotrainee),作者:anlan

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 没有自己的服务器如何学习生物数据分析(上篇)

    编者注:完整文章首发于作者博客 http://huboqiang.cn/ 在这篇文章中,作者利用大数据平台 IBM data science 对生信技能树...

    生信技能树
  • 差异分析得到的结果注释一文就够

    通过前面的讲解,我们顺利的了解了GEO数据库以及如何下载其数据,得到我们想要的表达矩阵,也学会了两个常用的套路分析得到的表达矩阵,就是GSEA分析和差异分析。 ...

    生信技能树
  • 服务器被关机,不妨试试看用你的Mac电脑跑NGS流程

    现在我就分享一下我自己mac电脑的conda等生物信息学环境配置,提高大家的生产力!

    生信技能树
  • centos 7.5安装mysql5.7.17

    压缩包连接:https://downloads.mysql.com/archives/community/

    云售后焦俊成
  • 手把手教你SQL可视化客户端Navicat安装

    SQL是一门深奥的语言,但是入门却很简单,比如我们仅仅是为了用来存储数据以便Power BI能够调用,最基本的增、删、改、查等操作就能满足日常的要求,涉及到的语...

    陈学谦
  • 任性的苹果,任性的库克

    或许在人类历史上还没有哪一个科技公司会像苹果般任性,任性到可以不顾及用户的感受。随着苹果发布会的新鲜“上线”,我们再次见识到了苹果的任性。价格再度刷新史上最高、...

    孟永辉
  • 01.MySQL数据库初识

      百度的貌似不好理解啊,让我说啊,数据库是存储数据的地方,超哥,你这不是废话么?这位同学,你你你你你说的对,哈哈,存数据的地方是存在哪里呢,存在硬盘上,为什么...

    changxin7
  • JSP+Servlet+mysql简单示例【图文教程】

    下载MYSQL:http://dev.mysql.com/downloads/ ? 下载安装版的 ? 然后安装(安装步骤就不详细说了) 安装好之后,点击托盘图标...

    liulun
  • 使用PowerDesigner16.5 逆向数据库生产表结构或导出word文档

    说明:因为PD是32位的,使用JDBC连接数据库时候也需要运行在32位的Java虚拟机上。一般我们机器上安装的都是64位的,所以需要安装32位JDK不用添加到系...

    凯哥Java
  • mysql基础语句1

    create user ben identified by ‘P@$$w0rd’;

    py3study

扫码关注云+社区

领取腾讯云代金券