Doublets and ambient RNA in single-cell data: how to detect and remove them
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
- 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.
- Run per sample. Doublets only form within one capture lane, so detection must run lane by lane.
- Sample multiplexing. With cell hashing or genotype demultiplexing (souporcell, vireo), cross-sample doublets are detected directly and help calibrate computational scores.
- 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.
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.
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
- Call cells properly first. EmptyDrops-style testing separates low-RNA cells from empty droplets, and empty droplets give the ambient profile.
- 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.
- Verify. After correction, lineage-exclusive markers should become exclusive again. We plot them before and after as part of QC.
- 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. 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, 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.
Frequently asked questions
What doublet rate should I expect in 10x data?
10x Genomics documentation describes multiplet rates of roughly 0.8% per 1,000 cells recovered for standard Chromium chips, so about 8% at 10,000 recovered cells. Lanes loaded more heavily, for example with cell hashing, have proportionally higher rates, which demultiplexing can partly detect.
CellBender or SoupX?
Both work. CellBender models the full raw count matrix and removes background and empty droplets jointly; it needs more compute, ideally a GPU. SoupX is fast and transparent, and works well when the ambient profile is estimated from empty droplets. We choose per dataset and verify the effect with lineage-exclusive markers.
Work with OmicsQuest. Related services:
References
- Germain PL, Lun A, Garcia Meixide C, Macnair W, Robinson MD. Doublet identification in single-cell sequencing data using scDblFinder. F1000Research. 2021;10:979.
- McGinnis CS, Murrow LM, Gartner ZJ. DoubletFinder: doublet detection in single-cell RNA sequencing data using artificial nearest neighbors. Cell Syst. 2019;8:329-337.
- Fleming SJ, Chaffin MD, Arduini A, et al. Unsupervised removal of systematic background noise from droplet-based single-cell experiments using CellBender. Nat Methods. 2023;20:1323-1335.
- Young MD, Behjati S. SoupX removes ambient RNA contamination from droplet-based single-cell RNA sequencing data. GigaScience. 2020;9:giaa151.
- Lun ATL, Riesenfeld S, Andrews T, et al. EmptyDrops: distinguishing cells from empty droplets in droplet-based single-cell RNA sequencing data. Genome Biol. 2019;20:63.
- Zheng GXY, Terry JM, Belgrader P, et al. Massively parallel digital transcriptional profiling of single cells. Nat Commun. 2017;8:14049.