新手教程 | 非模式物种GO/KEGG注释!使用 EggNOG-mapper 快速完成~

前段时间,毕业转医学的师弟和我讨论了一些基因集合功能富集分析的项目。对于非模式生物来说,麻烦的不仅仅是富集分析,更在于“注释”,如Gene Ontology注释和KEGG注释。聊到后面,想想对于几乎所有人来说,最为方便的方法,或许就是使用一些安装极其简单的软件(如TBtools),或者使用网页工具。TBtools要求用户下载一些数据库文件,相对还是麻烦。替代的最好办法,就是使用 eggNOG-mapper。于是建议他试试,并写个稿件投送过来。与大伙一起学习讨论。

CJ - 陈程杰
  • 对于非模式物种,需要做GO或KEGG富集,可以尝试使用EGGNOG-Mapper来对你的物种序列进行快速注释。在注释结果文件中,可以同时获得序列映射上的GO号或KO号,直接提取出来即可。

  • 此外,EGGNOG-Mapper对序列进行注释,似乎对区分旁系同源基因和直系同源基因上有更好的表现

  • EGGNOG-Mapper可以直接使用网页版,也能在服务器上进行本地化。由于比对调用的是diamond,因此运行速度很快,2W+基因只需要十来分钟,推荐直接使用网页版。

一、EGGNOG-Mapper网页注释

  • 注释网址

    http://eggnog-mapper.embl.de/

    • 运行提交的任务

    注释完成之后会收到通知邮件,通过邮件中的链接下载注释结果

    其中,out.emapper.annotations是最终的注释结果

    其中,out.emapper.annotations是最终的注释结果

    结果文件如下,其中我们最关注的是第十列的GO号以及第十二列的KO号。

    这里以提取KO号为例,制作query2ko背景文件,可以以此直接使用TBtools进行富集分析。

    提取基因及其映射上的KO号,KO号在第12列

      cut -f 1,12 out.emapper.annotations > out.emapper.annotations.query2ko

      查看提取结果发现有些基因没有被注释上,需要去掉没有注释的基因以及去掉KO号前面的ko:

      注意:需要保持ID的一致性,否则注释不出结果(例如拿来做注释的往往是蛋白序列,一般会包括可变性剪切的标识符AT4G36920.1
      ,这个时候需要注意做富集的差异基因是否包含该标识符,需要统一;再者,如果使用的是ensembl ID,则需要注意统一使用Transcript ID或Gene ID)

      去掉没有注释的基因以及去掉KO号前面的ko:

        grep -v '-' out.emapper.annotations.query2ko|sed 's/ko://g' > out.emapper.annotations.query2ko.final

        整理好的query2ko文件如图

        直接使用TBtools进行富集分析

        二、本地化EGGNOG数据库及注释

        • 需要python3.7以上的版本

        • 安装,直接使用conda安装,可以一键解决eggnog-mapper需要的环境以及分析需调用的软件,省事

          conda install -c bioconda eggnog-mapper

          • 下载数据库,eggnog-mapper的新版本已经将几个主要数据库都整合在一起,直接运行下载脚本即可。也可以上官网选择自己所需要的物种数据库进行下载

            http://eggnog5.embl.de/#/app/downloads

              download_eggnog_data.py

              使用emapper.py脚本进行注释

                emapper.py --cpu 80 -i 待注释文件 -o 输出文件名

                注释结果整理参考前述的结果整理

                写在后面

                硕士三年匆匆而过,现在也步入新的研究领域,就如同三年前初到914一样。
                一切重来,要学的还有很多,大家加油!
                最后,干饭喊我 哈哈。

                (0)

                相关推荐