Process / pipelineBioinformaticsBioinformatics / omicsPipeline

Single-cell Gene Set Enrichment Analysis — scGSEA

Also known as: scGSEA, single-cell GSEA, cell-level gene set scoring, scRNA-seq pathway scoring

OriginatorSara Aibar, Stein Aerts (AUCell/SCENIC); David DeTomaso, Nir Yosef (VISION)Year2017-2019Sources2Related methods9

Single-cell gene set enrichment analysis (scGSEA) extends classical bulk GSEA to the resolution of individual cells. Rather than testing whether a gene set is enriched in a sample-level comparison, scGSEA assigns an enrichment or activity score to each cell, enabling researchers to map pathway activity across heterogeneous cell populations, cell states, and developmental trajectories captured in single-cell RNA-seq data.

Key highlights

  • Assigns biologically interpretable pathway activity scores to each individual cell, preserving cellular heterogeneity that bulk methods erase.
  • Compatible with any curated gene set resource (MSigDB, GO, KEGG, Reactome, custom regulons) without requiring re-training.
  • Scores integrate naturally with standard single-cell workflows and dimensionality-reduction visualisations in Seurat or Scanpy.
  • Multiple mature implementations available (AUCell, VISION, Scanpy score_genes, ssGSEA via GSVA) covering a range of complexity and speed.
  • Enables pseudotime-resolved pathway dynamics and multi-condition comparisons at cell-type resolution.

Intuition

This section is available to Pro members. Upgrade to Pro

How it works

This section is available to Pro members. Upgrade to Pro

When to use it

Use scGSEA when you have single-cell RNA-seq data and want to characterise pathway or regulon activity at cell resolution rather than at the sample level — for example, to identify which cell subtypes drive a disease signature, to track differentiation-related pathway activation along a pseudotime trajectory, or to annotate clusters with known biological programmes. It is especially valuable when cell populations are heterogeneous and bulk-averaging would mask biologically meaningful subgroups. Do NOT use scGSEA as a substitute for differential expression testing when the goal is to identify individual marker genes. Do not apply it to very sparse or low-quality data without dropout-aware normalisation; gene-ranking will be noisy and scores unreliable. It is also inappropriate for datasets too small (fewer than a few hundred cells per condition) to provide stable per-cell rankings.

Strengths & limitations

Strengths
  • Assigns biologically interpretable pathway activity scores to each individual cell, preserving cellular heterogeneity that bulk methods erase.
  • Compatible with any curated gene set resource (MSigDB, GO, KEGG, Reactome, custom regulons) without requiring re-training.
  • Scores integrate naturally with standard single-cell workflows and dimensionality-reduction visualisations in Seurat or Scanpy.
  • Multiple mature implementations available (AUCell, VISION, Scanpy score_genes, ssGSEA via GSVA) covering a range of complexity and speed.
  • Enables pseudotime-resolved pathway dynamics and multi-condition comparisons at cell-type resolution.
Limitations
  • Single-cell data suffer from high dropout (zero inflation), which distorts per-cell gene rankings and can produce unreliable scores for small or lowly expressed gene sets.
  • Scores are relative within a dataset; comparing absolute score values across independently processed datasets requires careful normalisation harmonisation.
  • Most scoring methods assume gene-set members are independent, which is biologically unrealistic and can inflate apparent enrichment for highly co-expressed modules.
  • Computational cost scales with the number of cells times the number of gene sets; very large atlases may require approximate or parallelised implementations.

Common pitfalls

This section is available to Pro members. Upgrade to Pro

Applications

This section is available to Pro members. Upgrade to Pro

Frequently asked

How is scGSEA different from standard bulk GSEA?

Bulk GSEA produces a single enrichment score per sample comparing two conditions; it cannot distinguish cell-type-specific activity. scGSEA produces one score per cell per gene set, so you can ask whether a pathway is active in a specific cell cluster, along a trajectory, or in a rare cell subpopulation — information that bulk methods cannot provide.

Which tool should I use: AUCell, VISION, or Scanpy score_genes?

AUCell is the most widely validated and is robust to dropout because it relies on ranking rather than absolute expression; it is a good default. VISION adds graph-based smoothing and autocorrelation testing, making it stronger for trajectory analyses. Scanpy's score_genes is fast and integrated into the Scanpy ecosystem but is a simpler additive score less suitable for sparse gene sets.

How many cells do I need for reliable scores?

There is no fixed minimum, but reliable statistical comparison of scores between two groups requires sufficient cells per group — typically at least 50-100 cells per cluster per condition, and ideally multiple biological replicates (donors or samples). With very few cells, per-cell scores will be noisy and differential testing will be underpowered.

Can I use custom gene sets, or must I use MSigDB?

Any curated list of gene identifiers can serve as a gene set input. MSigDB, GO, KEGG, and Reactome are common resources, but researcher-defined gene sets — such as a published cell-type signature or a custom regulon from SCENIC — are equally valid. Ensure gene identifiers match the format used in your expression matrix (gene symbols vs. Ensembl IDs).

Should I correct scores for cell-cycle effects before analysis?

Yes, if cell-cycle-related gene sets (e.g., G2M or S-phase signatures) are included or if cell-cycle variation is a confounding factor in your biological question. Standard practice is to regress out cell-cycle scores during preprocessing, or to include them as covariates in differential scoring models, so that pathway differences reflect biology rather than cell-cycle heterogeneity.

Sources

  1. 1.
    Aibar, S., Gonzalez-Blas, C. B., Moerman, T., Huynh-Thu, V. A., Imrichova, H., Hulselmans, G., Rambow, F., Marine, J.-C., Geurts, P., Aerts, J., van den Oord, J., Kalender Atak, Z., Wouters, J., & Aerts, S. (2017). SCENIC: Single-cell regulatory network inference and clustering. Nature Methods, 14(11), 1083-1086.
  2. 2.
    DeTomaso, D., Jones, M. G., Subramaniam, M., Ashuach, T., Ye, C. J., & Yosef, N. (2019). Functional interpretation of single cell similarity maps. Nature Communications, 10(1), 4376.

You have read it. What now?

Cite this page

ScholarGate. (2026, June 3). Single-cell Gene Set Enrichment Analysis. ScholarGate. https://scholargate.app/bioinformatics/single-cell-gene-set-enrichment-analysis