Cover illustration with translucent cluster panels and labeled cell-type nodes on a soft pastel gradient, representing scRNA-seq cluster annotation and cell type labelling
← All blog posts

A Practical Guide to Single-Cell RNA-Seq Cluster Annotation

How to annotate scRNA-seq clusters in 2026: marker genes, reference mapping, supervised tools, and separating cell identity from cell state.

Clustering is usually the part people learn first. You filter the count matrix, normalise the data, reduce dimensions, build a neighbour graph, and let a community-detection algorithm split the cells into groups. The more consequential work comes after that. Annotation is the step where those groups become epithelial subsets, activated T-cell states, stromal niches, malignant compartments, or something less tidy that does not fit a textbook label. This is where biology enters the analysis. It is also where many reproducibility problems begin.

From clusters to cell identities

A cluster is simply a group of cells with similar expression profiles. It may represent a real lineage, but it may also reflect cell-cycle phase, dissociation stress, ambient RNA, mitochondrial content, donor structure, or a treatment response that cuts across several cell types. The label you assign is what turns an abstract region of a UMAP into something you can reason about and compare across studies.

That choice carries forward into every downstream analysis. Differential expression between two unnamed clusters rarely tells you much. Differential expression between inflammatory monocytes and tissue-resident macrophages is interpretable, testable, and much easier to discuss with a collaborator. Shared, ontology-grounded names are what let you integrate cohorts and ask whether the same population appears across tissues, conditions, and labs. Annotation quality can also be the difference between recognising a rare, clinically important population and filtering it away as noise.

Disease data makes this especially unforgiving. Tumour cells often occupy non-canonical states, immune cells pick up context-specific programs, and damaged tissue produces mixed signatures that do not resolve neatly into one identity. A broad label may still orient the analysis, but it is rarely enough to support a target, biomarker, or mechanism claim.

Get clustering right before you annotate

Annotation inherits every upstream decision, so good labels start before labelling. A standard scRNA-seq workflow moves from cell isolation and barcoding to a gene-by-cell count matrix, followed by filtering, normalisation, dimensionality reduction with PCA, and graph-based clustering with Leiden or Louvain on a k-nearest-neighbour graph. If quality control is weak, ambient RNA remains uncorrected, doublets stay in the data, or batch structure dominates, those problems become part of the clusters. Careful labelling cannot rescue a bad clustering structure. We cover the upstream analysis steps in more detail in our guide to navigating scRNA-seq data analysis, and batch handling in batch effect normalization techniques in scRNA-seq.

Two practical points are worth keeping in mind. First, clustering resolution is a dial, not a truth. Under-clustering merges distinct populations; over-clustering splits one coherent population into several groups that may not be biologically meaningful. Tune resolution against the expected heterogeneity of the tissue and the depth of the data, not against how clean the UMAP looks.

Second, UMAP is a visualisation, not a measurement. It often preserves local neighbourhoods well enough to be useful, but inter-cluster distances and cluster sizes in the embedding are not quantitatively meaningful. Do not let apparent proximity on the plot drive an identity call. The clustering, the markers, and the biological context should do that work. The embedding helps you see the structure.

Separate cell identity from cell state

This distinction is one of the easiest ways to improve annotation quality. A cell has a relatively stable identity, its lineage or type, and a context-dependent state layered on top. A CD8 T cell is still a CD8 T cell whether it is resting, cycling, interferon-responsive, cytotoxic, or exhausted. If you collapse identity and state into one flat label such as "activated CD8," you make it harder to compare the same population across studies, and you risk treating a transient program as if it were a distinct cell type.

In practice, resolve two things in parallel. The identity is the ontology-grounded term, for example "CD8-positive, alpha-beta T cell." The state is the program riding on top, scored separately: cell-cycle phase from S and G2/M signatures, an interferon response, a stress or dissociation signature, a cytotoxic program, or an exhaustion program. Keeping these layers apart lets you say something more precise: the cluster is confidently CD8 T, probably effector-memory, and tentatively interferon-responsive, with a different level of confidence attached to each layer.

Two-layer schematic separating stable cell identity from layered state programs. The identity panel shows a CD8-positive alpha-beta T cell mapped to the Cell Ontology with lineage-defining markers. The state panel lists cycling, cytotoxic, interferon, exhaustion, and stress modules with module scores. The resolved annotation combines one identity with each state layer and its own confidence.

