De novo 基因组GO 注释小窗口

关于GO 注释的心得体会

目前对于GO功能注释的思路有 以下常见的四种:

1、BLAST+InterProScan => OmicsBox

可以先通过使用 blastp 进行nr注释,那么问题就来了,nr 数据库截至2018年12月已经有120G左右的数据量了,根据我的个人使用经验,对25000条蛋白进行32线程的并行化比对,差不多要半个月左右(心中一万匹cnm飘过)。很显然,在计算资源有限的条件下这是不现实的,那么大概就会出现两种思路:

(1)缩小数据库:一种是使用Swiss-Prot等小的数据库进行注释;另一种就是根据基于taxid构建 nr子数据库了,具体的构建可见 基于taxid构建Blast database_bioinfomatics2medicine_新浪博客 (2)能不能使用一个更高效的比对工具呢,答案是肯定的 那就是 GitHub - bbuchfink/diamond: Accelerated BLAST compatible local sequence aligner.

其主页介绍如下:

DIAMOND is a sequence aligner for protein and translated DNA searches, designed for high performance analysis of big sequence data. The key features are:

Pairwise alignment of proteins and translated DNA at 500x-20,000x speed of BLAST.

Frameshift alignments for long read analysis.

Low resource requirements and suitable for running on standard desktops or laptops.

Various output formats, including BLAST pairwise, tabular and XML, as well as taxonomic classification.

对的,它就是那么快,相对于 blastp 的半个月,在 ‘--more-sensitive’ 模式下也仅需要4-5个小时。

在nr注释完之后,就到使用 OmicsBox mapping GO id 了。现在所有的服务都要收费了,https://www.biobam.com/omicsbox/#plans. 但价格比以前(Blast2GO)要公道很多, 如果不缺少资金可以购买,但如果不想花钱,那么不如就来个本地化吧,对于本地化网上也有很多的教程了:

blast2go本地化2017教程:blast2go本地化2017教程 - 生信技能树

非root权限的blast2go的安装和使用(二)· blast2go的数据和软件准备及使用:https://mp.weixin.qq.com/s?__biz=MzI1MjU5MjMzNA==&mid=2247486358&idx=1&sn=4b095e9a200a419079d947d930c38abd&chksm=e9e02237de97ab21f4227ee76eca0aa94433fe6cc374e030093eb3acc2094a546110763bb411&mpshare=1&scene=23&srcid=0101kMbzD2el0RPASBiC9pFi#rd

陈连福 centos6.9 代码:

“# installing Blast2go Databases

mkdir /opt/biosoft/blast2go

cd /opt/biosoft/blast2go

wget http://archive.geneontology.org/latest-full/go_monthly-assocdb-data.gz

wget ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/gene_info.gz ### ascp -k 1 -T -l 200M -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh --host=ftp-private.ncbi.nlm.nih.gov --user=anonftp --mode=recv /gene/DATA/gene_info.gz 。/

wget ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/gene2accession.gz  #### ascp -k 1 -T -l 200M -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh --host=ftp-private.ncbi.nlm.nih.gov --user=anonftp --mode=recv /gene/DATA/gene2accession.gz ./

wget ftp://ftp.pir.georgetown.edu/databases/idmapping/idmapping.tb.gz

## 对于不能使用aspera加速下载的文件可以试试 lftp -e 'pget -n NUM -c url; exit'实行多线程下载

gzip -dv go_monthly-assocdb-data.gz

gzip -dv gene_info.gz

gzip -dv gene2accession.gz

gzip -dv idmapping.tb.gz

tar zxf ~/software/local_b2g_db.tar.gz

