lyao222lll的个人博客分享 http://blog.sciencenet.cn/u/lyao222lll

博文

KEGG自动注释工具KAAS简介及KO注释表的简单处理

已有 5888 次阅读 2019-9-28 15:34 |个人分类:数据库/在线网站|系统分类:科研笔记| _在线网站, _数据库, _功能基因组, _python3

KEGG自动注释工具KAAS简介

 

在基因组研究中,特别是我们组装了一个新物种的基因组,在拿到它的基因序列后,首先要做的就是要做个注释,大致推断这些基因的功能。一般来讲KEGG注释肯定也是必不可少的。不过由于现在KEGG数据库中的参考序列不能随便下载了,所以限制了本地应用(如本地blast比对注释基因等)。好在其官网本身提供了在线的注释工具,KAAS,可以满足我们的需求。

尽管网上其实也有很多教程了,不差咱这一篇,所以我在后文中额外添了一些一般其它的教程中没有的内容,尽可能更详细一些,例如拿到KO注释表后,怎样先作个简单的小统计等。好了,下面我们以一个细菌基因组(框架图)中得到的所有的基因编码蛋白序列为例,一步步展示KAAS的使用,以及对注释结果作些简单地处理。

 

本文测试数据以及相关小脚本的百度盘链接:

https://pan.baidu.com/s/1gOA08CEMFe7jj9AbYUYhbw

 


KAAS在线注释


首先介绍怎样使用网站的在线注释功能。

进入KAAShttps://www.genome.jp/kaas-bin/kaas_main,初始界面是这样的。

1.png

网盘示例数据“test.protein.faa”,来自某原核细菌(经16S检测,已知是Arthrobacter属的某物种)的基因组框架图数据,所有预测出来的基因的编码蛋白序列。可视为来自完整基因组(完成图肯定是、框架图也算),所以选择“BBH method”。进去后设置在线注释的参数选项。

第二种和第三种模式,大家自己找数据试一下,这里就不再点击它们演示了。

2.png

点击“Compute”提交后,查看新邮件(若没收到,一是延迟等待一会儿,而是看一下是不是被当作垃圾邮件了),点击里面的链接确认任务运行。若是确认,则任务开始运行。期间不能停止(Remove功能只对已完成的任务有效),等它运行完后,会有新邮件通知你。

注意:一个邮箱不能同时运行多个任务,等上一个运行完才能投递下一个。或者,你多准备几个邮箱账号。

3.png

4.png

 

对于这个细菌的示例,正常情况下也就十几、二十分钟之内就运行完了。对于你的数据,基因序列越多,任务越慢,高等真核生物的,睡个觉第二天再看吧。此外,有时候他这个服务器可能当前正在使用的人很多,需要排队,也会出现很慢的情形,这时也等等吧。

 


注释结果简述


收到任务完成的邮件后,打开链接。注意本次的注释结果,最多在服务器保存两个星期(我忘了多久了,反正不长)?记得及时下载保存。

 

在线结果


结果中主要包含两部分,基因的KO注释结果“text”和映射到的代谢通路“html”,点击链接即可查看简要信息。

到这一步,你所关注的该物种基因组中是否具有参与某种代谢通路的基因,初步查看过后也就大致有个底了。

5.png

 

注释文件下载


我看网上大多数关于KAAS的教程,基本都只介绍到上面两步,从上面的界面中下载KO注释以及代谢通路图。

但是这样就有两个小问题,一是KO注释只有ID,无详细名称,还要后续自己去库中对应,麻烦;二是手动一个个下载代谢通路图,也是很费劲,但不下载在线看的话,过一段时间服务器中就没了。

事实上,无需在这两个链接中下载数据,我们有更好的方法。KAAS注释后,会针对咱们这个注释结果,给你提供一个KO注释列表。依次在结果链接的主界面点击“html>[BRITE hierarchies]>KEGG Orthology (KO)”,可下载该注释表。

6.png

 

默认保存名称“q00001.keg”,这个我也放在的网盘附件中,见“result/q00001.keg”,这个“q00001.keg”就是常规的KEGG通路列表的样式了。随便找个文本编辑器(如Notepad++)打开它。

本次KEGGKAAS)注释,所有能注释到KO的基因以及其参与的代谢通路,都能在列表中找到。这时候你就可以根据所上传基因(或蛋白)序列ID,或者特定的代谢通路名称,去搜索你想要得知的信息了。当然了,并非所有基因都能匹配到KO(主要是这些基因的功能目前尚位完全知晓),所以未注释到的基因,就不在这个列表中了。

7.png

 


自定义整理


对于这个KO注释列表,若觉得这样看起来还是不方便,我们可以再给它处理一下,比方说排个版(整理成表格样式便于操作),或者统计各代谢通路中所含基因数量,等等。