Figure 1: Separate cell identity (ontology-grounded, stable) from state programs (context-dependent, scored independently), each with its own confidence.

This matters even more in disease work, because the actionable biology is often the state rather than the broad identity. A treatment-induced program, a disease-associated macrophage phenotype, or an exhausted T-cell state may sit on top of a familiar cell type. If the annotation flattens those layers, the most useful signal can disappear into the label.

How annotation methods evolved

Annotation methods have moved through five overlapping generations. Knowing which family a method belongs to helps you understand what it can do, what evidence it uses, and where its failure modes usually sit.

Timeline of single-cell annotation methods from 2017 to 2025 across five families: manual and interactive, marker-based, reference-based, transformer-based, and LLM-based, with representative tools per year and CyteType shown as a structured AI workflow in 2025.

Figure 2: Five generations of single-cell annotation methods, shown by approximate year of first release. Representative tools only, not exhaustive.

01

Manual and interactive

The oldest approach, and still the reference standard, is a human reading markers in a GUI. Loupe Browser, CZ CELLxGENE, and ScarfWeb sit here. This approach does not scale well, and it depends heavily on the reviewer, but expert judgement remains the benchmark that automated methods are measured against.

02

Marker-based

Tools such as SCENIC/AUCell, Garnett, SCINA, and ScType assign labels from curated or user-defined marker sets. They are transparent and do not require a reference dataset, which is useful when one does not exist. Their weakness is also clear: they inherit the limits of the marker lists and struggle when canonical markers are shared across lineages, shift with disease, or change across tissue context.

03

Reference-based

This is the dominant production approach. It transfers labels from an annotated reference by similarity or classification. SingleR uses Spearman correlation, CellTypist uses logistic regression, Azimuth uses anchor-based mapping, scANVI uses a semi-supervised model, and popV combines several methods into a consensus vote with explicit uncertainty scores. These tools can be fast and accurate when the reference fits the biology. They are also bounded by that reference when it does not.

04

Transformer-based

Foundation models such as scBERT, Geneformer, scGPT, UCE, and scFoundation learn general cell representations from very large single-cell corpora, then fine-tune for annotation or related tasks. They are powerful in the right setting, but they are not a shortcut around reference quality, task-specific validation, or biological review.

05

LLM-based

The newest branch uses LLMs over gene names, marker lists, or gene-order representations rather than raw expression vectors. GenePT, Cell2Sentence, GPTCellType, and multi-model consensus systems such as mLLMCelltype sit in this group. CyteType, Nygen's structured AI workflow for single-cell annotation and deeper cell characterisation, also belongs here. The important distinction is that CyteType does not rely on a single open-ended prompt. It places bounded LLM calls inside a controlled workflow, with confidence calibration, evidence review, and Cell Ontology linking layered around the final call.

A practical annotation workflow

Start with marker evidence

Strong annotation begins with marker inspection, not with a classifier. Pull cluster-level markers and ask whether they support one coherent lineage. The mechanics matter. Most pipelines rank markers with a one-vs-rest test, for example rank_genes_groups in Scanpy or FindMarkers in Seurat. It is tempting to read the resulting p-values as ordinary significance values, but that is not what they are. The same data defined the clusters and is then used to test them, so the p-values are anticonservative by construction. This circularity, often called double dipping, is even flagged in Seurat's own output. Treat marker output as ranked evidence, weighted by effect size and specificity, rather than as a statistical verdict.

Canonical markers are a starting point, not ground truth. Many are shared across related populations, and some lose reliability outside the tissue or disease context where they were first described. Curated resources such as CellMarker 2.0 and PanglaoDB are useful when you enter an unfamiliar tissue, but they should be used as references to interpret, not answers to copy.

A useful habit is to ask the same few questions for every cluster. Do the top markers point clearly to one lineage? Are there conflicting markers that suggest doublets, contamination, or a transitional state? Is the cluster defined by a classical cell identity, or by a program such as proliferation, interferon response, tissue residency, or stress?

Bring in supervised methods as evidence, not verdicts

Once manual review has established the broad structure, reference-based and supervised tools can speed up the rest and make the annotation more consistent. The limitation is shared across all of them: every classifier and every label-transfer step is bounded by its reference. If the disease state, perturbation, species, developmental stage, or assay chemistry in your data is not represented in the reference, the method still has to return the nearest known class. Sometimes it does this without abstaining, and the prediction may look more confident than it should.

