GSEA 介绍
GSEA全名Gene Set Enrichment Analysis,翻译过来就是基因集富集分析。基本思想是使用预定义的基因集,将基因按照在两类样本中的差异表达程度排序,然后检验预先设定的基因集是否在这个排序表的顶端或者末端富集。GSEA分析检测基因集合而不是单个基因的表达变化,因此可以包含更多细微的表达变化,从另一个角度来解读生物学信息,以阐述其中的生物学意义。
GSEA与常规富集分析
常规的富集分析(GO和KEGG)侧重于比较两组间差异基因,而容易遗漏掉部分差异不显著但是有生物学意义的基因,容易忽略一些基因的功能,生物特性,调控网络等有价值的信息。GSEA不需要特意选择差异基因,算法是根据其整体的表达趋势,找出基因中差异不明显但是整体趋势一致的基因集。
GSEA的原理
GSEA的假设是设定好的功能基因集里面的成员在目标基因集中是随机分布的。如果功能基因集是处于目标基因集的顶部或底部,且置换检验后P值显著,那么说明此功能基因集所表现的功能的实验或其他处理下发生了作用,也是需要关注的基因集。
GSEA中有个重要的概念Enrichment Score(ES,富集得分),它表示基因集成员在目标基因集中的富集程度。ES的具体算法如下图所示!

是指功能基因集
L指基因按Signal2Noise或fold change从大到小排序后的目标基因集
Ranked List红色代表基因位于功能基因集中,蓝色代表不在功能基因集中,如果在加分,不在减分
评估ES的显著性,通过permutation test来检验,转化不同分数下的数据或者做基因集的转化来重新计算ES,或ES分布有显著变化,那么说明此基因集是有生物学意义的
GSEA分析实战
方法一
使用Y叔所写的神包clusterProfiler,好像大家都已经很熟悉了这个R包,不仅能做Go和kegg的富集,还能做GSEA,包括GSEA Go,和GSEA Kegg,而且最重要的是使用非常简单,就一个函数就能做完分析。
在开始之前先导入需要用到的R包
library(data.table)
library(tidyverse)
library(magrittr)
library(knitr)
library(clusterProfiler)
library(enrichplot)
废话不多说,我们来准备GSEA的输入文件!
一.geneList
geneList 有三个特性
数值向量,可以是fold change或其他的数值组成
命名,数值向量的每个数值都有一个对应的基因名
排序,一般是数值从高到低排序的 比如使用DESeq2做完差异分析后,会得到如下表格。
## id baseMean log2FoldChange lfcSE stat pvalue padj
## 1 IQCG 493.95026 -3.164708 0.4352913 -7.270323 3.586299e-13 1.873303e-08
## 2 PABPC1L2B-AS1 20.35630 -4.337893 0.9577222 -4.529385 5.915550e-06 1.544994e-01
## 3 PTPRK 793.30041 -1.690615 0.3889629 -4.346469 1.383468e-05 2.408848e-01
## 4 MAGED4 25.76054 4.682533 1.1326350 4.134195 3.562017e-05 4.651549e-01
## 5 BX890604.2 165.29529 1.808737 0.4475756 4.041187 5.318128e-05 5.555848e-01
<

本文介绍了GSEA(基因集富集分析)的基本思想、与常规富集分析的区别,以及其核心原理——富集得分计算。通过R包clusterProfiler展示了GSEA分析的实战步骤和可视化结果,探讨了GSEA在揭示生物学意义方面的重要性。
最低0.47元/天 解锁文章
645

被折叠的 条评论
为什么被折叠?



