Tutorials › Statistical Methods for Single-Cell RNA Sequencing › An Integrated Workflow for Cell and Contamination QC

Quality Control, Doublets and Ambient RNA · Tutorial 46 of 700

An Integrated Workflow for Cell and Contamination QC

Learn to sequence cell and contamination QC decisions while preserving the raw data, recording thresholds, and checking how each decision affects the retained cells.

Intermediate 12 min read

What You'll Learn

  • Separate barcode calling from later decisions about cell quality and doublets.
  • Review per-cell metrics with explicit, sample-aware thresholds.
  • Keep doublet assessment tied to uncorrected counts and record uncertain calls.
  • Apply ambient RNA correction without treating correction as a substitute for cell filtering.
  • Retain diagnostic plots, thresholds, and cell-level decision records.
  • Use sensitivity checks to identify conclusions that depend on borderline decisions.

Why QC Decisions Need an Order

Single-cell quality control is not one filter applied to one matrix. It is a sequence of decisions about which barcodes likely contain cells, which called cells have usable profiles, which may be doublets, and how to account for ambient RNA. These decisions affect one another. For example, empty droplets help characterize the ambient profile, while doublet scores can depend on the cell population supplied to the scoring method. A defensible workflow therefore records the input, rule, and result for each stage rather than silently replacing one matrix with another.

The goal is not to make every retained cell look alike or to remove every unusual profile. It is to reduce identifiable technical problems while preserving plausible biological variation. Thresholds should be chosen for the library and assay under study, with diagnostics and sensitivity checks, not copied as universal constants.

Definition: A barcode is an index used to identify a droplet or cell-associated partition. A called barcode is one classified as containing a cell, rather than an empty droplet, by a specified barcode-calling procedure. A called barcode is not automatically a high-quality singlet. A QC decision record stores, for each barcode, its relevant measurements, flags, decision, and the rule or threshold that produced that decision.

Let \(y_{gi}\) denote the observed count for gene \(g\) in barcode \(i\), before ambient RNA correction. Common per-barcode summaries include total counts \(N_i=\sum_g y_{gi}\), the number of detected genes, and the proportion of counts assigned to mitochondrial genes. These summaries help identify profiles for review, but none alone proves that a barcode is a cell, a damaged cell, or a doublet. The workflow below assumes that the count matrix and barcode-level metadata are available, that empty droplets have not been discarded before ambient-profile estimation, and that each library is assessed with suitable assay-specific context.

A Defensible Sequence of Decisions

1
Call barcodes.
Use the raw droplet information and a documented calling procedure to distinguish candidate cell-containing barcodes from background. Preserve the raw matrix and the empty-droplet information needed for ambient RNA estimation.
2
Review cell metrics.
For called barcodes, inspect distributions and relationships among total counts, detected genes, and other assay-appropriate metrics. Set and record provisional low-quality flags; investigate unusual patterns rather than relying on a single cutoff.
3
Assess doublets.
Apply a documented doublet-scoring and calling strategy to the appropriate uncorrected cell-count input. Retain scores and call status, and examine ambiguous cases and population-level diagnostics before deciding how to handle them.
4
Estimate and correct ambient RNA.
Estimate the ambient profile from appropriate background information and apply a named correction method to the selected cell matrix. Preserve uncorrected counts and correction outputs as separate data layers.
5
Review diagnostics and finalize.
Check post-correction diagnostics, reconcile flags, document exclusions and retained borderline cells, and assess whether key downstream summaries change under reasonable alternative decisions.

This order is a practical default, not a claim that all methods are independent. Barcode calling and ambient-profile estimation use information from droplets that may not be retained as cells. Doublet detection should not be based only on ambient-corrected data unless the method has been validated for that input: correction can change features that contribute to doublet evidence. Conversely, the presence of ambient RNA can affect observed profiles, so it should be considered when interpreting scores and diagnostics. Record the exact inputs and do not assume that one stage repairs a problem created in another.

Barcode Calling and Cell-Metric Review

Barcode calling is a classification decision made from droplet-level evidence, such as count distributions or a specified cell-calling algorithm. Its assumptions include that the input retains enough background barcodes to characterize the non-cell distribution and that the procedure is appropriate to the library. A count threshold may be a transparent teaching example, but it is not a universal barcode-calling rule: libraries differ in depth, loading, and background. Examine the called and uncalled barcode distributions and retain the method, parameters, and resulting barcode list.