Confidence scores help, but they are often poorly calibrated. The safer posture is to use the reference to anchor broad identity, then refine subtype and state locally. A label should only settle when the model output, marker evidence, tissue context, and any prior biological knowledge point in the same direction.

Use ontology-aware labels

Free-text labels do not compare cleanly across datasets. "CD8 T cell," "cytotoxic T cell," and "CD8+ T" may refer to the same biology, but a computer will not necessarily treat them that way. The Cell Ontology provides standardised, hierarchical terms and is now used directly by CellTypist, Azimuth, popV, CZ CELLxGENE, and the Human Cell Atlas ecosystem.

Mapping your labels to the Cell Ontology improves reproducibility and makes integration less fragile. It also reinforces the identity-versus-state split. The ontology term carries the stable identity. The state stays as a separate annotation instead of being smuggled into the type name.

Validate, subset, and iterate

Annotation is iterative, and the most common fix is to subset and re-cluster. A global embedding compresses substructure. Broad compartments such as lymphoid, myeloid, stromal, or malignant cells often hide interpretable heterogeneity that only appears once you analyse them on their own. After an initial annotation pass, revisit the cluster structure and nearest-neighbour relationships. Low-confidence labels often sharpen after subsetting.

Validation should also reach beyond transcription when the biology matters. Protein measurements from CITE-seq, chromatin accessibility from ATAC multiome, and tissue context from spatial transcriptomics can separate populations that look similar in transcript space. This is exactly the problem in immune activation states, stromal heterogeneity, and tumour ecosystems. Our piece on spatial transcriptomics and single-cell RNA-seq covers how those modalities complement each other.

For populations that sit between stable endpoints, trajectory tools such as Monocle 3, Slingshot, and PAGA can help you describe a cluster as a state along a trajectory rather than forcing a fixed type.

Where annotation gets hard

Most annotation errors concentrate in a small set of recurring situations. The table below summarises what to watch for and how to handle each case.

Challenge What to watch for Practical approach
Batch effects Labels that track sample origin or chemistry more than biology Integrate carefully with Harmony, scVI, MNN, or Seurat, then re-check marker coherence after correction
Ambiguous markers A cluster looks plausible for several related identities Use marker combinations, neighbourhood structure, and pathway context, not single genes
Rare populations Small, distinct clusters dismissed as noise Test multiple resolutions, inspect rare-marker expression, and validate orthogonally
Transitional states Mixed signatures spanning two lineages or endpoints Use trajectory tools and label the cluster as a state, not a fixed type
Disease context Reference labels look close but incomplete Use disease-relevant references, add pathway analysis, and separate identity from disease state
Technical vs biological signal Clusters dominated by ribosomal, mitochondrial, or mixed-lineage genes Revisit QC, ambient-RNA correction, and doublet detection before assigning biology
Cross-species transfer Conserved broad lineages but unstable subtypes Use species-matched references and stay conservative on fine labels
Overconfident automation Clean labels with weak marker support Require agreement across model, markers, and context; keep uncertain calls marked as uncertain

The thread running through all of these is simple enough. Automated output is a clue, not a conclusion. When the evidence is thin, the honest move is to keep a descriptive label rather than pretend the data supports a more specific one.

The state of AI methods: transformer and LLM annotation

The two newest method families in the figure deserve a clear look, because they are useful and still easy to oversell.

Transformer-based foundation models such as scGPT and Geneformer learn cell embeddings from tens of millions of profiles. The early hope was that those embeddings would transfer to annotation out of the box. The evidence has been more cautious. A 2025 zero-shot evaluation in Genome Biology found that, without task-specific fine-tuning, scGPT and Geneformer separated cell types and corrected batches worse than simpler baselines such as highly variable gene selection, Harmony, and scVI. Benchmarking work in 2026 has continued to find that parameter-free and classical representations remain competitive on annotation.

That does not make foundation models unimportant. It does mean they need to be used in the right way. They can be valuable when fine-tuned on a relevant dataset or used as part of a controlled workflow, but a foundation-model embedding should not be treated as inherently more biological than a well-validated classical pipeline.

