组学比较基因组注释和富集

eggNOG 对基因组进行GO注释

2020-08-22  本文已影响0人  斩毛毛

简要介绍利用eggNOG进行在线注释GO

其原理将query序列与eggNOG编号的蛋白进行多序列比对,确定保守位点,分析其进化关系。 每个eggNOG编号的蛋白为一类蛋白。

简单操作

进入在线地址,提交蛋白序列,邮箱,其他可以选择默认,点击run即可。
有时候人多会特别的慢!!!

结果处理

首先需要下载GO的obo文件,点击此处下载,下载后利用脚本进行解析

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

处理后的文件如下:

GO  Description level
GO:0000001  mitochondrion inheritance   biological_process
GO:0000007  low-affinity zinc ion transmembrane transporter activity    molecular_function

而后,解析eggNOG的结果

python parse_eggNOG.py -i annotations \
                       -g go.tb \
                       -O ath,osa \
                       -o  test

## 参数:
-i eggNOG结果
-g obo解析的文件
-O  参考物种(只用于KEGG注释,使用KEGG三字母物种缩写表示)。比如做植物可以选择拟南芥 水稻作为参考,可排序富集到动物通路上
-o 输出文件夹

处理的结果文件有两个:「GOannotation.tsv」和「KOannotation.tsv」 分别对应GO注释和KO注释。

GOannotation.tsv

Gene    GO  level
Pg_S3686.2  GO:0000165  biological_process
Pg_S3686.2  GO:0003674  molecular_function

KOannotation.tsv

Gene    KO  pathway decription
Pg_S6540.1  K05907  map00920    Sulfur metabolism
Pg_S6540.1  K05907  map01100    Metabolic pathways

富集分析

利用clusterProfiler中的enricher这个通用函数进行富集

library(clusterProfiler)
KOannotation <- read.delim("D:/RProject/MedicalPlantDB/KOannotation.tsv", stringsAsFactors=FALSE)
GOannotation <- read.delim("D:/RProject/MedicalPlantDB/GOannotation.tsv", stringsAsFactors=FALSE)
GOinfo <- read.delim("D:/RProject/MedicalPlantDB/go.tb", stringsAsFactors=FALSE)
# 前面获取gene list的过程略
gene_list<- # 你的gene list
# GO富集
## 拆分成BP,MF,CC三个数据框
GOannotation = split(GOannotation, with(GOannotation, level))
## 以MF为例
enricher(gene_list,
          TERM2GENE=GOannotation[['molecular_function']][c(2,1)],
          TERM2NAME=GOinfo[1:2])
# KEGG富集
enricher(gene_list,
          TERM2GENE=KOannotation[c(3,1)],
          TERM2NAME=KOannotation[c(3,4)])

上述设计到的脚本来自https://github.com/Hua-CM/HuaSmallTools/blob/master/parse/parse_go_obofile.py

本文来自Y叔公众号投稿内容,详情可查看https://mp.weixin.qq.com/s/Mr3YLoc_-Y1WeLKJku1TzQ

欢迎扫码交流

上一篇下一篇

猜你喜欢

热点阅读