# 12 mistakes that ruin single-cell RNA-seq analyses, and how experts avoid them
URL: https://omicsquest.com/insights/single-cell-rna-seq-mistakes/

The scRNA-seq errors we fix most: pseudoreplication, doublets called new cell types, ambient RNA, over-integration, fixed QC cutoffs, UMAP myths.

Key takeaways:
- Most single-cell errors are not coding bugs. They are statistical or biological mistakes that look plausible.
- The two most damaging: **pseudoreplication** in differential expression and **doublets reported as novel cell types**.
- Every artifact (ambient RNA, doublets, stress, batch) can form a convincing cluster.
- A biologist reviewing annotations catches problems that QC metrics miss.

We re-analyze a lot of single-cell data, often after a reviewer has raised concerns or when a result cannot be reproduced. The same twelve mistakes appear again and again. None of them shows up as an error message. They all produce attractive UMAPs and long gene lists. Here is what goes wrong and what our analysts do instead.

## 1. Treating cells as biological replicates

**The mistake:** comparing conditions with a cell-level test (Wilcoxon, t-test, default `FindMarkers`) when cells come from a handful of donors or animals.

**Why it matters:** cells from one animal share that animal's genotype, environment and handling. Treating 5,000 cells as 5,000 replicates massively overstates confidence. Squair and colleagues showed that such tests produce many false discoveries, especially for highly expressed genes, and Zimmerman and colleagues showed that ignoring donor structure inflates type I error.

**What we do:** aggregate counts per sample and cell type (pseudobulk) and test with DESeq2, edgeR or limma, or fit mixed models with donor as a random effect. [Read the full pseudobulk guide](/insights/pseudobulk-differential-expression-single-cell/).

## 2. Reporting doublets as a new cell type

**The mistake:** describing a cluster that co-expresses markers of two lineages (for example *CD3E* with *CD68*, or epithelial with immune genes) as a hybrid, transitional or novel state.

**What we do:** run per-sample doublet detection (scDblFinder, DoubletFinder), check UMI counts (doublets have roughly the combined content of two cells), and test whether the "intermediate" profile is a simple sum of its neighbors. Our [doublet case study](/case-studies/novel-cluster-was-doublets/) shows how this plays out.

## 3. Skipping ambient RNA correction

**The mistake:** annotating and testing without removing background transcripts.

**Why it matters:** ambient RNA creates false markers, such as hemoglobin in every cell type or immunoglobulins in T cells, and creates false differential expression when samples differ in cell lysis.

**What we do:** CellBender or SoupX per sample, verified by checking that lineage-exclusive markers become exclusive. See our [doublets and ambient RNA guide](/insights/doublets-ambient-rna-single-cell/).

## 4. One global QC threshold for everything

**The mistake:** removing every cell above 10% mitochondrial reads, or below 500 genes, across all samples and cell types.

**What we do:** sample-specific MAD-based thresholds, followed by a check of which cell types were removed. If one population disappears, the threshold is wrong for it.

## 5. Over-correcting batch effects

**The mistake:** integrating so aggressively that disease and control cells overlap perfectly, which removes the condition effect you want to study.

**What we do:** benchmark integration methods with scIB batch and biology metrics, and verify that known condition-specific populations still separate. Integration is for aligning shared cell types, not erasing differences. More in our [integration guide](/insights/single-cell-batch-correction-integration/).

## 6. Not integrating when you should

The opposite mistake: analyzing multiple samples without integration and reporting sample-specific clusters as biology. If a cluster comes almost entirely from one sample, it is a batch effect until proven otherwise.

## 7. Reading meaning into UMAP distances

**The mistake:** "Cluster A is close to cluster B, so they are related." UMAP preserves local neighborhoods, but global distances and cluster sizes are largely arbitrary.

**What we do:** use graph-based measures (PAGA connectivity), trajectory methods or shared clonal information to make claims about relationships.

## 8. Letting clustering resolution decide biology

**The mistake:** running Leiden once at the default resolution and naming every cluster.

**What we do:** cluster at several resolutions, track splits with clustering trees, check stability, and merge clusters that lack distinct markers. The number of cell types is a biological conclusion, not a parameter default.

## 9. Annotating by cluster number and one marker

**The mistake:** "Cluster 7 expresses *GFAP*, so it is astrocytes." Single markers are rarely specific, and many cell types share them.

**What we do:** annotation with marker panels, reference mapping and a cell biologist's review, with confidence levels for each label.

## 10. Comparing raw cell-type proportions

**The mistake:** a t-test on the percentage of each cell type per condition. Proportions are compositional: if one population expands, every other proportion falls, even when nothing else changed.

**What we do:** compositional methods (scCODA, propeller) and neighborhood-level differential abundance (Milo), with biological replicates as the unit.

## 11. Treating RNA velocity arrows as proof

**The mistake:** using velocity streamlines as evidence that cells differentiate in a particular direction.

**Why it matters:** velocity models assume transcription kinetics that many systems violate, including cells with multiple kinetic regimes, mature cells and pulsed expression. Arrows can point the wrong way.

**What we do:** check per-gene fits, compare with known biology and lineage information, and present velocity as a hypothesis.

## 12. Reporting raw ligand-receptor lists

**The mistake:** listing hundreds of predicted interactions from one tool as findings.

**Why it matters:** Dimitrov and colleagues showed that cell-cell communication methods and resources disagree substantially. A long, single-tool list is mostly noise.

**What we do:** consensus scoring (LIANA), restriction to expressed and biologically plausible pairs, and, most usefully, comparison of signaling between conditions with replicate-aware statistics.

## The common thread

Each of these mistakes gives a clean-looking result. They are caught by combining statistics that respect the design with a biologist asking whether the result makes sense. That is why every [OmicsQuest single-cell project](/services/single-cell-rna-seq-analysis/) is staffed by a bioinformatician and a cell biologist. If a reviewer has raised one of these issues, see how we [rescued a pseudoreplication problem in one week](/case-studies/pseudoreplication-reviewer-rescue/).

---
Source: https://omicsquest.com/insights/single-cell-rna-seq-mistakes/ | OmicsQuest, contact@omicsquest.com