LLM-based methods take a different route. They reason over marker genes or gene names, often with no direct access to the full expression matrix. GPTCellType showed that GPT-4, prompted with the top differential genes per cluster, can reach near-expert concordance across many tissues and sometimes match or beat established tools. That is a real result, but it has boundaries. The model reasons over the genes you hand it. It has no native confidence calibration, can produce fluent labels when evidence is weak, and its output can shift with prompt phrasing.

The current direction is to constrain that behaviour. Consensus systems such as mLLMCelltype run several models and use agreement, consensus proportion, and entropy to quantify uncertainty and suppress single-model hallucinations. Cell2Sentence fine-tunes language models on expression rendered as ordered gene "sentences," rather than relying on free prompting.

The pattern across both AI families is familiar. A model output, whether it comes from a classifier, a foundation model, or an LLM, is evidence to reconcile against markers, reference, ontology, and tissue context. It is not a substitute for that reconciliation. The hard problem is not generating a plausible label. It is tying that label to biological evidence you can defend.

This is the principle behind CyteType. Rather than return a flat label, CyteType resolves identity and state separately, links the identity to the Cell Ontology, returns calibrated confidence, and exposes the evidence behind each call. A reviewer can see why a cluster was assigned what it was, what alternatives were considered, and where the uncertainty sits. We describe why Nygen rebuilt annotation as a structured LLM workflow rather than open-ended agents. The point is not just speed. It is that downstream target and biomarker work should rest on biology you can stand behind.

An annotation checklist

A workable 2026 annotation pass looks roughly like this:

  1. Fix data quality first. Remove low-quality cells, likely doublets, and technical artefacts before treating any cluster as biology.

  2. Read the markers manually. Build an initial view of major lineages and obvious states from ranked cluster markers.

  3. Add supervised tools and reference mapping. Use SingleR, CellTypist, Azimuth, or scANVI as supporting evidence, not as the final word.

  4. Separate identity from state. Resolve the stable cell type and the layered program, such as cycling, interferon response, stress, exhaustion, or disease state, as distinct annotations.

  5. Use ontology-aware labels. Map identities to the Cell Ontology for reproducibility and integration.

  6. Subset and re-cluster. Open up broad compartments to recover hidden substructure.

  7. Document uncertainty. "Cycling T/NK population" is a better label than a confident type the data does not support.

  8. Validate the cases that matter. Confirm important calls with protein, chromatin, spatial, or trajectory evidence.

A good annotation is not the most specific label a tool can produce. It is the most defensible label the data can support. That means reviewing marker, reference, ontology, and model evidence together, then turning the result into something a downstream analysis can trust.

Frequently asked questions

How do you annotate scRNA-seq clusters?

Start with cluster marker genes, then add reference mapping and supervised tools such as SingleR, CellTypist, or Azimuth as supporting evidence. Map stable identities to the Cell Ontology, score cell states separately, subset and re-cluster when needed, and validate uncertain calls with orthogonal data where the biology matters. See the annotation checklist above for the full workflow.

What is the difference between cell identity and cell state?

Cell identity is the relatively stable lineage or type, usually expressed as an ontology-grounded label such as CD8-positive alpha-beta T cell. Cell state is a context-dependent program layered on top, such as cycling, interferon response, cytotoxicity, exhaustion, or stress. They should be annotated separately, each with its own confidence. The identity vs state section above walks through this with an example.

Which tools are commonly used for automated cell type annotation?

Manual review in Loupe Browser, CZ CELLxGENE, or ScarfWeb remains the reference standard. Marker-based tools include Garnett and ScType. Reference-based methods include SingleR, CellTypist, Azimuth, scANVI, and popV. Newer AI approaches include foundation models such as scGPT and LLM-based systems such as GPTCellType, mLLMCelltype, and CyteType.

Should you trust automated cluster labels without validation?

No. Automated output is evidence, not a final label. A cluster label should only settle when marker genes, reference or model output, tissue context, and ontology mapping agree. When evidence is thin, keep a descriptive label rather than overstating precision.

How does CyteType approach cell type annotation?

CyteType uses bounded LLM calls inside a controlled workflow rather than open-ended prompting. It resolves identity and state separately, links identity to the Cell Ontology, returns calibrated confidence, and exposes the evidence behind each call. We describe the design in more detail in What We Got Wrong About AI Agents for Cell Annotation.

Share this article