After calling, assess cell metrics within relevant library or sample groups. A low count total or few detected genes may indicate a poor-quality profile, but may also reflect a genuinely low-RNA cell type or sequencing depth. A high mitochondrial proportion can be a warning sign, yet its interpretation depends on tissue, preparation, and cell type. High counts or many detected genes may suggest a doublet, but can also occur in large or transcriptionally active cells. Use combinations of metrics, their distributions, and biological context; state thresholds before applying them and record whether they are provisional or final.

Worked Example: Calling Candidate Barcodes With an Explicit Rule

Suppose a hypothetical library has been reviewed with a documented, simple teaching rule: a barcode is provisionally called if it has at least 500 total counts and at least 250 detected genes. The rule is assumed to be suitable for this hypothetical library; it is not offered as a general recommendation. Three barcodes have these measurements: A, 620 counts and 280 genes; B, 480 counts and 310 genes; C, 900 counts and 240 genes.

Barcode A meets both conditions, since \(620\geq500\) and \(280\geq250\), so it is called under this rule. B fails the count condition, \(480<500\), and C fails the detected-gene condition, \(240<250\). They are not called by this particular rule. The arithmetic specifies what the rule does; it does not establish that B and C are biologically empty. The decision should be checked against the barcode-level count distribution and the calling method’s assumptions before being finalized.

Worked Example: Applying and Interpreting Cell-Metric Flags

In a hypothetical called-cell set, an analyst provisionally flags a cell if it has fewer than 300 detected genes or a mitochondrial proportion above 20%. Cell A has 1,200 total counts, 500 detected genes, and 180 mitochondrial counts. Cell B has 500 total counts, 220 detected genes, and 110 mitochondrial counts.

For A, the mitochondrial proportion is \(180/1200=0.15\), or 15%. It has at least 300 detected genes and no more than 20% mitochondrial counts, so it is not flagged by these two rules. For B, the proportion is \(110/500=0.22\), or 22%; it also has fewer than 300 detected genes. B is flagged by both rules. These flags indicate that B merits review under the stated criteria; they do not prove that it is empty or should automatically be removed. The analyst should inspect the library’s metric distributions and relevant biological context before making the final exclusion decision.

Doublet Assessment and Ambient RNA Correction

A doublet is a barcode containing material from more than one cell. Score-based detection methods, their calibration, and their diagnostics provide evidence for a call, not infallible ground truth. In the integrated workflow, retain the score, call, method, parameters, and any calibration information. A score should not be described as a probability unless the method actually provides a calibrated probability with that interpretation. Review score distributions and cluster-level patterns, and treat uncertain cases explicitly. Depending on the analysis, a flagged barcode may be excluded, retained with a flag, or examined in a sensitivity analysis.

Ambient RNA consists of RNA molecules in droplets that do not originate from the cell assigned to that barcode. Correction methods estimate and adjust for this contribution, but their outputs depend on their assumptions and inputs. Use suitable background barcodes to estimate the ambient profile where the method requires them. Apply correction to a clearly specified set of called-cell counts, and keep the raw counts unchanged. The correction is not a reason to discard empty-droplet information, and it is not a replacement for cell-quality review or doublet assessment.

Justification for retaining uncorrected counts: A correction changes the observed count profile. If a doublet score is a function \(S_i=f(y_{\cdot i})\) of the gene-count vector \(y_{\cdot i}\), then in general \(f(y_{\cdot i})\neq f(\tilde y_{\cdot i})\), where \(\tilde y_{\cdot i}\) is the corrected vector. The change may alter the score even when the barcode has not changed. Therefore, record whether scoring used raw or corrected counts, and use the input for which the scoring method is intended or validated.

A simple calculation can illustrate what an ambient estimate means without prescribing a correction algorithm. If the estimated ambient fraction for a cell is \(\rho_i\), its total count is \(N_i\), and the ambient profile assigns proportion \(a_g\) to gene \(g\), then the estimated ambient contribution for that gene is \(\rho_iN_i a_g\). This is an expectation under the estimated mixture, not a guarantee that a particular molecule came from the ambient pool. Correction methods may allocate counts differently, so the calculation is useful for interpretation and diagnostics, not as a substitute for implementing a named method.

Worked Example: Interpreting an Ambient Contribution Estimate

