使用EGGNOG-Mapper对非模式物种快速进行GO或KEGG注释

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

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

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

    工作流程


一、EGGNOG-Mapper网页注释

  • 注释网址
http://eggnog-mapper.embl.de/
  • 运行提交的任务


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


  • 其中,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一样。
一切重来,要学的还有很多,大家加油!
最后,干饭喊我 哈哈。

你可能感兴趣的:(使用EGGNOG-Mapper对非模式物种快速进行GO或KEGG注释)