gsea富集分析结果怎么看_使用GSEA软件进行基因集富集分析

本文希望帮助大家快速使用GSEA软件进行基因集富集分析,如果希望了解GSEA分析原理话,可以看之前的文章使用clusterProfiler包进行富集分析。GSEA软件的使用可以分为以下四个步骤:

  1. 数据的准备

  • 表达矩阵
  • 表型文件

导入数据

运行GSEA

查看结果

下面以GEO芯片数据集(GSE7476)为例,一步步演示GSEA软件的使用。该数据集来自GPL570芯片平台,共有12个样本,包括9个肿瘤膀胱组织和3个正常膀胱组织。GSEA软件版本为4.0.1。

数据准备

表达矩阵

下载GSE7476数据集,如果网络差,可能导致数据下载不全,需要删除已下载的数据,重新下载。

setwd('./task-12')
rm(list = ls())

library(GEOquery)
gset 'GSE7476',destdir = '.', getGPL = T, AnnotGPL = T)
gset1 1]]          
expr # 表达矩阵
pdata # 样本信息
fdata # 探针注释信息

筛选探针:

library(tidyverse)
fdata1 % 
  select(ID, `Gene symbol`) %>% 
  rename(symbol = `Gene symbol`) %>% 
  filter(!(symbol == '' | str_detect(symbol, '///')))

ID转换:

expr1 % 
  as.data.frame() %>% 
  rownames_to_column('ID') %>% 
  inner_join(fdata1, by = 'ID') %>% 
  relocate(symbol, .after = 'ID')

# 多个探针对应同一个symbol,取均值
library(limma)
expr2 1, 2)], ID = expr1$symbol) 

分位数标准化:

expr3 = normalizeBetweenArrays(expr2) %>% 
  as.data.frame()

样本名有点奇怪,换成标准命名(可选操作):

colnames(expr3) 

表达矩阵中前3个样本为对照组,这里我们将其放在数据集最后面:

expr4 % 
  relocate(1:3, .after = last_col())
expr4[1:4, 1:4]
##         GSM180994 GSM180995 GSM180996 GSM180997
## CFAP53   3.466569  3.547136  3.213648  3.340319
## ARMCX4   3.823789  3.858049  3.731523  4.013900
## RBBP6    5.281614  5.188695  5.288568  5.143793
## CENPBD1  4.517881  4.237953  4.273378  4.126023

最后将表达矩阵整理成GSEA要求的数据格式

gsea_expr % 
  rownames_to_column(var = 'NAME') %>% 
  mutate(DESCRIPTION = 'na') %>% 
  relocate(NAME, DESCRIPTION)

gsea_expr[1:4, 1:4]
##      NAME DESCRIPTION GSM180994 GSM180995
## 1  CFAP53          na  3.466569  3.547136
## 2  ARMCX4          na  3.823789  3.858049
## 3   RBBP6          na  5.281614  5.188695
## 4 CENPBD1          na  4.517881  4.237953

# 保存表达矩阵
write_delim(gsea_expr, 'gsea_expr.txt', 
            delim = '\t', col_names = T, na = '')

表型文件

创建表型文件:

group_list   num   = c('12','2','1',rep(NA, 9)),
  group = c('#','tumor','control', rep(NA, 9)),
  name  = c(rep('tumor', 9), rep('control', 3))
) %>% 
  t() %>% 
  as.data.frame()

group_list
##          V1    V2      V3    V4    V5    V6
## num      12     2       1      
## group     # tumor control      
## name  tumor tumor   tumor tumor tumor tumor

write_delim(group_list, 'group_list.cls',
            delim = ' ', col_names = F, na = '')

导入数据

如下图所示,打开软件后,首先点击“load data”,然后选择“Method 1”,找到数据所在文件夹,分别点击“gesa_expr.txt”和“group_list.cls”文件,选择打开,这样数据就上传成功了。

3f5191c99cf5afefe6e7ef93b15f77b5.png

运行GSEA

数据导入之后,点击“Run GSEA”,这里需要我们设置GSEA参数,参数设置包括三个方面:

  • 必须参数
  • 基本参数
  • 高级参数

必须参数

702d2f0074f378bfde755c943c3f5bff.png

参数设置如上图所示,这里解释下这些参数的作用:

  • Expression dataset: 使用已上传的表达矩阵“gesa_expr.txt”。

  • Gene sets database: 选择基因集“c2.cp.kegg.v7.1.symbols.gmt”进行KEGG富集分析。也可以选择其他基因集,如GO基因集。

  • Number of permutations: 置换检验的次数,一般都设置为1000。

  • Phenotype labels: 选择表型标签,注意不同组的顺序,需要和表达矩阵一致,这里我们选择“tumor versus control”。

    726088d5c04ab203953452b1428cc1d6.png

  • Collapse dataset to gene symbols: 基因名是否转为gene symbol,这里选择“false”,因为我们表达矩阵用的就是gene symbol,不需要再次转换。

  • permutation type: 置换检验的类型,一般有两种选择,如果样本过少则选择“gene_set”,这里我们选择“pheno type”。

  • Chip platform: “Collapse dataset to gene symbols ”设置为“false”时,该参数就无需使用。

基本参数

8e7eb4daaea0b784c5f0c6cc654fb505.png

基本参数中,一般只要设置“Analysis name”和“Save results in this folder”参数,其余参数采用默认即可:

  • Analysis name: 富集分析结果文件名。
  • Save results in this folder: 富集分析结果存储位置。

高级参数

1921b0501378c3847cd095f82c82e93b.png

高级参数一般也不用修改,这里我们设置“Seed for permutation”为“666”,是为了运行结果可重复。参数设置完成后,点击“Run”,即可开始运行GSEA。

查看结果

运行结束后,点击“Success”即可进入结果页面查看结果。

9c33305d2f0e52895b4ab52e3ee885fb.png

结果报告如下图所示:主要分为两部分:

  • 在癌症组中基因集富集情况
  • 在对照组中基因集富集情况

7a1bee35e118e3ff43c3184f59efda2b.png

点击“snapshot”查看癌症组前20富集terms:

3f9dafb6c18e7aca493e666dc56a4978.png

点击“enrichment results in html”查看所有富集分析结果:

4b2a82a3288caba1581737aaad481c1a.png

当term满足条件|NES| > 1, NOM p-val < 0.05, FDR q-val < 0.25时,被认为是显著富集。

以上就是使用GSEA对芯片数据集进行基因集富集分析的全部过程了,除了使用芯片数据,也可以使用RNA-seq数据,二者分析流程差不多,这里就不再次介绍了。

GSEA下载地址:https://www.gsea-msigdb.org/gsea/downloads.jsp。

下方是留言小程序入口,点击留言体验

写留言