哦对了,我好像还没说怎么把代谢通路图搞下来是吧。其实KEGG的代谢通路图链接,有种固定格式,我们完全可以仿照它的链接样式,在本地生成链接,据此映射到它的具体通路中,并将所涉及的基因以特定颜色展示出来。

此外,在上文展示的KAAS在线注释中,我们推荐上传编码蛋白的氨基酸序列去作功能注释,并不推荐使用基因的核酸序列。因此在这种情况下,序列比对方式是氨基酸序列-氨基酸序列的比对,同时最终得到的KO注释列表中,所谓的“基因id”其实是“编码蛋白id”。我们这里用的细菌,一个基因只对应一条编码蛋白,倒是还好说。若是真核生物,由于可变剪切等的存在,一个基因会对应多个编码蛋白。因此最好再根据基因id和蛋白id的对应关系(可从基因组注释gff文件中获取),将对应的基因id也和KO注释结果联系起来。

这些操作,需要有编程基础才方便完成。其实也不是很难的说,稍微懂一点就可以实现了。网盘链接中提供了示例脚本,这些都是按个人的习惯随便写的,想着给刚入行的同学们作个参考示例,提供下帮助。

 

示例:KO列表样式转换,对应基因id


网盘附件python脚本“script/kegg_trans.py”,可以实现KO列表的样式转换以及根据蛋白id进一步对应基因id

#请使用python3.6或以上版本运行,例如
#python3 kegg_trans.py -h
python3 kegg_trans.py q00001.keg gene.list.txt gene_anno.txt pathway_anno.txt
 
#q00001.keg,KO注释列表
#gene.list.txt,基因列表,共两列,左侧为基因id,右侧为其对应的蛋白id
#gene_anno.txt,输出文件名称,该文件包中含蛋白id、基因id、KO注释等的对应关系
#pathway_anno.txt,输出文件名称,该文件中给出了注释到的通路图链接等

对于“gene.list.txt”,支持一个基因id对应多个蛋白id的情形(考虑到真核生物一个基因通常有多种编码产物),也支持只提供部分基因或蛋白id的情形(考虑到有时我们只想关注其中的部分特定基因)。

8.png

 

上述转化后得到了两个文件gene_anno.txt”和“pathway_anno.txt”,可分别见网盘附件“result/gene_anno.txt”和“result/pathway_anno.txt”。这两个文件中的内容观察起来会更方便。

例如打开“gene_anno.txt”,对每个基因归了类,需注意一个基因能够对应注释到多种KO

9.png

再看“pathway_anno.txt”,其中生成了可直达通路图的链接(和上文中注释结果的链接不同,这个链接无时间限制,可即点即看;它的原理是通过这个链接接入后台,每次连入时,服务器那边会根据链接结构当场绘图作为临时展示):

10.png

 

示例:代谢通路图抓取


如果你想将pathway图片批量下载下来,这儿也提供了一个爬虫参考,见网盘附件“script/pathway_download.py”,可通过第一步转化后的文件中的链接获取通路图。

#python3 pathway_download.py -h
python3 pathway_download.py pathway_anno.txt ./map_download
 
#pathway_anno.txt,上一步得到的转化后的文件,我们将根据其中的通路图链接抓取图片
#map_download,图片存放路径

本示例的抓图结果已保存至网盘附件“result/map_download”,以下展示其中一个通路图,ko00190。对于我们注释的基因组中,存在于该通路中的基因,使用橙色标注出。

11.png

 

示例:统计某分类所含基因数量


例如我们可在第二层级作个统计,统计各分类水平下所包含的基因数量,并绘制柱状图,以简要展示本次注释的基本情况。这个在测序公司的结题报告中经常看到,我们仿照他们的样式来一个,见网盘附件“script/pathway_stat.r”和“result/kegg_stat”。

#Rscript pathway_stat.r -h
Rscript pathway_stat.r gene_anno.txt ./kegg_stat
 
#gene_anno.txt,第一步转化后的基因注释文件,该文件包中含蛋白id、基因id、KO注释等的对应关系
#kegg_stat,输出结果的路径

同上文,我在这儿统计的是各分类下对应的注释到的“基因数量”(在第一步转化过程中,通过基因-蛋白id列表,对应到了二者的关系),而不是“编码蛋白数量”。

12.png

 

本篇就先介绍到这里了,在线的方法操作起来还是很简单的吧,如此我们很方便地拿到手了某物种的KEGG注释结果。后面的过程就是具体的数据分析环节了,例如查找参与某种代谢通路的基因等,不再多说,总之后面的就要靠自己了。

除了基因组,KAAS还可以应用于转录组研究中,例如辅助我们做无参物种的KEGG富集分析等,这个改天再写了。




http://blog.sciencenet.cn/blog-3406804-1199775.html

上一篇:叶绿体基因组二代测序组装经验分享
下一篇:(动物)线粒体基因组二代测序组装经验分享

0

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2020-8-12 19:08

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部