对于非模式物种,需要做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一样。
一切重来,要学的还有很多,大家加油!
最后,干饭喊我 哈哈。