RNA-seq入门实战(七):GSEA——基因集富集分析
发布网友
发布时间:2024-09-26 06:55
我来回答
共1个回答
热心网友
时间:2024-10-04 13:23
本节概览:
1. GSEA简单介绍
2. 创建GSEA分析所需的geneList,包含log2FoldChange和ENTREZID信息
3. 利用clusterProfiler进行GSEA富集GO与KEGG通路
4. GSEA富集结果可视化:GSEA结果图、 gsearank plot 、ridgeplot
1. GSEA简单介绍
以下对GSEA涉及的一些重要概念进行了简单介绍,详细介绍见:
一文掌握GSEA,超详细教程 - 云+社区 - 腾讯云 (tencent.com)
史上最全GSEA可视化教程,今天让你彻底搞懂GSEA! - 知乎 (zhihu.com)
1.1 GSEA定义与基本原理:
1.2 MSigDB(Molecular Signatures Database):
分子特征数据库。一般进行GSEA或GSVA使用的就是该数据库中的基因集,我们也可以自定义基因集。MSigDB所包含的基因集如下所示: 其中KEGG信息包含在C2中,GO信息包含在C5中。
1.3 GSEA中关键概念
2. 创建GSEA分析所需的geneList
在了解了GSEA基本概念后就可以正式开始实操了,首先需要将基因按照在两类样本中的差异表达程度排序。 下面我们构建包含了geneList,里面含有从大到小排序的log2FoldChange和对应的ENTREZID信息:
3. 利用clusterProfiler包进行GSEA富集
clusterProfiler包内的gseGO()和gseKEGG()函数可以很方便地对GO与KEGG通路进行GSEA,再使用DOSE::setReadable转化id 。
4. GSEA富集结果可视化
GSEA的可视化主要是GSEA结果图、 gsearank plot和ridgeplot山脊图。 同样也可以进行其他可视化如barplot、dotplot、cnetplot等等,详见 RNA-seq入门的简单实战(六):GO、KEGG富集分析与超全可视化攻略 或者参阅说明书 Chapter 15 Visualization of functional enrichment result | Biomedical Knowledge Mining using GOSemSim and clusterProfiler (yulab-smu.top),这里就不再进行展示啦
4.1 gseaplot GSEA结果图
下面选取KEGG通路的富集结果进行gseaplot绘图示范
首先对富集结果进行条件筛选,一般认为|NES|>1,NOM pvalue<0.05,FDR(padj)<0.25的通路是显著富集的;还可以从结果中细分出上下调通路单独绘图,以下代码仅展示KEGG通路富集结果的上调通路。 gseaplot2()函数既可以对单独的通路绘图,也可以合并几个通路一起绘图;各类详细参数设置见以下代码处
下面解释一下GSEA图的含义:
4.2 gsearank plot 绘制特定基因集的基因排序列表
gsearank()展示特定基因集的排序,横坐标为基因排序,纵坐标为ES值,利用cowplot和ggplot2包可以批量出图。
4.3 ridgeplot山脊图
展示富集通路的核心富集基因的表达分布,x轴为富集通路的核心富集基因表达变化的log2倍,值为正值表示表达上调,值为负值表示表达下调。
(之前运行报错解决方法见[ridgeplot报错:Error in ans[ypos] <- rep(yes, length.out = len)[ypos] : replacement has ...]( jianshu.com/p/796e7221a...) )
4.4 其他富集结果可视化图
dotplot cnetplot emapplot treeplot heatplot upsetplot 详见 RNA-seq入门的简单实战(六):GO、KEGG富集分析与超全可视化攻略
GSEA分析和可视化到这就结束啦,下一节介绍GSVA的使用