R 实战 | 使用clusterProfiler进行多组基因富集分析
R 实战 | 使用clusterProfiler进行多组基因富集分析
clusterProfiler
这个包我就不再介绍了,网上关于用这个包做的基础的富集分析的教程已经非常多了,今天主要介绍一下使用compareCluster
功能进行多组基因的富集分析。
示例数据
富集分析
多个基因集的富集分析
多个分组的富集分析
基本用法
参数
References
往期
示例数据
library(clusterProfiler)
data(gcSample) #载入
str(gcSample) #数据集格式
lapply(gcSample, head) #查看数据集
> str(gcSample)
List of 8$ X1: chr [1:216] "4597" "7111" "5266" "2175" ...$ X2: chr [1:805] "23450" "5160" "7126" "26118" ...$ X3: chr [1:392] "894" "7057" "22906" "3339" ...$ X4: chr [1:838] "5573" "7453" "5245" "23450" ...$ X5: chr [1:929] "5982" "7318" "6352" "2101" ...$ X6: chr [1:585] "5337" "9295" "4035" "811" ...$ X7: chr [1:582] "2621" "2665" "5690" "3608" ...$ X8: chr [1:237] "2665" "4735" "1327" "3192" ...
> lapply(gcSample, head)
$X1
[1] "4597" "7111" "5266" "2175" "755" "23046"$X2
[1] "23450" "5160" "7126" "26118" "8452" "3675" $X3
[1] "894" "7057" "22906" "3339" "10449" "6566" $X4
[1] "5573" "7453" "5245" "23450" "6500" "4926" $X5
[1] "5982" "7318" "6352" "2101" "8882" "7803"$X6
[1] "5337" "9295" "4035" "811" "23365" "4629" $X7
[1] "2621" "2665" "5690" "3608" "3550" "533" $X8
[1] "2665" "4735" "1327" "3192" "5573" "9528"
富集分析
多个基因集的富集分析
xx <- compareCluster(gcSample, fun="enrichKEGG",organism="hsa", pvalueCutoff=0.05)
table(xx@compareClusterResult$Cluster) #每个基因集富集个数
head(as.data.frame(xx)) #查看完整结果
> table(xx@compareClusterResult$Cluster)X1 X2 X3 X4 X5 X6 X7 X8 0 3 3 18 10 1 15 19
> head(as.data.frame(xx))Cluster ID Description GeneRatio
1 X2 hsa04110 Cell cycle 18/384
2 X2 hsa05169 Epstein-Barr virus infection 23/384
3 X2 hsa05340 Primary immunodeficiency 8/384
4 X3 hsa04512 ECM-receptor interaction 9/187
5 X3 hsa04060 Cytokine-cytokine receptor interaction 17/187
6 X3 hsa04151 PI3K-Akt signaling pathway 19/187BgRatio pvalue p.adjust qvalue
1 126/8105 2.441211e-05 0.007470105 0.006989572
2 202/8105 7.911793e-05 0.012105043 0.011326356
3 38/8105 3.297441e-04 0.033633898 0.031470314
4 88/8105 1.815667e-04 0.045098637 0.042158192
5 295/8105 4.490651e-04 0.045098637 0.042158192
6 354/8105 5.048355e-04 0.045098637 0.042158192geneID
1 991/1869/890/1871/701/990/10926/9088/8317/9700/9134/1029/2810/699/11200/23594/8555/4173
2 4067/3383/7128/1869/890/1871/578/864/637/9641/6891/355/9134/5971/916/956/6850/7187/3551/919/4734/958/6772
3 100/6891/3932/973/916/925/958/64421
4 7057/3339/1299/3695/1101/3679/3910/3696/3693
5 2919/4982/3977/6375/8200/608/8792/3568/2057/1438/8718/655/652/10220/50615/51561/7042
6 894/7057/6794/2247/1299/3695/2252/2066/1101/8817/1021/5105/3679/3082/2057/3910/3551/3696/3693Count
1 18
2 23
3 8
4 9
5 17
6 19
dotplot(xx) #气泡图
多个分组的富集分析
示例数据
data(geneList, package="DOSE") #载入DOSE包中的数据
head(geneList) #查看数据 包含基因名及其foldchange
mydf <- data.frame(Entrez=names(geneList), FC=geneList)
# 以下内容目的是构建分组 也可以用别的分组
# 将FC大于1的标注为上调 反之为下调
mydf <- mydf[abs(mydf$FC) > 1,]
mydf$group <- "upregulated"
mydf$group[mydf$FC < 0] <- "downregulated"
# 将FC绝对值大于2 的标注为B 反之为A
mydf$othergroup <- "A"
mydf$othergroup[abs(mydf$FC) > 2] <- "B"
head(mydf) # 查看示例数据(两个分组)
> head(mydf)Entrez FC group othergroup
4312 4312 4.572613 upregulated B
8318 8318 4.514594 upregulated B
10874 10874 4.418218 upregulated B
55143 55143 4.144075 upregulated B
55388 55388 3.876258 upregulated B
991 991 3.677857 upregulated B
分析及其可视化
# 可以进行单组或多组分析,在 + 号后添加即可
formula_res <- compareCluster(Entrez~group+othergroup, data=mydf, fun='enrichKEGG')
dotplot(formula_res)
# 同样可以进行分面操作
dotplot(formula_res, x=~group) + ggplot2::facet_grid(~othergroup) #对于只用一次该包的功能可以这么写
基本用法
最后附上用法参数。
compareCluster(geneClusters, fun = "enrichGO", data = "", ...)
参数
geneClusters
|
entrez基因list. 或者, Entrez~分组 形式的列表 |
---|---|
fun
|
"groupGO", "enrichGO", "enrichKEGG", "enrichDO" or "enrichPathway" . |
data
|
数据集 |
References
Chapter 11 Biological theme comparison | clusterProfiler: universal enrichment tool for functional and comparative study (hiplot.com.cn)
往期
R绘图实战|GSEA富集分析图
R 实战 | 使用clusterProfiler进行多组基因富集分析相关推荐
- canoco5冗余分析步骤_基因富集分析|理解
Gene Set Enrichment Analysis 基因富集分析 哈罗大家好!ヾ(≧▽≦*)o 年初在和老板研究 Identifying Cell Subpopulations 有关的课题,发现 ...
- GSEA | 基因富集分析
软件下载网址:GSEA (gsea-msigdb.org) GSEA不需要设置阈值过滤基因,有助于我们从整体通路分析差异. 一.数据准备 1.数据集(tpm_bulk.gct):你需要分析的表达矩阵, ...
- 一个R包完成单细胞基因集富集分析 (全代码)
singleseqgset | 单细胞RNA-Seq基因集富集分析 NGS系列文章包括NGS基础.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (Ch ...
- clusterProfiler对差异表达基因进行富集分析
过表征分析(Over Representation Analysis,ORA)(Boyle et al. 2004)是一种广泛使用的基因富集分析方法,用于确定已知的生物学功能或过程是否在实验得到的基因 ...
- r语言进行go富集分析_好用的在线GO富集分析工具
点击上方蓝字关注生信宝典,换个角度学生信. GeneOntology富集分析是高通量数据分析的标配,不管是转录组.甲基化.ChIP-seq还是重测序,都会用到对一个或多个集合的基因进行功能富集分析.分 ...
- 【Bioinfo Blog 011】【R Code 008】——功能富集分析
目录 一.基因集功能富集分析(Gene Set Enrichment Analysis) 二.富集分析算法 2.1 超几何分布 2.2 Fisher精确检验 三.富集分析工具 3.1 DAVID 3. ...
- 富集分析原理和clusterProfiler包进行GO、KEGG富集分析详细说明
概念: 基因富集分析是指对于给定一组基因根据基因组注释信息(GO.KEGG)对基因进行聚类分析,即给定的基因是不是GO中的一个功能(或KEGG中的一个通路). 基因的功能富集的目的是说明给定的基因集对 ...
- 差异表达基因富集结果可视化
1. 导入差异表达基因 ### 1. 导入差异表达基因# if (!require("BiocManager", quietly = TRUE)) # install.packag ...
- R实战 | NGS数据时间序列分析(maSigPro)
masigpro 跟着Cell学作图 | 6.时间序列分析(Mfuzz包) 一个答疑教程. maSigPro 流程 示例数据 #BiocManager::install('maSigPro') lib ...
最新文章
- Boolean值判断2个条件之后选择一个条件
- Eclipse插件的安装方法
- 面试官让我讲讲Unicode,我讲了3秒说没了,面试官说你可真菜
- 开发者和程序员需要关注的42个播客
- Hadoop 1.2.1 集群安装一
- Django Rest Framework源码剖析(二)-----权限
- 硬核项目 | 用Arduino做一个神奇的悬浮灯!
- java 文件与base64_java之文件与base64字符之间的相互转换
- android edittext 手机号码,Android中EditText中的电话号码格式
- Appium 解决手势密码 (java篇)
- 读懂现金贷产品的客群风险标签维度
- 群联PS3111坏硬盘修复记录
- 戴尔首推免息分期付款电脑
- DDR5内存条容量计算
- 第三方直播平台都有哪些
- MySql展示表字段
- 凉宫春日的忧郁第四章
- 我为什么要学习Linux?
- 【原创】怎样关联多个 Excel 档工作表(Sheet)中的数据
- .globl expression
热门文章
- 安装ssd后不识别网卡_新买的固态硬盘装上后无法识别如何解决
- python虚拟环境中安装diango_安装Python虚拟环境和django
- 笔记:百度地图 通过输入地名搜索位置 显示在地图上
- omnet++,veins车辆间消息的传输、车辆运动信息获取
- 【c语言】字符串比较
- ACM-ICPC 2018 焦作赛区网络预赛A. Magic Mirror(签到题)
- Linux 危险的 rm 命令,替换 trash
- Digital Creative
- 终端代理以及git加速
- 安卓 chrome html文件,打开Chrome浏览器在本地文件的Android