mv local_b2g_db/* ./  && rm -rf local_b2g_db/

perl -p -i -e 's/go_201512-assocdb-data/go_2017-assocdb-data/' install_blast2goDB.sh

./install_blast2goDB.sh



#一个自己的例子 #

##下载NR 数据库到自己的Blast+ db 中

wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.2.28/ncbi-blast-2.2.28+-x64-linux.tar.gz

tar -zxf ncbi-blast-2.2.28+-x64-linux.tar.gz -C /opt/biosoft/

/opt/biosoft/ncbi-blast-2.2.28+/bin/blastdbcmd -db nr -entry all -out nr.faa

### 值得注意的是这里我用的blastdbcmd是ncbi-blast-2.2.28+的,输出的 nr.faa 文件中序列名是 “>gi|66816243|ref|XP_642131.1| hypothetical protein DDB_G0277827” ,但如果用的是 ncbi-blast-2.6.0+的 blastdbcmd,输出没有GI号,原因可能是:As of September 2016, the integer sequence identifiers known as "GIs" will no longer be included in the GenBank, GenPept, and FASTA formats supported by NCBI for the display of sequence records.In addition, the FASTA format will no longer include the database source abbreviation. Please refer to the NCBI News Announcement posting for more detail.

wget https://github.com/bbuchfink/diamond/releases/download/v0.9.24/diamond-linux64.tar.gz

### 同样注意版本,因为diamond输出的XML与 b2g4pipe_v2.5 不兼容而出现 “Annotation of 0 seqs with 0 annots finished. Now searching for orfan IPRs...” 这个issues的讨论,你可以在到下面的链接去看。

tar -zxf diamond-linux64.tar.gz

mv diamond ~/bin/

cp ../interpro/proteins.fasta ./

ascp -k 1 -T -l 200M -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh --host=ftp-private.ncbi.nlm.nih.gov --user=anonftp --mode=recv /pub/taxonomy/accession2taxid/prot.accession2taxid.gz ./prot.accession2taxid.gz

ascp -k 1 -T -l 200M -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh --host=ftp-private.ncbi.nlm.nih.gov --user=anonftp --mode=recv /pub/taxonomy/taxdmp.zip ./

unzip taxdmp.zip

/opt/biosoft/ncbi-blast-2.2.28+/bin/blastdbcmd -db nr -entry all -out nr.faa

diamond makedb --in nr.faa -d nr --taxonmap prot.accession2taxid.gz --taxonnodes nodes.dmp #### DIAMOND v0.9.24

diamond blastp --query proteins.fasta --more-sensitive --db nr --evalue 1e-5 --salltitles --threads 64 --outfmt 5 --out nr.xml

perl -p -e 's/diamond 0.9.24/BLASTP 2.2.26/' nr.xml > nr_new.xml

perl -p -i -e 's/^Dbacces.dbname=.*/Dbacces.dbname=b2gdb/' b2gPipe.properties

perl -p -i -e 's/^Dbacces.dbhost=.*/Dbacces.dbhost=127.0.0.1/' b2gPipe.properties

