GSEA算法

用途与运行方式

  • 场景一:指定类别1与类别2进行gsea分析,其中--ident1做为处理,--ident2做为对照

    SDAS geneSetEnrichment gsea -i st.h5ad -o outdir \
    --group_key leiden --ident1 1 --ident2 2 --species human
  • 场景二:对obs的某列做子集后再进行gsea分析

    SDAS geneSetEnrichment gsea -i st.h5ad -o outdir \
    --group_key leiden --ident1 1 --ident2 2 --species human \
    --subset_key cell_type --subset_values B
  • 场景三:只用感兴趣的数据库进行分析

    SDAS geneSetEnrichment gsea -i st.h5ad -o outdir \
    --group_key leiden --ident1 1 --ident2 2 \
    --gmt sdas_deg_enrichment/lib/GSEADB/h.all.v2024.1.Hs.symbols.gmt,sdas_deg_enrichment/lib/GSEADB/KEGG_2021_Human.gmt
  • 场景四:只对感兴趣的通路进行作图,将感兴趣的通路全名写入一个txt文档里面,每个通路一行,然后将这个txt文档通过--pathways参数传入分析流程。需要注意的是使用的数据库中必须包含这些指定的通路名称

    SDAS geneSetEnrichment gsea -i st.h5ad -o outdir \
    --group_key leiden --ident1 1 --ident2 2 \
    --pathways ./pathway.txt \
    --gmt sdas_deg_enrichment/lib/GSEADB/h.all.v2024.1.Hs.symbols.gmt,sdas_deg_enrichment/lib/GSEADB/KEGG_2021_Human.gmt

输入参数说明

gsea参数
是否必须
默认值
描述

-i / --input

Stereo-seq h5ad,要求原始矩阵

--group_key

需要用于进行gsva分析的对象,用','分隔多个对象

--ident1

用于进行GSEA分析的对象名,类似处理组

--ident2

用于做对照的对象名

-o / --output

结果存放路径

--layer

指定表达矩阵,默认用adata.raw.X或adata.X

--gene_symbol_key

real_gene_name

指定gene name所在列,默认real_gene_name,如果没有则使用矩阵中的原始基因信息

--species

human

指定数据库,'human' 或 'mouse',默认 'human',当指定--gmt参数时,该参数不起作用

--subset_key

需要提取的值所属的obs名称

--subset_values

需要提取的信息,存在多个时用','分隔

--sample_size

0

对输入文件的bin数量进行随机取样以减小内存消耗,默认值为0,不做采样

--gmt

gmt格式的数据库文件,其中gene name信息必须为大写,多个文件时用','隔开

--graph

5

筛选top数量的通路进行画图,默认'5',指定--pathways参数时,该参数不起作用

--pathways

通过txt文件指定一个或多个感兴趣的通路进行画图,这些通路必须在gmt数据库中

--permutation_type

gene_set

小于1000个样本时用‘gene_set’,大于1000个样本时用‘phenotype’。默认‘gene_set’。

-v / --verbose

启用详细模式,打印任务进度。默认:False

--permutation_num

1000

随机置换次数(用于计算ES空值分布)。默认:1000

--min_size

15

基因集中包含的输入基因最小数量。默认:15

--max_size

500

基因集中包含的输入基因最大数量。默认:500

--weight

1

排序指标权重(用于调整基因权重),可选值:{0, 1, 1.5, 2}。默认:1

--method

signal_to_noise

基因排序相关性计算方法,可选值: {'signal_to_noise', 'abs_signal_to_noise', 't_test', 'ratio_of_classes', 'diff_of_classes', 'log2_ratio_of_classes'}。默认:'signal_to_noise'

--ascending

设置排序指标为升序(指定此参数则ascending=True)。默认:False(降序)

--seed

123

随机数种子值。默认:123

--threads

1

并行计算使用的线程数。默认:1

输出结果展示

gsea结果文件
描述

GSEA.{database}.csv

csv格式的结果文件

GSEA.{database}.top5.pdf/png

pdf和png格式的图像文件

  • 文件格式示例:GSEA.{database}.csv 这个文件是gsea分析结果文件,包含了Name,Term,ES,NES,NOM p-val,FDR q-val,FWER p-val,Tag %,Gene %,Lead_genes等信息。其中Term是通路名称;ES是富集得分(Enrichment Score),反映基因集成员在排序基因列表(如差异表达基因排序)中的富集程度,正ES:基因集在排序列表顶部富集(与表型正相关),负ES:基因集在排序列表底部富集(与表型负相关);NES是标准化富集得分 (Normalized Enrichment Score);NOM p-val是名义p值;FDR q-val是校正后的p值;FWER p-val是族系错误率校正后的p值;Tag %是基因集中位于排序列表核心富集区域的基因百分比;Gene %是分析中实际使用到的基因占基因集总基因数的百分比;Lead_genes是对富集得分(ES)贡献最大的核心基因。

Name
Term
ES
NES
NOM p-val
FDR q-val
FWER p-val
Tag %
Gene %
Lead_genes

gsea

HALLMARK_MYC_TARGETS_V1

0.7472938191195556

2.39333105644001

0.0

0.0

0.0

160/195

18.89%

RPL14;HNRNPA2B1;...

gsea

HALLMARK_OXIDATIVE_PHOSPHORYLATION

0.7431758291176868

2.376055485647371

0.0

0.0

0.0

168/200

20.44%

MDH2;COX8A;...

gsea

HALLMARK_ALLOGRAFT_REJECTION

0.744882727767552

2.3688992213810462

0.0

0.0

0.0

118/194

14.03%

ITGB2;HLA-DRA;...

gsea

...

...

...

...

...

...

...

...

...

  • top Terms富集曲线图GSEA.{database}.top5.pdf/png (见下图示例),图中Enrichment Score为正说明改Term与--ident1正相关,为负说明为负相关。

Last updated