t-SNE and UMAP for Flow Cytometry: Reading High-Dimensional Cell Populations Correctly

t-SNE UMAP flow cytometry dimensionality reductionApril 24, 2026

t-SNE and UMAP for Flow Cytometry: Reading High-Dimensional Cell Populations Correctly

Modern spectral panels routinely capture 20, 30, or 40+ parameters per event, and at that width traditional bivariate gating stops being sufficient for exploration. t-SNE UMAP flow cytometry dimensionality reduction workflows compress all those markers into a 2D map you can actually look at — but they also introduce interpretation traps that cost researchers real time and, sometimes, real publications. This post is about running these algorithms well and, more importantly, reading their output the way a careful practitioner should.

What t-SNE and UMAP actually do

Both are nonlinear dimensionality reduction algorithms that take high-dimensional expression data and produce a 2D embedding in which similar cells sit near each other.

  • t-SNE (t-distributed Stochastic Neighbor Embedding, van der Maaten 2008) preserves local structure. Cells with similar expression profiles end up as visual neighbors. Anything beyond immediate neighborhoods — the relative arrangement of distant clusters, the empty space between islands — is essentially arbitrary.
  • UMAP (Uniform Manifold Approximation and Projection, McInnes 2018) preserves local structure and some global structure. It typically runs about an order of magnitude faster than t-SNE, scales to 100K+ events comfortably, and supports projecting new samples onto an existing embedding.

Neither produces quantitative axes. “UMAP-1” and “UMAP-2” are not biological measurements. If you catch yourself writing “the cluster shifted up and to the right,” you are already in trouble.

Prerequisites: what to do before you hit run

Dimensionality reduction amplifies whatever you feed it. Garbage in, beautifully shaped garbage out. The prep sequence is non-negotiable:

  1. Compensation or spectral unmixing. Uncompensated spillover produces fake clusters along the spillover axis. If you skip this step, your UMAP will show structure that is pure instrument artifact. See our primer on spectral overlap and compensation for the mechanics.
  2. Pre-gating on live singlets. Debris, doublets, and dead cells dominate the embedding if you don’t remove them. They are heterogeneous in autofluorescence and scatter, so they spread into multiple phantom islands that eat your plot. Gate live-singlet first, then feed only those events to the algorithm.
  3. Transformation. Fluorescence intensities span 4–5 decades. Linear-scale data makes bright cells dominate the distance metric. Apply arcsinh (cofactor typically 150–6000 for fluorescence, 1000–6000 for mass cytometry) or logicle before running DR. FlowVS can compute per-marker arcsinh cofactors if you want to automate it.
  4. Subsampling. t-SNE is O(N log N) with Barnes–Hut approximation — practical up to ~50K events per sample. UMAP handles 100K+ without complaint. For a multi-sample study, concatenate samples first, then subsample, then run DR once. Running DR separately per sample produces non-comparable coordinate systems — a common and silent pitfall.
  5. Density-dependent downsampling if rare populations matter. Uniform random sampling loses rare subsets; SPADE-style density downsampling preserves them.

Parameter tuning: the knobs that actually matter

Defaults are reasonable but not universal. The parameters you will actually tune:

  • t-SNE perplexity — roughly “expected number of neighbors per point.” Flow cytometry defaults to 30, typical range 5–50. Lower perplexity fractures populations into many small islands; higher perplexity merges related populations. Try 30, then 50 if things look over-fragmented.
  • UMAP n_neighbors — same intuition. Default 15, typical flow range 15–50. Low values emphasize local detail; higher values emphasize global topology.
  • UMAP min_dist — minimum spacing between points in the embedding. Default 0.1. Lower values pack clusters tighter (good for dense visualization), higher values spread points (easier to see overlay density).
  • Random seed — both algorithms are stochastic. Fix the seed or your “reproducible” figure moves every rerun.

A reasonable workflow: run with defaults first, inspect, then vary one parameter at a time. If your clusters look identical across perplexity 20/30/50 and n_neighbors 15/30/50, you have robust structure. If they rearrange wildly, your panel may not carry enough information to separate the populations you care about.