java -cp *:ext/*: es.blast2go.prog.B2GAnnotPipe -in ../nr_new.xml -out go -annot -dat -annex

# 至于整合InterProScan的结果可以使用下面的脚本,当然也可以在java -cp *:ext/*: es.blast2go.prog.B2GAnnotPipe -ips 来实现,或者将b2g4pipe的输出文件加载到 Blast2GO Basic 中进行后续可视化分析。

merge_interpro_to_go.pl b2g4pipe/go.annot ../interpro/interpro.tsv > go.annot

# Anyone use diamond output xml file  for b2gpipe? · Issue #79 · bbuchfink/diamond · GitHub

# Problem in uploading the Diamond blastx results into Blast2GO · Issue #159 · bbuchfink/diamond · GitHub

# diamond to blast2go erro  · Issue #165 · bbuchfink/diamond · GitHub



2、InterProScan

对于 InterProScan 可以本地化,也可以用 interProScan5.pl 将序列发送到官方服务器进行注释,资源允许,还是推荐本地化,网络版感觉还是有点慢~一个本地化教程:

一个用interproscan做基因注释的简易教程



3、eggNOG-Mapper (包括网页版和本地化)

(1)关于这个注释方法网页版的推荐自己去摸索吧(就是和NCBI提交类似)=> http://eggnogdb.embl.de/#/app/emapper

(2)本地化推荐两个教程吧:

序列功能注释神器:eggNOG-mapper,KEGG/COG/KOG/GO/BiGG 一网打尽 : 序列功能注释神器:eggNOG-mapper,KEGG/COG/KOG/GO/BiGG 一网打尽 « Biostack.org

应该是最好的eggnog-mapper功能注释教程:应该是最好的eggnog-mapper功能注释教程 - 简书(生信媛)

4、PANNZER2-终极注释网站

此部分为2020年12月24日后加,该工具也是一个网页版工具。相较于eggNOG-mapper,PANNZER2注释上的基因条目与Blast2GO差不多,而且,2.5W个基因3-4h就可以拿到结果。如果再整合上InterProScan的结果,那么,这个方法便将高效、准确集于一身。


前方高能:

对于准确性的个人思考,基于比对,也就是基因相似性的注释方法(blastp,diamond)可能会取决于数据库的大小,因为在blast2go中有涉及到相似度cut这一步,如果数据库不够大,那么相似度有的可能只为50(在cut值之上),所以只使用Swiss-Prot等小数据库注释时可能需要提高cut值;当然也会听到直系同源和旁系同源的说法,所以在新版Blast2go中增加了filter GO with Taxid (可能是看到eggnog的文章慌了)这一新模块,减少旁系同源的注释结果。那么如果要在老版的Blast2go中运用这个模块,或许可以换个思路,在比对时,通过Taxid来过滤比对结果。

eggnog的注释,存在两种模式diamond和hummer,前者官方推荐为存在接近物种,也就是在直系同源注释中有更好的表现,hummer则反之. 同样的,只要是比对,就会有cut相似度这一说,数据库的大小及深度(涉及的物种),就会影响结果。其一个特点在于直系同源注释。这点Blast2go中出了filter with Taxid 来补充。



小提示:

参考文献

http://blog.sina.com.cn/s/blog_16152d7d70102xnc3.html

https://github.com/bbuchfink/diamond

https://mp.weixin.qq.com/s?__biz=MzI1MjU5MjMzNA==&mid=2247486358&idx=1&sn=4b095e9a200a419079d947d930c38abd&chksm=e9e02237de97ab21f4227ee76eca0aa94433fe6cc374e030093eb3acc2094a546110763bb411&mpshare=1&scene=23&srcid=0101kMbzD2el0RPASBiC9pFi#rd

http://www.jinciwei.cn/a342744.html

https://github.com/bbuchfink/diamond/issues/79

https://github.com/bbuchfink/diamond/issues/159

https://github.com/bbuchfink/diamond/issues/165

http://www.biostack.org/?p=698

https://www.jianshu.com/p/e646c0fa6443

NGS 生物信息学分析 V6.0 陈连福 郑越

https://www.jianshu.com/p/6296385adf21

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容

  • 时间:2017-08-16 19:36:53来源:CSDN Hive 是基于Hadoop 构建的一套数据仓库分析系...
    majyer阅读 1,471评论 0 2
  • 1. tar 创建一个新的tar文件 $ tar cvf archive_name.tar dirname/ 解压...
    dazdingos阅读 419评论 0 0
  • 黑客常用命令大全 net user heibai lovechina /add 加一个heibai的用户密码...
    倒带默写阅读 16,777评论 0 24
  • 早上翻看日历,过年的前一天居然是情人节。哦,fuck,陪伴我的难道又是我的左手,莫名的忧伤涌上心头。不,我还有苍老...
    青木川_阅读 177评论 0 0
  • 文/北崖 你和理想生活之间 隔着金钱,隔着浮躁 隔着日常侵蚀的深刻痕迹 也隔着,一条国道 一条县道 和一座下着雨的...
    我是北崖君阅读 2,972评论 35 130