前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基因功能富集分析-R语言

基因功能富集分析-R语言

原创
作者头像
oriRNA
修改于 2018-06-26 15:51:12
修改于 2018-06-26 15:51:12
5.8K6
举报
代码语言:text
AI代码解释
复制
##安装bioconductor上的包;
source(“http://bioconductor.org/biocLite.R”)
biocLite(“clusterprofiler”)
biocLite("org.Hs.eg.db")#人基因名称等信息包;
##加载clusterprofiler包到当前工作路径;
library(clusterprofiler)#基因富集分析用;
library(org.Hs.eg.db)
#读入需要分析的数据,包含一列基因名称的列表;
a <- read.table(file.choose(),header = F,colClasses = "character")
#a <- read.table(file.choose(),header = F,colClasses = c("V1"= "character")),只设置第一列值为字符型;
###选取基因列的所有行
b <- a[,1]
###利用bitr函数将基因名称转换为ENTREZID号;物种是人org.Hs.eg.db;
eg = bitr(b,fromType = "SYMBOL",toType = "ENTREZID",OrgDb = "org.Hs.eg.db")
#可能会有部分基因对应不到ENTREZID,0.4% of input gene IDs are fail to map...
###转换后的基因名称保存为文档;
write.table(eg,file = "test_id.txt")
gene <- eg[,2]
###进行GO和KEGG分析;
library(clusterProfiler)
library(org.Hs.eg.db)
a <- read.table(file.choose(),header = F,colClasses = c("V1"= "character"))
b <- a[,1]
eg <- bitr(b,fromType = "SYMBOL",toType = "ENTREZID",OrgDb = "org.Hs.eg.db")
gene <- eg[,2]
ego_CC <- enrichGO(gene = gene,
                   OrgDb=org.Hs.eg.db,
                   ont = "CC",
                   pAdjustMethod = "BH",
                   minGSSize = 1,
                   pvalueCutoff = 0.01,
                   qvalueCutoff = 0.01,
                   readable = TRUE)
write.csv(as.data.frame(ego_CC),row.names = F, file = "ego_CC.csv")
barplot(ego_CC,drop = TRUE,title = "enrichment_CC",showCategory = 12)

ego_BP <- enrichGO(gene = gene,
                   OrgDb=org.Hs.eg.db,
                   ont = "BP",
                   pAdjustMethod = "BH",
                   minGSSize = 1,
                   pvalueCutoff = 0.01,
                   qvalueCutoff = 0.01,
                   readable = TRUE)
write.csv(as.data.frame(ego_BP),row.names = F, file = "ego_BP.csv")
barplot(ego_BP,drop = TRUE,title = "enrichment_BP",showCategory = 12)

ego_MF <- enrichGO(gene = gene,
                   OrgDb=org.Hs.eg.db,
                   ont = "MF",
                   pAdjustMethod = "BH",
                   minGSSize = 1,
                   pvalueCutoff = 0.01,
                   qvalueCutoff = 0.01,
                   readable = TRUE)
write.csv(as.data.frame(ego_MF),row.names = F, file = "ego_MF.csv")
barplot(ego_MF,drop = TRUE,title = "enrichment_MF",showCategory = 12)

kk <- enrichKEGG(gene = gene,
                 organism ="hsa",
                 pvalueCutoff = 0.01,
                 qvalueCutoff = 0.01,
                 minGSSize = 1,
                 #readable = TRUE ,
                 use_internal_data = FALSE)
write.csv(as.data.frame(kk),row.names = F, file = "kk.csv")
barplot(kk,drop = TRUE,title = "enrichment_kegg",showCategory = 12)

###DisGeNET4 is an integrative and comprehensive resources of gene-disease associations from several public data sources and the literature. It contains gene-disease associations and snp-gene-disease associations.
###The enrichment analysis of disease-gene associations is supported by the enrichDGN function and analysis of snp-gene-disease associations is supported by the enrichDGNv function.
dgn <- enrichDGN(gene = gene,
                 pAdjustMethod = "BH",
                 pvalueCutoff = 0.05,
                 qvalueCutoff = 0.05,
                 readable = TRUE)
head(dgn)

write.csv(as.data.frame(dgn),row.names = F, file = "dgn.csv")
barplot(dgn,drop = TRUE,title = "enrichment_disease",showCategory = 12)

###条行图,按p值从小到大排列;
barplot(ego_CC,showCategory = 24,title = "EnrichmentGO_CC")
###点状图,按富集数从大到小进行排列;
dotplot(ego_CC,title = "EnrichenmentGo_CC")

Gene Ontology富集分析结果表格。

GO ID: Gene Ontology数据库中唯一的标号信息

Description :Gene Ontology功能的描述信息

GeneRatio:输入基因中与该Term相关的基因数与整个输入基因总数的比值

BgRation:所有background基因中与该Term相关的基因数与所有background基因的比值

pvalue: 富集分析统计学显著水平,一般情况下, P-value < 0.05 该功能为富集项

p.adjust 矫正后的P-Value

qvalue:对p值进行统计学检验的q值

Count:差异基因中与该Term相关的基因数

http://scu.zju.edu.cn/redir.php?catalog_id=58400&object_id=203725

http://www.bioconductor.org/packages/release/bioc/vignettes/clusterProfiler/inst/doc/clusterProfiler.html

http://www.bio-info-trainee.com/370.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
6 条评论
热度
最新
r语言对大文本(text data)处理极差。。。。。
r语言对大文本(text data)处理极差。。。。。
回复回复点赞举报
介绍的不是很详细呢,希望博主后续能更新~
介绍的不是很详细呢,希望博主后续能更新~
回复回复点赞举报
R语言的优点:1. 免费... 开源... (这是最重要的一点好不好,也是SAS流行于公司,R流行于研究机构和大学的最主要原因)2. 是专门为统计和数据分析开发的语言,各种功能和函数琳琅满目,其中成熟稳定的一抓一把3. 语言简单易学。
R语言的优点:1. 免费... 开源... (这是最重要的一点好不好,也是SAS流行于公司,R流行于研究机构和大学的最主要原因)2. 是专门为统计和数据分析开发的语言,各种功能和函数琳琅满目,其中成熟稳定的一抓一把3. 语言简单易学。
回复回复点赞举报
如果能来一个Demo就更好了。
如果能来一个Demo就更好了。
回复回复点赞举报
希望能加一下对项目的简单解释呢,还希望能贴上结果
希望能加一下对项目的简单解释呢,还希望能贴上结果
回复回复点赞举报
简单的说了一些 R 语言,但是如果能够更加详细就好了。
简单的说了一些 R 语言,但是如果能够更加详细就好了。
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
R|clusterProfiler-富集分析
简单总结clusterProfiler包进行GO、KEGG的富集分析方法,结果输出及内置的图形展示。
生信补给站
2020/08/06
2.2K0
单细胞转录组基础分析七:差异基因富集分析
单细胞测序技术是近年最大的生命科学突破之一,相关文章频繁发表于各大顶级期刊,然而单细胞数据的分析依然是大家普遍面临的障碍。本专题将针对10X Genomics单细胞转录组数据演示各种主流分析,包括基于Seurat的基础分析、以及基于clusterProfiler、Monocle、SingleR等R包的延伸分析。不足之处请大家批评指正,欢迎添加Kinesin微信交流探讨!
生信技能树jimmy
2020/09/04
11.7K1
单细胞转录组基础分析七:差异基因富集分析
转录组测序分析——差异表达分析2
yurric
2023/11/03
3841
go富集分析和kegg富集分析的区别_非模式生物怎么做GO富集
关于clusterProfiler这个R包就不介绍了,网红教授宣传得很成功,功能也比较强大,主要是做GO和KEGG的功能富集及其可视化。简单总结下用法,以后用时可直接找来用。
全栈程序员站长
2022/09/20
2K0
跟小新老师学转录组的第五天
1.差异分析筛选基因:MAOA(按照FC排序取top10)(NCBI-GeneID :4128)
贝诺酯
2023/04/03
5200
使用clusterProfiler进行GO富集分析
clusterProfiler是一个功能强大的R包,同时支持GO和KEGG的富集分析,而且可视化功能非常的优秀,本章主要介绍利用这个R包来进行Gene Ontology的富集分析。
生信修炼手册
2020/05/08
4.9K0
使用clusterProfiler进行GO富集分析
生物信息数据分析教程视频——15-clusterProfiler包+ClueGO做富集分析
生物信息数据分析教程视频——10-TCGA数据库:mi NA的表达探索
DoubleHelix
2022/12/16
2.2K0
生物信息数据分析教程视频——15-clusterProfiler包+ClueGO做富集分析
生信技能树-day20 转录组下游分析-富集分析
今天的是三周合计15天的数据挖掘授课学员一点一滴整理的授课知识点笔记哦,还有互动练习题哈,欢迎大家点击文末的阅读原文去关注我们学员的公众号哦!
生信菜鸟团
2024/06/25
4463
生信技能树-day20 转录组下游分析-富集分析
被问了很多次的富集分析绘图教程,0基础也能1分钟完成
富集分析的数据准备很简单,只需整理单列的目的基因列表即可,如下图,基因 ID 的类型可以是 NCBI Gene ID、Gene Symbol、Ensembl ID 等。本次使用的数据是拟南芥的基因。
天意生信云
2025/04/30
1810
被问了很多次的富集分析绘图教程,0基础也能1分钟完成
RNA-seq(9):功能富集分析
############################################################
Y大宽
2018/09/10
3.6K0
RNA-seq(9):功能富集分析
从基因名到GO注释一步到位
这样分析起来就很麻烦,尤其是GO数据库,还有 BP,CC,MF的区别,这个时候推荐使用Y叔的神器,使用
生信技能树
2020/04/14
1.7K0
从基因名到GO注释一步到位
RNA-seq入门实战(六):GO、KEGG富集分析与enrichplot超全可视化攻略
连续两次求贤令:曾经我给你带来了十万用户,但现在祝你倒闭,以及 生信技能树知识整理实习生招募,让我走大运结识了几位优秀小伙伴!大家开始根据我的ngs组学视频进行一系列公共数据集分析实战,其中几个小伙伴让我非常惊喜,不需要怎么沟通和指导,就默默的完成了一个实战!
生信技能树
2022/07/26
14.3K0
RNA-seq入门实战(六):GO、KEGG富集分析与enrichplot超全可视化攻略
还在为基因通路富集担心你的发际线么?ClusterProfiler通路富集-让你的发际线无忧!
单个基因水平上能反映的生物学信息有限,很多时候要进行通路富集分析,来从系统水平上反映出一组基因与哪些生物学通路相关。
作图丫
2022/03/29
1.6K0
还在为基因通路富集担心你的发际线么?ClusterProfiler通路富集-让你的发际线无忧!
单细胞转录组 | 差异基因分析和富集分析
单细胞转录组(scRNA-seq)与普通转录组(bulk RNA-seq)在差异基因分析方面存在本质区别:
天意生信云
2025/03/20
4430
单细胞转录组 | 差异基因分析和富集分析
GO和KEGG富集结果如何显示基因symbol
前面在讲GO和KEGG富集倍数(Fold Enrichment)如何计算时,给大家简单介绍过GO富集分析结果如何看。
生信交流平台
2022/09/21
1.3K0
GO和KEGG富集结果如何显示基因symbol
【R语言】clusterProfilerf富集分析,物种注释数据库
相信大家对Y叔的clusterprofiler这个R包并不陌生,一般做基因富集分析的时候都会用到这个R包。这个包非常实用,并且画出来的图也很不错。
生信交流平台
2022/09/21
1.5K0
【R语言】clusterProfilerf富集分析,物种注释数据库
单细胞各个亚群特异性高表达基因的数据库注释(包括GO,KEGG,ReactomePA)
拿到了一个单细胞表达量矩阵,默认需要进行: 单细胞聚类分群注释 ,如果你对单细胞数据分析还没有基础认知,可以看基础10讲:
生信技能树
2022/12/16
1.3K0
单细胞各个亚群特异性高表达基因的数据库注释(包括GO,KEGG,ReactomePA)
基因集富集分析(GSEA)及其可视化
基因集富集分析(Gene Set Enrichment Analysis, GSEA)是是一种计算方法,用于确定事先定义的一组基因是否在不同的样品中差异表达。
青青青山
2022/07/04
7.4K0
基因集富集分析(GSEA)及其可视化
GO、GSEA富集分析一网打进
富集分析是生物信息分析中快速了解目标基因或目标区域功能倾向性的最重要方法之一。其中代表性的计算方式有两种: 一是基于筛选的差异基因,采用超几何检验判断上调或下调基因在哪些GO或KEGG或其它定义的通路富集。假设背景基因数目为m,背景基因中某一通路pathway中注释的基因有n个;上调基因有k个,上调基因中落于通路pathway的数目为l。简单来讲就是比较l/k是否显著高于n/m,即上调基因中落在通路pathway的比例是否高于背景基因在这一通路的比例。(实际计算时,是算的odds ratio的差异,l/(k
生信宝典
2018/02/05
4.5K0
GO、GSEA富集分析一网打进
既然可以看感兴趣基因的生存情况,当然就可以批量做完全部基因的生存分析
就是一篇文章并没有使用TCGA数据库的指定癌症的生存信息去看自己感兴趣的基因的生存效应,反而舍近求远去下载BMC Cancer. 2011 文章数据,所以我怀疑TCGA应该是该基因在该癌症里面的生存效果不显著!
生信技能树
2020/02/20
1.5K0
推荐阅读
相关推荐
R|clusterProfiler-富集分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档