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进行多组基因富集分析相关推荐

  1. canoco5冗余分析步骤_基因富集分析|理解

    Gene Set Enrichment Analysis 基因富集分析 哈罗大家好!ヾ(≧▽≦*)o 年初在和老板研究 Identifying Cell Subpopulations 有关的课题,发现 ...

  2. GSEA | 基因富集分析

    软件下载网址:GSEA (gsea-msigdb.org) GSEA不需要设置阈值过滤基因,有助于我们从整体通路分析差异. 一.数据准备 1.数据集(tpm_bulk.gct):你需要分析的表达矩阵, ...

  3. 一个R包完成单细胞基因集富集分析 (全代码)

    singleseqgset | 单细胞RNA-Seq基因集富集分析 NGS系列文章包括NGS基础.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (Ch ...

  4. clusterProfiler对差异表达基因进行富集分析

    过表征分析(Over Representation Analysis,ORA)(Boyle et al. 2004)是一种广泛使用的基因富集分析方法,用于确定已知的生物学功能或过程是否在实验得到的基因 ...

  5. r语言进行go富集分析_好用的在线GO富集分析工具

    点击上方蓝字关注生信宝典,换个角度学生信. GeneOntology富集分析是高通量数据分析的标配,不管是转录组.甲基化.ChIP-seq还是重测序,都会用到对一个或多个集合的基因进行功能富集分析.分 ...

  6. 【Bioinfo Blog 011】【R Code 008】——功能富集分析

    目录 一.基因集功能富集分析(Gene Set Enrichment Analysis) 二.富集分析算法 2.1 超几何分布 2.2 Fisher精确检验 三.富集分析工具 3.1 DAVID 3. ...

  7. 富集分析原理和clusterProfiler包进行GO、KEGG富集分析详细说明

    概念: 基因富集分析是指对于给定一组基因根据基因组注释信息(GO.KEGG)对基因进行聚类分析,即给定的基因是不是GO中的一个功能(或KEGG中的一个通路). 基因的功能富集的目的是说明给定的基因集对 ...

  8. 差异表达基因富集结果可视化

    1. 导入差异表达基因 ### 1. 导入差异表达基因# if (!require("BiocManager", quietly = TRUE)) # install.packag ...

  9. R实战 | NGS数据时间序列分析(maSigPro)

    masigpro 跟着Cell学作图 | 6.时间序列分析(Mfuzz包) 一个答疑教程. maSigPro 流程 示例数据 #BiocManager::install('maSigPro') lib ...

最新文章

  1. Boolean值判断2个条件之后选择一个条件
  2. Eclipse插件的安装方法
  3. 面试官让我讲讲Unicode,我讲了3秒说没了,面试官说你可真菜
  4. 开发者和程序员需要关注的42个播客
  5. Hadoop 1.2.1 集群安装一
  6. Django Rest Framework源码剖析(二)-----权限
  7. 硬核项目 | 用Arduino做一个神奇的悬浮灯!
  8. java 文件与base64_java之文件与base64字符之间的相互转换
  9. android edittext 手机号码,Android中EditText中的电话号码格式
  10. Appium 解决手势密码 (java篇)
  11. 读懂现金贷产品的客群风险标签维度
  12. 群联PS3111坏硬盘修复记录
  13. 戴尔首推免息分期付款电脑
  14. DDR5内存条容量计算
  15. 第三方直播平台都有哪些
  16. MySql展示表字段
  17. 凉宫春日的忧郁第四章
  18. 我为什么要学习Linux?
  19. 【原创】怎样关联多个 Excel 档工作表(Sheet)中的数据
  20. .globl expression

热门文章

  1. 安装ssd后不识别网卡_新买的固态硬盘装上后无法识别如何解决
  2. python虚拟环境中安装diango_安装Python虚拟环境和django
  3. 笔记:百度地图 通过输入地名搜索位置 显示在地图上
  4. omnet++,veins车辆间消息的传输、车辆运动信息获取
  5. 【c语言】字符串比较
  6. ACM-ICPC 2018 焦作赛区网络预赛A. Magic Mirror(签到题)
  7. Linux 危险的 rm 命令,替换 trash
  8. Digital Creative
  9. 终端代理以及git加速
  10. 安卓 chrome html文件,打开Chrome浏览器在本地文件的Android