3.3.GSEA

1) Pipeline

2) data structure

2a) getting software & data

  • 程序下载与安装(Docker 中均已安装好, 参考文件获取方式):

    • 进入 GSEA官方下载页面(需要登录方可进入,只需输入邮箱即可),在 Software tab下载 "javaGSEA Java Jar file"。已经安装。

    • 安装 Java8 。已经安装

    • qGSEA 已经安装。感兴趣的同学请看 4) Tips/Utilities 安装 qGSEA。

  • 准备数据:至 GEO 查找感兴趣的数据集(本例中我们使用 GSE19161),下载 series_matrix.txt.gz 文件和family.soft.gz 文件(参考文件获取方式)。

2b) input format

Format

Description

Notes

txt, res, gct, pcl

A dataset containing expression value for each feature in each sample.

658个基因的表达值(所有基因的表达值)

cls

Associates each sample with a phenotype label.

基因在不同样品下的表达值

Chip

Lists each probe and its matching HUGO gene symbol.

基因 ID 和基因名字对应表

gmx or gmt

gives the gene set name and list of features in it.

特定功能的基因集合

参见 http://software.broadinstitute.org/gsea/doc/GSEAUserGuideTEXT.htm#_Preparing_Data_Files

2c) output format

网页格式的输出信息,使用说明见 http://software.broadinstitute.org/gsea/doc/GSEAUserGuideTEXT.htm#_Interpreting_GSEA_Results

3) Running Steps

这里我们分析 GSE19161 数据集中与 EIF4G2 基因的表达量显著相关的 gene set。

首先进入到容器(在自己电脑的 Terminal 中运行,详情请参见 这里):

docker exec -it bioinfo_tsinghua bash

以下步骤均在 /home/test/gsea/ 下进行:

cd /home/test/gsea/

3a) 准备 GSEA 输入文件

官方指南见 http://software.broadinstitute.org/cancer/software/gsea/wiki/index.php/Data_formats

如果你想利用 GEO 的原始数据,qGSEA 这个R包会让你轻松许多。

  1. 我们已经在 raw 中下载好了原始数据文件:

    • matrix 文件 GSE19161_series_matrix.txt.gz

    • SOFT 文件 GSE19161_family.soft.gz

  2. 生成 GSEA 输入文件(打开R)

R
# 进入 R 操作界面
> dir.create('input/')
> qGSEA::make_gsea_input(
matrix_file = 'raw/GSE19161_series_matrix.txt.gz',
soft_file = 'raw/GSE19161_family.soft.gz',
output_dir = 'input/',
gene = 'EIF4G2'
)
> q()
Save workspace image? [y/n/c]: n # 按 n 再按 Enter
  1. 现在目录结构如下:

gsea
├── input
│ ├── GSE19161.chip
│ ├── GSE19161.cls
│ └── GSE19161.txt
└── raw
├── GSE19161_family.soft.gz
└── GSE19161_series_matrix.txt.gz

3b) 在 command line 下运行GSEA

GSEA 可以以图形化界面或 command line 模式运行。由于 Docker 的限制,我们将前者移到了 这里。至于 command line 模式,官方指南 并没有对参数的名称和意义给出详细的解释,而是推荐在图形化界面中运行成功后,导出其所用的命令(示例见 这里)。

这里我们已经事先从图形化界面中导出了所需的命令:

