| name | bioconductor-aucell |
| description | AUCell allows to identify cells with active gene sets (e.g. signatures, gene modules...) in single-cell RNA-seq data. AUCell uses the "Area Under the Curve" (AUC) to calculate whether a critical subset of the input gene set is enriched with |
| when_to_use | Use when: Single-Cell Signature Scoring: Identifying cells with active gene sets, signatures, or modules in single-cell RNA-seq data using AUCell_run.; Normalization-Independent Scoring: Scoring gene sets across cells independently of the gene expression units and normalization procedures by building rank-based profiles with AUCell_buildRankings.; Cell State Classification: Classifying cell types or states . Not for: Bulk RNA-seq GSEA: For bulk RNA-seq gene set enrichment analysis, use *fgsea* instead because AUCell is specifically optimized for evaluating signatures on individual cells in highly sparse single-cell data.; Differential Expression of Single Genes: |
| user-invocable | false |
AUCell
Dependencies & Environment
Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.
- Version: 1.34.0 · Bioconductor: 3.23 · R: ≥ 4.6
- Depends: DelayedMatrixStats, data.table, GSEABase, Matrix, mixtools, R.utils, SummarizedExperiment, BiocGenerics
- Imports: DelayedArray, DelayedMatrixStats, data.table, GSEABase, Matrix, mixtools, R.utils, SummarizedExperiment, BiocGenerics
- Install:
BiocManager::install("AUCell")
When to Use
- Single-Cell Signature Scoring: Identifying cells with active gene sets, signatures, or modules in single-cell RNA-seq data using
AUCell_run.
- Normalization-Independent Scoring: Scoring gene sets across cells independently of the gene expression units and normalization procedures by building rank-based profiles with
AUCell_buildRankings.
- Cell State Classification: Classifying cell types or states by exploring the bimodal distribution of signature activity scores and setting assignment thresholds with
AUCell_exploreThresholds.
- Dimensionality Reduction Overlay: Visualizing the activity of specific gene signatures across cell populations by coloring t-SNE or UMAP plots using
AUCell_plotTSNE.
When NOT to Use
- Bulk RNA-seq GSEA: For bulk RNA-seq gene set enrichment analysis, use fgsea instead because AUCell is specifically optimized for evaluating signatures on individual cells in highly sparse single-cell data.
- Differential Expression of Single Genes: For differential expression of individual genes between clusters, use edgeR or scran instead because AUCell summarizes multi-gene signatures into a single AUC score per cell.
Data Requirements
- Expression Matrix: A single-cell gene expression matrix with genes as rows and cells as columns. Ideally stored in a sparse format (e.g.,
dgCMatrix).
- Gene Sets: A list of gene sets or signatures to test, provided as a
GeneSetCollection or a standard R list of character vectors.
Key Parameters
- exprMatrix: The input single-cell gene expression matrix.
- geneSets: The gene sets or signatures to evaluate.
- aucMaxRank: The number or percentage of top-ranked genes to use for calculating the AUC (default is often 5% of expressed genes).
- plotStats: Logical in
AUCell_buildRankings to plot the histogram of the number of detected genes per cell.
- plotHist: Logical in
AUCell_exploreThresholds to automatically plot all AUC histograms.
- assign: Logical in
AUCell_exploreThresholds to return the list of cells with an AUC value over the calculated threshold.
- aucThr: Specific numeric threshold to manually set when plotting individual histograms with
AUCell_plotHist.
Best Practices
- Convert the expression matrix to a sparse format (
dgCMatrix) before running AUCell to significantly save memory.
- Check the distribution of detected genes per cell using
plotGeneCount or plotStats=TRUE to ensure most cells have enough detected genes to support the chosen aucMaxRank.
- Do not rely blindly on automatic threshold selection; always manually inspect the AUC histograms generated by
AUCell_exploreThresholds to ensure the bimodal distribution aligns with biological expectations.
- Save the intermediate
cells_rankings object if you plan to test additional gene sets later, as building rankings is the most computationally intensive step.
Common Pitfalls
- Memory Exhaustion: Running
AUCell_buildRankings on large datasets with dense matrices can exceed RAM. Fix by converting the input matrix to dgCMatrix and utilizing parallel processing via BPPARAM.
- Inappropriate aucMaxRank: Setting
aucMaxRank higher than the number of genes detected in most cells includes noise from tied zero-expression genes. Fix by checking the quantiles from AUCell_buildRankings and adjusting aucMaxRank accordingly.
- Small Gene Sets: Using very small gene sets (<10 genes) makes it difficult to establish a stable bimodal distribution, often resulting in cells with an AUC of 0. Fix by using larger, more robust gene sets (100-2k genes) when possible.
Alternatives
- UCell: Uses Mann-Whitney U statistics to score gene signatures, differing by being specifically optimized for lower memory consumption on extremely large single-cell datasets.
- GSVA: Calculates sample-wise enrichment, differing by using a kernel density estimate that is computationally heavier and less suited for the sparsity of single-cell scales.
Citations
- Aibar et al. (2017) SCENIC: single-cell regulatory network inference and clustering. Nature Methods. doi: 10.1038/nmeth.4463
References
Run this on BioMate
This skill is the knowledge layer — when, why, and how to use aucell. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.
▶ Open aucell on BioMate →