千家信息网

如何用clusterProfiler中的enricher进行富集分析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本文小编为大家详细介绍"如何用clusterProfiler中的enricher进行富集分析",内容详细,步骤清晰,细节处理妥当,希望这篇"如何用clusterProfiler中的enricher进行
千家信息网最后更新 2026年11月02日如何用clusterProfiler中的enricher进行富集分析

本文小编为大家详细介绍"如何用clusterProfiler中的enricher进行富集分析",内容详细,步骤清晰,细节处理妥当,希望这篇"如何用clusterProfiler中的enricher进行富集分析"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1.问题

做基因的GO或者kegg富集分析,需要基因组当中所有基因的GO与KEGG数据库的注释信息,对于做模式物种的人来说很简单,有现成的注释结果,直接使用就可以,比如人里面可以直接用clusterProfiler进行基因集的富集分析;但是,对于非模式动物与植物的研究对象往往没有现成的注释结果,就没法直接进行富集分析;

因此学会基因功能批量注释非常重要;这里介绍一种方法可以针对所有的非模式物种进行GO和KEGG富集分析;

2.基因批量注释

使用eggNOG对基因组进行注释,要想进行富集分析,首先要有背景数据集的GO注释和KEGG注释,这里选用eggNOG进行注释。

是在线服务器,点点鼠标上传就能注释,无需复杂配置。eggNOG虽然是web server,但一次最多可以注释10万条序列,应该是完全可以满足需求的。将自己的基因对应的cds序列或者蛋白序列提交到该网站即可注释。

3.GO富集分析需要准备的文件:

研究物种基因组中所有基因对应的GO文件:

go2gene.tsv : 通过eggNOG注释结果文件整理得到

GOGENE
CLASS
GO:0000165Pg_S3686.2
biological_process
GO:0003674Pg_S3686.2
molecular_function
.........


go2name.tsv:GO term对应的功能描述文件

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

http://purl.obolibrary.org/obo/go/go-basic.obo



GODESCCLASS
GO:0000001mitochondrion inheritancebiological_process
GO:0000007low-affinity zinc ion transmembrane transporter activitymolecular_function


4. KEGG富集分析需要的文件

ko2gene.tsv : 通过eggNOG注释结果文件整理得到

KOGENE
ko00920Pg_S3686.2
ko01100Pg_S33386.2

ko2name.tsv ko通路对应的名称

KODESC
ko00440Phosphonate and phosphinate metabolism
ko00450Selenocompound metabolism
ko00460Cyanoamino acid metabolism
ko00471D-Glutamine and D-glutamate metabolism
ko00472D-Arginine and D-ornithine metabolism
ko00473D-Alanine metabolism
ko00480Glutathione metabolism
ko00510N-Glycan biosynthesis
ko00513Various types of N-glycan biosynthesis
ko00512Mucin type O-glycan biosynthesis

5.富集分析

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

library(clusterProfiler)ko2name <- read.delim('ko2name.tsv', stringsAsFactors=FALSE)ko2gene <- read.delim('ko2gene.tsv', stringsAsFactors=FALSE)go2name <- read.delim('gog2name.tsv', stringsAsFactors=FALSE)go2gene <-read.delim('go2gene.tsv', stringsAsFactors=FALSE)# 前面获取gene list的过程略gene_list<- read.delim('gene.tsv', stringsAsFactors=FALSE)# GO富集## 拆分成BP,MF,CC三个数据框go2gene = split(go2gene , with(go2gene , CLASS))## 以MF为例enricher(gene_list,TERM2GENE=go2gene [['molecular_function']][c(1,2)],TERM2NAME=go2name )# KEGG富集enricher(gene_list,TERM2GENE=ko2name ,TERM2NAME=ko2gene )

读到这里,这篇"如何用clusterProfiler中的enricher进行富集分析"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

富集 注释 分析 基因 文件 结果 基因组 序列 数据 文章 模式 物种 内容 功能 研究 复杂 妥当 重要 万条 三个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 南京欣网互联网络科技有限公司 中国互联网科技工作委员会毛军 互联网科技保险 互联网最新的科技 互联网科技财经 北京互联网科技公司 金融科技 互联网金融 互联网科技公司怎么样 天下捷融互联网科技 互联网前沿科技 互联网科技素材视频竖屏 宁夏科技产业互联网案例 广州市恰铎互联网科技有限公司 洛阳共同富裕互联网科技有限公司 保险科技服务互联网营销体系 广州百诚互联网科技有限公司官网 银川新华互联网科技学校原画 伍佰万互联网科技是干嘛的 株洲百竞科技的互联网营销顾问 互联网 科技 嘟嘟瓜互联网科技 互联网科技股午盘股票涨跌 和信科技工业互联网 呼和浩特新华互联网科技学院 河南住房之家互联网科技 小米互联网科技园入驻 广州智享互联网科技 美国五大互联网科技公司市值多少 互联网科技博主张洲
0