java -cp /usr/local/GSEA/gsea-3.0.jar -Xmx512m xtools.gsea.Gsea -res input/GSE19161.txt -cls input/GSE19161.cls#EIF4G2 -chip input/GSE19161.chip -out output -gmx gseaftp.broadinstitute.org://pub/gsea/gene_sets_final/h.all.v6.2.symbols.gmt -metric Pearson
# java -cp /usr/local/GSEA/gsea-3.0.jar -Xmx512m xtools.gsea.Gsea \
# -res input/GSE19161.txt -cls input/GSE19161.cls#EIF4G2 -chip input/GSE19161.chip -out output \
# -gmx gseaftp.broadinstitute.org://pub/gsea/gene_sets_final/h.all.v6.2.symbols.gmt -metric Pearson
  1. 第一行指定运行的程序

  2. 第二行是输入/输出文件的路径(其中 #EIF4G2 指定了我们要分析的基因)

  3. 第三行设置了一些参数:

    • 这里我们使用 hallmark 这个 gene set collection (h.all.v6.1.symbols.gmt);

    • 另外,由于我们使用的是连续性表型(EIF4G2 基因的表达量),Metric 要选 Pearson

输出结果为 output/my_analysis.Gsea.1534401449035/ (最后的数字每次运行都不尽相同)。可以将其复制到 /home/test/share 中,然后在自己的电脑(或虚拟机)中用浏览器打开其中的 index.html,示例可在这里查看。

其中 my_analysis 可以用 -rpt_label 指定为其它值,如 -rpt_label GSE19161。但GSEA会自动在其后添加 .Gsea.1534401449035 来组成输出文件夹名。

4) Tips/Utilities

选择性练习

  • 安装 qGSEA(打开R)

R
# 进入 R 操作界面
> if (!('devtools' %in% .packages(T))) install.packages('devtools')
> devtools::install_github('dongzhuoer/qGSEA')
> q()
Save workspace image? [y/n/c]: n # 按 n 再按 Enter。

4a) 使用 qGSEA 下载 GEO 的原始数据

新建一个空文件夹,进入其中,打开R

R
# 进入 R 操作界面
> dir.create('raw/')
> download.file(rGEO::gse_soft_ftp('GSE19161'), 'raw/GSE19161_family.soft.gz')
> download.file(rGEO::gse_matrix_ftp('GSE19161'), 'raw/GSE19161_series_matrix.txt.gz')
> q()
Save workspace image? [y/n/c]: n # 按 n 再按 Enter, 不保存 R 的修改。

/home/test/gsea/raw 中的原始数据文件即是用上述代码得到的。

4b) 以图形化界面运行 GSEA

由于 Docker 中无法启动图形化界面,本步骤需要在自己的电脑或虚拟机中进行。

  1. 切换到自己的电脑,装好全部软件,新建一个空文件夹 gsea/,在其中准备好输入文件

  2. 打开 GSEA: java -jar /path/to/gsea-x.y.jar,用文件管理器打开 input/ 文件夹,将上述生成的文件拖拽到指定区域。

图1 载入数据
  1. 选择合适的参数,参数意义详见 command line 模式 第 3 行的解释。

图2 运行GSEA
  1. 运行成功后,Status 会显示为 Success,点击其即可查看输出。在本例中,没有一个 gene set 通过了显著性检验。

图3 GSEA 的输出

4c) 以图形化界面运行 GSEA

在上一步运行成功后,点击 Command 按钮,即可获取运行时所用的命令,如下图所示:

图4 GSEA 获取 command

在实践中,使用默认值的参数也可以不指定,如 上文 所示。

4d) 常见错误:筛选后无基因集

由于基因芯片仅分析一部分基因,有些 gene set 会因为包含的基因过少而被剔除 。在极端情况下,可能所有的 gene set 都会被剔除,这时就会发生如下错误:

更多信息请参见http://software.broadinstitute.org/cancer/software/gsea/wiki/index.php/1001

4e) 分析离散型表型

GSEA也可以分析与离散型表型显著相关的 gene set (与差异表达相似),与上文不同的地方在于 .cls 文件。

GSE2251 例,打开链接后,可以在 Samples 一栏找到样品信息。本例共有12个样本,其中第1, 2, 3, 7, 8, 9 号为"E2-8",第4, 5, 6, 10, 11, 12 号为"vehicle"。针对这一表型的.cls 文件如下所示。12 是样本总数,2 是表型类型数目,0 代表第一种表型,1 代表第二种表型。(样本数过多时,网页会显示不全,这时可以解压并打开 _series_matrix.txt.gz 查看样本信息。)

12 2 1
# E2-8 vehicle
0 0 0 1 1 1 0 0 0 1 1 1

5) Homework

  1. 分析 GSE2251 中与 TP53 基因的表达量显著相关的 gene set,输入文件在 这里 下载。

注意:要求提交中间过程产生的文件(chip,cls,txt), 和最后结果,截图并解释。