3.3.GSEA
Last updated
Last updated
我们前面介绍的GO和KEGG是收集了大量基因集注释的两个数据库,而这里介绍的GSEA (Gene Set Enrichment Analysis) 通常指的是一种统计方法。
GSEA最早在2005年的PNAS文章Gene set enrichment analysis: A knowledge-based approach for interpreting genome-wide expression profiles中提出,此后在生物信息分析中一直被广泛使用,至今已有三万次以上的引用。
GSEA的基本步骤是:
首先,将所有(或者一批)基因按照上图A中Phenotype A/B两种条件下的表达差异的多少(例如Fold Change)排序;
同时,研究者已经有了一个基因集 ,如上图B中的Gene set S,S通常来自功能注释或其他的实验结果。
然后,检验Gene set S是否富集在这个排序表的顶端或者底端,计算一个Enrichment Score (ES)。
通常还会利用1000个或更多的shuffle的Gene Sets做为背景,计算很多背景的ES来估计一个FDR值。
进入 GSEA官方下载页面(需要登录方可进入,只需输入邮箱即可),可在安装列表中查找电脑对应版本安装图形化界面的版本。
安装fgsea包
注意:每次运行时注意要加载安装好的fgsea以及依赖的R包
我们只需要2个输入文件,所用到的文件可以直接从该链接中Files needed by this Tutorial中的清华云的Bioinformatics Tutorial / Files路径下的相应文件夹中下载响应文件。
基因排序(Rank list):如Introduction图中,把所有(或者一批)基因按照Phenotype A/B两种条件下的表达差异的多少(如Fold Change)排个序。
基因集(Gene set): 如Introduction图中预设好的一个Gene Set S,通常来自功能注释或其他的实验结果。
Example of test.rnk:
example of test.gmx (推荐桌面版GSEA使用,用户还可以使用GSEA软件自带的gene set,例如可以在软件参数Gene sets database中选择相应的GMX文件):
example of test.gmt (推荐fGSEA使用,GMT文件为GMX文件的转置):
注意:
GMX文件开头两行格式固定,第一行为Gene sets的名字,第二行为Gene sets的label,前两行不可省略。
fGSEA现在只兼容GMT文件,第一列为Gene Sets的名字,第二列为Gene sets的label,前两列不可省略。
基因集文件中包含了两个Gene Sets,GSEA会分别对这两个Sets做两个GSEA的分析。
本节我们讲介绍如何利用一个自定义的基因排序(Rank list)和自定义的基因集(Gene set)进行富集分析,主要使用GseaPreranked模块。我们的示例文件中包含了两个Gene Sets,GSEA会分别对这两个Sets做两个GSEA的分析。
打开 GSEA,点击Load data,选择文件夹下相应文件test.rnk和test.gmx。
点击Run GseaPreranked, 选择合适的参数,如下图所示:
Gene set database选择上传的GMX文件,test.gmt。
Number of permutations选择1000。置换检验的次数,数字越大结果越准确,但是太大会占用太多内存,软件默认检验1000次。软件分析时会得到一个基因富集的评分(ES),但是富集评分是否具有统计学意义,软件就会采用随机模拟的方法,根据指定参数随机打乱1000次,得到1000个富集评分,然后判断得到的ES是否在这1000个随机产生的得分中有统计学意义。测试使用时建议填一个很小的数如10,先让程序跑通。真正分析时再换为1000。
Ranked List选择上传的RNK文件,test.rnk。
Collapse/Remap to gene symbols选择No_Collapse。因为这里不需要进行转换,如果GMX文件和RNK文件基因格式不同,咋需要上传.chip进行转换,如上述教程。
Basic fields中Max size需大于GMX文件中gene set大小,Min size需小于GMX文件gene set大小。这里Min size选1。
其他为默认参数。
运行成功后,Status
会显示为 Success
,点击其即可查看输出。网页格式的输出信息,使用说明见 http://software.broadinstitute.org/gsea/doc/GSEAUserGuideTEXT.htm#_Interpreting_GSEA_Results。
对R语言比较熟悉的同学可以利用叫做fgsea的R包进行批量的分析和绘图。
加载示例数据
运行fgsea进行自定义排序的分析
检查结果(按照p-value排序)
可视化基因set的富集结果
可视化多个基因set的富集结果
我们可以利用如下脚本重复之前在图形界面完成的GSEA的分析(我们的示例文件中包含了两个Gene Sets,GSEA会分别对这两个Sets进行分析):
GSEA还可以有更多的分析,接受更多的输入文件格式,例如:
具体参见 http://software.broadinstitute.org/gsea/doc/GSEAUserGuideTEXT.htm#_Preparing_Data_Files
可以通过qGSEA(一个R package)远程从在 GEO 中下载感兴趣的数据集(本例中我们使用 GSE19161):
可得到文件目录结构如下:
GSEA也可以分析与离散型表型显著相关的 gene set (与差异表达相似),不同的地方在于 .cls
文件。以 GSE2251 例,打开链接后,可以在 Samples 一栏找到样品信息(样本数过多时,网页会显示不全,这时可以解压并打开 _series_matrix.txt.gz
查看样本信息。)。 本例共有12个样本,其中第1, 2, 3, 7, 8, 9 号为"E2-8",第4, 5, 6, 10, 11, 12 号为"vehicle"。针对这一表型的.cls
文件如下所示**:**
12
是样本总数,2
是表型类型数目,0
代表第一种表型,1
代表第二种表型。
注意:
由于表型文件(cls文件)为离散型,选择参数时Basci fields中Metric for ranking genes应选择signal2noise、t-Test、ratio_of_class、 diff_of_class、log2_ratio_of_class之一。
由于基因芯片仅分析一部分基因,有些 gene set 会因为包含的基因过少而被剔除 。在极端情况下,可能所有的 gene set 都会被剔除,这时就会发生如下错误:
更多信息请参见http://software.broadinstitute.org/cancer/software/gsea/wiki/index.php/1001
对一套Gene Set (KEGG_CELL_CYCLE.v2022.1.Hs.ensg.gmt) 在我们的Ranked Genes (COAD.tumor.vs.normal.rnk) 上做GSEA分析,数据可从https://cloud.tsinghua.edu.cn/d/ad22768345664924b202/?p=%2FFiles%2FPART_II%2F3.2.gsea下载。
利用图形界面进行分析,提交中间过程和最后结果,截图并解释。
利用fGSEA进行分析,提交代码及最终结果,并解释。
Format | Description | Notes |
---|---|---|
Format | Description | Notes |
---|---|---|
test.rnk
The RNK file contains a single, rank-ordered gene list (not gene set) in a simple newline-delimited text format.
Rank list
test.gmx/gmt
The GMX/GMT file format is a tab-delimited file format that describes gene sets. This file can contain multiple gene sets:
In the GMX format, each column represents a gene set.
In the GMT format, each line represents a gene set.
Gene Sets
txt, res, gct, pcl
A dataset containing expression value for each feature in each sample.
一批基因的表达值
cls
Associates each sample with a phenotype label.
基因在不同样品下的表达值
Chip
Lists each probe and its matching HUGO gene symbol.
基因 ID 和基因名字对应表