# Bioconductor Aucell

> 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

- Skill: `biomate-ai/bioconductor-aucell` (Agent Skill)
- Install (CLI): `npx skillmds@latest add biomate-ai/bioconductor-aucell`
- Raw SKILL.md: https://api.skillmd.com/api/skills/biomate-ai/bioconductor-aucell/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: biomate-ai (https://skillmd.com/u/biomate-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/biomate-ai/bioconductor-aucell

---


# 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
- Homepage: https://bioconductor.org/packages/AUCell
- Vignette: https://bioconductor.org/packages/release/bioc/vignettes/AUCell/inst/doc/AUCell.html

<!-- biomate-cta -->
---

## 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](https://www.biomate.ai?ref=kb&pkg=aucell)** — free to start.

▶ **[Open `aucell` on BioMate →](https://www.biomate.ai?ref=kb&pkg=aucell)**