Suppose, hypothetically, a cell has \(N_i=2{,}000\) counts, the estimated ambient fraction is \(\rho_i=0.08\), and a marker gene makes up \(a_g=0.10\) of the estimated ambient profile. The expected ambient contribution for that gene is $$ \rho_iN_i a_g=0.08\times2{,}000\times0.10=16 $$ counts. If the observed count for the gene is 30, this calculation says that the estimated ambient component is 16 counts under the stated mixture estimate. It does not establish that exactly 16 observed molecules were ambient, nor does it imply that every correction method will return a corrected count of 14. The method-specific corrected output and its diagnostics must be examined separately.

Diagnostics, Alternatives, and Failure Modes

For each stage, retain evidence that allows another analyst to understand and revisit the decision. Useful records include the barcode-calling method and parameters; per-barcode count and gene metrics; the chosen metric thresholds; doublet scores and call rules; ambient-profile inputs and correction settings; and pre- and post-correction summaries. Keep raw counts, corrected counts, and exclusion flags distinct. A single overwritten matrix makes it difficult to identify whether a change came from filtering, doublet removal, or correction.

Diagnostics should match the decision. For barcode calling, inspect the separation and overlap between called and background barcodes. For metric review, examine distributions and joint plots rather than only a table of pass/fail totals. For doublets, inspect score distributions and cluster-level enrichment; a concentration of calls in one cluster can be a warning to investigate, not automatic proof of error. After ambient removal, review the diagnostics of the correction method, including whether estimated contamination is plausible and whether expected ambient-associated expression is reduced without indiscriminate loss of coherent cell-associated signal.

A short justification for keeping these stages distinct follows from the different questions they answer. Barcode calling asks whether a droplet likely contains a cell; metric review asks whether its profile meets specified usability criteria; doublet assessment asks whether multiple cells may contribute to a profile; ambient correction estimates non-cell-associated RNA in an accepted profile. Since the target of each decision differs, passing one stage does not imply passing the others. In particular, correcting a barcode does not turn an empty droplet into a cell or a doublet into a singlet.

ApproachUseful featureMain limitation
Fixed thresholds on cell metricsTransparent and easy to reproduceCan be inappropriate across libraries or cell types; marginal cells may be misclassified
Distribution- or algorithm-based barcode callingUses droplet-level evidence to separate candidate cells from backgroundDepends on the quality of background information and method assumptions
Doublet scoring and calibrated callsProvides a systematic signal for likely multi-cell barcodesScores and calls depend on method, input, and calibration; they are not certain labels
Ambient RNA correctionAdjusts counts for an estimated contamination componentDepends on an estimated ambient profile and method-specific assumptions; cannot recover an unobserved true expression profile exactly

Common failure modes include using one threshold for every library without checking distributions; discarding low-count barcodes before estimating ambient RNA; interpreting a doublet score as a certainty; scoring only corrected data without checking method suitability; and treating a corrected count matrix as ground truth. Another mistake is to remove every borderline barcode and report only the final number. Instead, retain the flags and evaluate whether reasonable alternative thresholds or handling of uncertain cases materially change the analysis. Such sensitivity checks reveal dependence on QC choices; they do not prove that one choice is correct.

Key takeaway: Make barcode calling, cell-quality review, doublet assessment, and ambient RNA correction separate, documented decisions. Preserve raw data and decision-level diagnostics, state thresholds in context, and check how borderline choices affect the retained set and downstream summaries.

Check Your Understanding

Answer each question, then compare your reasoning with the solutions.

  1. A barcode passes the cell-calling rule but has few detected genes. Does passing the calling rule establish that it is a high-quality cell?
  2. For a cell with 1,500 total counts and 225 mitochondrial counts, calculate the mitochondrial proportion. If the stated review threshold is above 15%, does this metric flag the cell?
  3. Why should an analyst record whether doublet scoring used raw or ambient-corrected counts?
  4. A correction method estimates an ambient fraction of 0.05 for a cell with 1,000 counts. A gene accounts for 0.20 of the ambient profile. What is its estimated ambient contribution?
  5. Give two reasons to retain borderline barcodes and their QC flags rather than silently deleting them.

Solutions. (1) No. Calling identifies a candidate cell-containing barcode; cell quality is reviewed separately. (2) The proportion is \(225/1{,}500=0.15\), or 15%. A rule that flags values strictly above 15% does not flag a value equal to 15%. (3) Correction changes the count profile, which can change a score; recording the input makes the call interpretable and reproducible. (4) The estimate is \(0.05\times1{,}000\times0.20=10\) counts. It is an estimated contribution, not an exact molecule assignment. (5) Retaining flags makes the decision auditable and allows sensitivity checks of how alternative handling affects the retained cells or subsequent summaries.

Clinical Biostats