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.sqlSQL语句。如下部分需要更改:

# 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数据库相关推荐

  1. 如何构建自己的云数据库?建立云数据库是否要收费?

    云数据库可以帮助企业或个人存储海量数据,同时也可以进行相应的管理,是非常高效的服务.由于大多数人对云数据库相关服务并不了解,也不知道如何建立自己的云数据库,因此导致大量数据丢失.下面就让小杜来跟大家介 ...

  2. 1+X 云计算运维与开发(中级)案例实战——使用 Mycat 构建读写分离的数据库集群

    1+X 云计算运维与开发(中级)案例实战--使用 Mycat 服务构建读写分离的数据库集群 前言 思路 实操 1.修改主机名,修改主机映射,配置yum源 2.给mycat机安装java服务,给db1和 ...

  3. 关于利用Tushare构建自己的股票数据库

    关于利用Tushare构建自己的股票数据库 1.安装MongoDB数据库 2.抓取股票行情数据 3.构建股票池并观察表现 安装MongoDB数据库 MongoDB作为一个非关系型数据库,储存我们的股票 ...

  4. 存储计算解耦合,构建中国人英语语音数据库

    简介: 通过阿里云为流利说量身打造的数据湖解决方案,解决了流利说多种应用的各类数据的统一存储,帮助流利说构建数据规模高达上千亿的"中国人英语语音数据库". 公司介绍 流利说是世界领 ...

  5. 构建多个关于数据库的DataFlow组合(Nifi:Table-Table)

    文章目录 1.多表连接后查询(使用sql片段)->DB 2.多表连接后查询(sql整句)后->DB 3.多个表分别查询的结果->DB 4.同一个数据库不同schema批量生成多张表 ...

  6. 构建NCBI本地BLAST数据库 (NR NT等) | blastx/diamond使用方法 | blast构建索引 | makeblastdb...

    参考链接: FTP README 如何下载 NCBI NR NT数据库? 下载blast:ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+ 先了解 ...

  7. 项目练习:构建读写分离的数据库集群

    目录 一.目标实现 二.项目准备 三.项目实施 1.配置基础环境 1.1修改主机名 1.2配置3台群集虚拟机的/etc/hosts文件 1.3.配置网卡 1.4.配置本地yum源 2.部署Mycat中 ...

  8. 数据库服务概述 、 构建MySQL服务 、 数据库基本管理 、 MySQL数据类型

    一,数据库介绍 一.数据库介绍 1.1 什么是数据库? 1.2 数据是什么? 数据是科学实验.检验.统计等所获得的和用于科学研究.技术设计.查证.决策等的数值. 计算机数据是指计算机中能被识别和处理的 ...

  9. 中国医学科学院药物研究所委托爱菩新医药构建新药发现资源数据库

    近期,爱菩新医药为中国医学科学院药物研究所设计构建的新药发现资源数据库(Resource databases for new drug discovery, rdndd,http://pharmdat ...

  10. Database基础(一):构建MySQL服务器、 数据库基本管理 、MySQL 数据类型、表结构的调整...

    一.构建MySQL服务器 目标: 本案例要求熟悉MySQL官方安装包的使用,快速构建一台数据库服务器: 安装MySQL-server.MySQl-client软件包 修改数据库用户root的密码 确认 ...

最新文章

  1. 除了Java,为什么我们要学Python?
  2. 关于SpringAOP的XML方式的配置
  3. 基于 HTML5 WebGL 的 3D 服务器与客户端的通信
  4. Storm性能简单测试
  5. 【RobotStudio学习笔记】(一)软件的安装与初步测试
  6. 「代码随想录」70. 爬楼梯【动态规划】详解!
  7. 适用于5G网络的SAF Spectrum Compact 频谱仪
  8. 文档数据库(document database)和键值数据库(key-value database)的区别(NoSQL)
  9. Windows/Windows Server 控制面板(Control Panel) 打开方式 通用
  10. 微信中的表情符号代码对照表
  11. VUE自定义日历组件,计算年月日,上个月份的空白展示,点击某一天进入详情页面
  12. STM32L431之SPI从模式使用DMA时数据偏移3个字节
  13. css巧妙利用盒子---画图(二)
  14. Introduce·传播学核心期刊推荐之《现代传播(中国传媒大学学报)》
  15. 【读懂Autosar代码】-6-Function函数的定义
  16. 3.1 详细讲解直线段工具 [Illustrator CC教程]
  17. js获取一年有多少周及每周详细日期
  18. QT广告屏(多显示器分屏+全屏显示图片)
  19. SpringBoot整合SpringData ES
  20. 操作系统开发:编写开机引导

热门文章

  1. 深度 | 蚂蚁金服DASFAA论文带你深入了解GBDT模型
  2. 2018-2019年计算机类会议截稿日期汇总(更新至20180914)
  3. python更改下载源地址
  4. 统计检验 单尾还是双尾
  5. 0ctf-2017-pwn-char 题解
  6. 蜗居(露骨争议电视剧《蜗居》...
  7. linux系统电视u盘安装教程,linux系统U盘安装教程
  8. 什么是路由守卫?vue-router有哪几种路由守卫?
  9. Java集成快递100的订阅服务和根据物流单号查询物流详情的接口
  10. 计算机广告制作介绍,计算机广告制作.ppt