2022-06-14eggNOG注释及cluster Profiler富集

eggNOG网站注释蛋白序列得到文件query_seqs.fa.emapper.annotations

python环境

#git clone https://github.com/Hua-CM/HuaSmallTools.git下载注释包(parse_go_obofile.py 和 parse_eggNOG.py)

#wget http://purl.obolibrary.org/obo/go/go-basic.obo下载Go数据库的obo文件

输入数据准备

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

$python parse_go_obofile.py -i go-basic.obo -o go.tbold


$less go.tbold |awk 'BEGIN{FS="\t";OFS="\t"}{print $2,$1,$3}' > tmp && mv tmp go.tb (必不可少的一步,不转化parse_eggNOG.py会报错, go.tb为parse_eggNOG.py用临时文件,富集时还是用go.tbold文件)

$python parse_eggNOG.py -i query_seqs.fa.emapper.annotations \

                      -g go.tb \

                      -O ath,osa \

                      -o ./  #生成GO和KO数据库

--------------------------参数说明----------------------------------------------------------

「-i」 eggNOG的注释结果

「-g」 上一步根据obo解析出来的文件

「-O」 参考物种(只用于KEGG注释,使用KEGG三字母物种缩写表示).设置这个参数的原因是我做KEGG富集的时候发现有的基因会出现在非常荒唐的通路上,比如某个植物基因富集到了癌症的相关通路,后来发现原因是有的比较基础的KO可能与癌症通路有关,如果不使用参考物种,直接用KO去寻找map的话就会出现上述的情况。这里使用参考物种可以把没有出现在参考物种中的通路给过滤掉。植物我选择拟南芥和水稻作为参考,同样的如果做非模式动物的话,可以考虑设置一些动物物种来排除富集到植物的通路上

「-o」 输出结果文件夹。会在该文件夹生成GOannotation.tsv和KOannotation.tsv两个文件

--------------------------------------------------------------------------------------------------

#(在界面直接跑python parse_eggNOG.py -i query_seqs.fa.emapper.annotations -g go.tb -O ath,osa -o ./) 处理的结果文件有两个:「GOannotation.tsv」和「KOannotation.tsv」 分别对应GO注释和KO注释,使用这两个文件就可以进行富集分析了

富集分析

#R环境

library(clusterProfiler)

KOannotation <- read.delim("KOannotation.tsv", stringsAsFactors=FALSE)

GOannotation <- read.delim("GOannotation.tsv", stringsAsFactors=FALSE)

GOinfo <- read.delim("go.tbold", stringsAsFactors=FALSE)

#根据具体比较组来,上面步骤不需要重做。

gene_list <- read.csv("test.txt",header=FALSE) ###提供差异基因数据集,不要表头

gene_list <- gene_list$V1 ####提取基因所在列,如gene_list <- gene_list$Row.names,根据实际情况提取;此处为类型转换,因为enricher识别的gene_list为facter,charater类型,而不识别data.drame;转化为character类型的话#gene_list <- as.character(gene_list$V

Go富集

GOannotation = split(GOannotation, with(GOannotation, level))

df_GO <- enricher(gene_list,TERM2GENE=GOannotation[['MF']][c(2,1)],TERM2NAME=GOinfo[1:2])

df_GO_df <- as.data.frame(df_GO) ###易读模式,查看GO富集结果

dotplot(df_GO)

####柱状图用barplot(df_GO, showCategory = 10),10表示选择前10个term###

###做有向无环图plotGOgraph(df_GO)###要先安装topGo####

####输出表格write.csv(df_GO, "0_up1.csv")###

df_GO <- enricher(gene_list,TERM2GENE=GOannotation[['CC']][c(2,1)],TERM2NAME=GOinfo[1:2])

dotplot(df_GO)

df_GO <- enricher(gene_list,TERM2GENE=GOannotation[['BP']][c(2,1)],TERM2NAME=GOinfo[1:2])

dotplot(df_GO)

KEGG富集

enricher(gene_list,TERM2GENE=KOannotation[c(3,1)],TERM2NAME=KOannotation[c(3,4)])

df_KO <- enricher(gene_list,TERM2GENE=KOannotation[c(3,1)],TERM2NAME=KOannotation[c(3,4)])

dotplot(df_KO)


优缺点

优点

理论上针对所有有基因组蛋白序列的物种都可以注释,甚至没有基因组但是有参考转录本也可以注释

相对来说没有用到特别多的依赖工具,两个python脚本也只使用了最基本的包。

缺点

中间需要解析eggNOG的结果文件,我个人用的python写的脚本,一是与R衔接不连贯,二是速度较慢,主要是我考虑做一个背景数据集能用很久,所以偷懒没有对脚本的性能进行优化。

无法一张表完成基因、转录本等多层次的富集信息。主要是因为我做的植物很多时候基因组质量不高,根本没有多个转录本的注释,所以就没考虑这一问题。


引用:https://mp.weixin.qq.com/s/Mr3YLoc_-Y1WeLKJku1TzQ

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容