By chenyi, 30 June, 2025

使用到的软件是R和Rstudio,在官网可以下载

一、使用eggNOG对基因组进行注释

分析需要的网站:eggnog-mapper 网址:http://eggnog-mapper.embl.de/
提交蛋白的fasta文件并填写邮箱地址
PS:这里需要注意在Annotation options设置中对Taxonomic Scope进行选择,选择Viridiplantae-33090,将其注释到植物通路上面


之后去邮箱里验证就能跳转过去start job了
之后等待结果,结束以后会发邮件然后点击Access your job files here尽快下载结果即可
得到一个名为out.annotation.csv格式文件将#号注释的行和query前的#删掉即可

二、解析eggNOG文件

1、首先需要去GO下载GO的obo文件,这里使用go-basic.obo然后用parse_go_obofile.py脚本可以把obo文件解析为如下格式:

python parse_go_obofile.py -i go-basic.obo -o go.tb

处理后的文件为

[root@localhost go_ba]# head go.tb 
GO	Description	level
GO:0000001	mitochondrion inheritance	BP
GO:0000002	mitochondrial genome maintenance	BP
GO:0019952	reproduction	BP
GO:0050876	reproduction	BP
GO:0000003	reproduction	BP
GO:0000005	obsolete ribosomal chaperone activity	MF
GO:0000006	high-affinity zinc transmembrane transporter activity	MF
GO:0000007	low-affinity zinc ion transmembrane transporter activity      MF
GO:0000013	obsolete thioredoxin	MF

2、eggNOG注释完后,下载注释结果数据,使用另一个parse_eggNOG.py脚本处理eggNOG的结果

python parse_eggNOG.py -i panax_ginseng.annotations -g go.tb -O ath,osa -o ./

「参数说明」
「-i」 eggNOG的注释结果
「-g」 上一步根据obo解析出来的文件
「-O」 参考物种(只用于KEGG注释,使用KEGG三字母物种缩写表示).设置这个参数的原因是我做KEGG富集的时候发现有的基因会出现在非常荒唐的通路上,比如某个植物基因富集到了癌症的相关通路,后来发现原因是有的比较基础的KO可能与癌症通路有关,如果不使用参考物种,直接用KO去寻找map的话就会出现上述的情况。这里使用参考物种可以把没有出现在参考物种中的通路给过滤掉。植物选择拟南芥和水稻作为参考。
「-o」 输出结果文件夹。会在该文件夹生成GOannotation.tsv和KOannotation.tsv两个文件

parse_go_obofile.py parse_eggNOG.py脚本路径:92服务器/home/gengxin/TG_annotation
处理后的GO和KEGG注释文件

3、因为GOannotation.tsv没有description那一列,所以需要将GOannotation.tsv和go.tb双表关联。在【Rstudio】上输入代码run

library(tidyverse)
GO <- subset(GOannotation, select = -level)
t <- left_join(GO, go, by="GO")
write.table(t, file="E:/new_GOannotation1.tsv", sep = "\t", quote = FALSE, row.names = FALSE)

根据提示安装各种依赖包,在右边的import dataset里输入go.tb文件和GOannotation.tsv文件。再run代码,生成

最后的GO注释文件