How to read a t-SNE or UMAP plot correctly

This is where most of the field gets it wrong, including in published figures. Three rules:

Interpretation Trap The distance between two clusters on a t-SNE plot is meaningless. Adjacent clusters may be biologically distinct; distant clusters may be closely related. UMAP preserves somewhat more global structure, but inter-cluster distances are still not a biological metric. Never report “cluster A is closer to cluster B than to cluster C.”

1. Clusters are hypotheses, not populations. A visual island on a UMAP plot is a candidate for a real subset. Confirm it by back-gating: draw a polygon around the island, switch to traditional CD-marker bivariate plots, and verify the phenotype matches something biological. If an island is CD3−CD19−CD14−CD56−, it might be a novel subset — or it might be debris that slipped through pre-gating.

2. Do not count cells by cluster area on the map. UMAP compresses dense regions and expands sparse ones precisely so you can see rare populations. A small island might contain more events than a large diffuse cloud. Always report frequencies from manual gates, either drawn directly on the embedding or — better — back-projected to bivariate plots. See our write-up on automated gating for how downstream clustering tools handle this.

3. A specific pitfall the SERP rarely names: cluster shape is not biology either. Elongated clusters, “bridges” between islands, or ring structures are often artifacts of the algorithm’s optimization landscape, not continuous biological gradients. A bridge between two clusters does not imply a differentiation continuum. If you want to make a trajectory claim, use a trajectory-inference method (PAGA, Monocle) — not visual inspection of a UMAP.

Common pitfalls

  • Running DR per-sample instead of per-batch. Each sample gets its own coordinate system, so the “same” cluster lands in different places. Concatenate, then run once, then color by sample/condition.
  • Skipping transformation. Bright markers dominate, dim markers disappear. You will “discover” a structure that is really just CD45 intensity.
  • Forgetting the seed. Your supplementary figure doesn’t match the one in the manuscript because nobody pinned the random seed.
  • Treating axis values as measurements. Label axes “UMAP-1” and “UMAP-2” with no units. Never quote coordinate values in text.
  • Over-interpreting batch effects as biology. If samples from different days form separate clusters, you have a batch effect. Harmony, cyCombine, or similar correction should precede interpretation.
  • Using DR as the primary quantitative result. DR is exploratory. Final frequencies come from back-gated manual regions or from a proper clustering algorithm (FlowSOM, PhenoGraph) whose labels you overlay onto the embedding.

When to use t-SNE vs. UMAP

Practical defaults for 2026:

  • UMAP first, for almost everything. Faster, handles larger event counts, better at showing how populations relate across a full panel. Needed whenever you plan to project new samples onto an existing reference.
  • t-SNE when you need tight local structure. Separating closely related subpopulations (e.g., fine-grained memory T-cell subsets) where UMAP tends to blur them together. Also when reproducing or extending older published analyses that used t-SNE — reviewers will ask.
  • Neither, alone, for a quantitative result. Pair the embedding with FlowSOM or PhenoGraph clustering, overlay cluster labels on the UMAP for visualization, and report numbers from the clusters — not from the embedding geometry.

If you’re comparing tool support before you commit, our flow cytometry software comparison covers which platforms ship UMAP, FlowSOM, and back-gating workflows natively versus via plugins.

Further reading

For deeper technical treatment: the Springer clustering and dimensionality-reduction guide, the Nature Communications comparative analysis of DR methods, and the Frontiers in Immunology spectral workflow paper all cover the math and the empirical comparisons in depth.

Let Cytomaton handle the setup, not the interpretation

The parts of this workflow that are mechanical — pre-gating live singlets, arcsinh transformation with a configurable cofactor, running UMAP on gated populations, and overlaying FlowSOM cluster labels with biological annotations — are exactly where Cytomaton saves you the bench-work. The interpretation, the claims you make about cluster identity and biological meaning, stays with you. That’s the right division of labor.

Try Cytomaton

AI-assisted flow cytometry analysis that learns your gating style. Free during beta.

Join the beta