# Doublets and ambient RNA in single-cell data: how to detect and remove them
URL: https://omicsquest.com/insights/doublets-ambient-rna-single-cell/

How doublets and ambient RNA distort scRNA-seq and snRNA-seq results, and how to remove them with scDblFinder, DoubletFinder, CellBender, SoupX and EmptyDrops.

Key takeaways:
- Doublet rates rise roughly linearly with the number of cells loaded per lane; overloaded lanes need extra care.
- Heterotypic doublets (two different cell types) are the dangerous ones: they form fake intermediate clusters.
- Ambient RNA creates false markers and false differential expression, and nuclei preparations are especially affected.
- Run both corrections **per sample, before clustering**, then verify with lineage-exclusive markers.

Two technical artifacts cause more false biology in droplet-based single-cell data than any other: **doublets**, where two cells share one droplet, and **ambient RNA**, the free-floating transcripts that contaminate every droplet. Both are predictable, measurable and correctable. Both are also routinely skipped.

## Doublets: two cells, one barcode

During droplet encapsulation, some droplets capture more than one cell. The barcode then reports a mixed profile.

- **Homotypic doublets** (two cells of the same type) mostly inflate UMI counts and are relatively harmless.
- **Heterotypic doublets** (two different types) co-express both lineages' markers. They cluster together into small populations that sit between their parent clusters on a UMAP, which is exactly where you would expect a transitional state.

The doublet rate grows with the number of cells loaded. That is why labs that overload lanes to save cost, or super-load hashed samples, need careful doublet handling.

### How we detect doublets

1. **Simulation-based scoring.** scDblFinder and DoubletFinder create artificial doublets by combining random cells, then score each real barcode by its similarity to them. scDblFinder performs well in independent benchmarks and is our default.
2. **Run per sample.** Doublets only form within one capture lane, so detection must run lane by lane.
3. **Sample multiplexing.** With cell hashing or genotype demultiplexing (souporcell, vireo), cross-sample doublets are detected directly and help calibrate computational scores.
4. **Biological checks.** We look for co-expression of mutually exclusive markers (for example *PTPRC* with *EPCAM*), and for clusters whose UMI counts are about double those of their neighbors.

<div class="callout" markdown="1">
**What our experts avoid:** removing every cell above a UMI threshold as a "doublet filter". It removes large, transcriptionally active cells such as macrophages and hepatocytes, and misses doublets of two small cells.
</div>

## Ambient RNA: the soup in every droplet

When cells lyse during dissociation or loading, their mRNA floats in the suspension and is captured with every droplet. The ambient profile looks like a bulk average of the most abundant, most fragile cells.

Typical symptoms:

- hemoglobin genes (*HBB*, *HBA1*) in every cell type,
- immunoglobulin transcripts in T cells and epithelium near plasma cells,
- hepatocyte genes (*ALB*, *APOA1*) in every liver cell type,
- in brain nuclei, neuronal transcripts in glial cells.

Ambient contamination is worse in single-nucleus preparations, necrotic tumors, and tissues with fragile or highly secretory cells. When contamination differs between conditions, for example because diseased samples are more fragile, it creates false differential expression.

### How we correct ambient RNA

1. **Call cells properly first.** EmptyDrops-style testing separates low-RNA cells from empty droplets, and empty droplets give the ambient profile.
2. **Estimate and remove contamination.** CellBender (a deep generative model of the raw matrix) or SoupX (contamination fraction from marker genes or automatic estimation) per sample.
3. **Verify.** After correction, lineage-exclusive markers should become exclusive again. We plot them before and after as part of QC.
4. **Keep raw counts.** We keep both corrected and raw matrices so results can be compared.

## Order matters

Our pipeline order is: cell calling, then ambient correction, then doublet detection, then QC filtering, then normalization and clustering. Ambient correction before doublet scoring gives cleaner doublet calls. Both must happen before clustering, or the artifacts become clusters that steer every downstream decision.

## What the cost of skipping looks like

In one composite example from our rescue work, a "hybrid T cell-macrophage population" in a tumor dataset turned out to be about 71% doublets, and most of the rest was myeloid ambient RNA in necrotic samples. [Read the case study](/case-studies/novel-cluster-was-doublets/). The real finding, a smaller exhausted T-cell state, was only visible once the artifacts were removed.

## How OmicsQuest can help

Ambient RNA correction and doublet removal are standard in every [OmicsQuest single-cell project](/services/single-cell-rna-seq-analysis/), with before-and-after QC plots in your report. If you are not sure whether an existing analysis handled them, we can audit it from your objects or FASTQ files.

---
Source: https://omicsquest.com/insights/doublets-ambient-rna-single-cell/ | OmicsQuest, contact@omicsquest.com
