Skip to main content

Benchmark Results

Comprehensive evaluation of all five decontamination pipelines across five real scRNA-seq datasets using eight quantitative metrics.

Datasets

DatasetCellsKey Property
toy_pbmc62In-repo toy data; fast regression testing
pbmc_10k11,769Near-zero ρ baseline; healthy PBMC
hgmm1,020Human + mouse barnyard; exact per-cell ground truth
fetal_liver3,694HBB-dominated soup; cell-type-level ground truth
rep1_zenodo_gt21,819CAST allele contamination; largest dataset

Pipelines

LabelFunctionType
baselineOriginal SoupX workflowGlobal ρ
upg-autoauto_est_contGlobal / per-cluster ρ
upg-doubletauto_est_cont_doublet_awareGlobal / per-cluster ρ
upg-iterativeiterative_auto_est_contGlobal / per-cluster ρ
upg-decontxrun_decontxPer-cell ρ
upg-genehetrun_decontx_genehetPer-cell ρ

Pipeline Overview

The diagram below shows how the six pipelines relate to each other, branching from the core SoupChannel loader.

Pipeline architecture diagram

Figure 1 - Pipeline architecture. All paths share the same I/O layer and SoupChannel container.


Contamination Fraction Estimation

How much contamination does each pipeline detect?

Rho comparison across pipelines and datasets

Figure 2 - Mean contamination fraction (ρ) per pipeline per dataset. Error bars show standard deviation; DecontX-based methods have non-zero std because ρ is estimated per-cell.

Key observations

  • All upgraded pipelines detect higher contamination than the baseline on real datasets (2–5× higher ρ on pbmc_10k and fetal_liver).
  • DecontX per-cell ρ has high variance (std ≫ 0), correctly capturing that different cell types are contaminated to different degrees.
  • upg-genehet on hgmm assigns very low mean ρ (0.0052) because the reweighted soup profile focuses only on the most discriminative ambient genes - fewer genes "count" toward contamination, but the ones that do are highly specific.
  • Estimated ρ on toy_pbmc is 0.068 (upg-auto) vs 0.015 (baseline) - the small dataset demonstrates how the Bayesian prior pulls results toward the mode without anchoring too strongly.

Metric Overview

All eight metrics across all pipelines and datasets in a single heatmap.

Metric heatmap across all pipelines and datasets

Figure 3 - Heatmap of all 8 benchmark metrics (rows) across all pipeline × dataset combinations (columns). Green = improvement over uncorrected; red = regression. Grey = metric not applicable for this dataset.

Reading the heatmap

  • M2 (marker fold change) - all upgraded pipelines improve marker specificity on every real dataset.
  • M3 (cluster ARI) - upg-iterative consistently achieves the highest ARI; DecontX-based methods sacrifice some cluster preservation for per-cell accuracy.
  • M5 (HBB reduction) - upgraded methods remove 2–10× more haemoglobin contamination than baseline on pbmc_10k and fetal_liver.
  • M7 (spurious DE) - the most striking metric; see Spurious DE section below.

Ground Truth Accuracy

For two datasets we have external ground truth: exact per-cell species labels (HGMM barnyard) and CAST allele contamination measurements (rep1_zenodo).

Ground truth accuracy metrics

Figure 4 - Ground truth MAE (lower is better) and Pearson correlation with ground truth (higher is better) for HGMM and rep1_zenodo datasets.

HGMM barnyard ground truth MAE

PipelineGT MAE ↓Improvement vs baseline
baseline0.848-
upg-auto0.53537% lower
upg-doublet0.53537% lower
upg-iterative0.53537% lower
upg-decontx0.44448% lower
upg-genehet0.8302% lower

DecontX achieves the best ground truth accuracy on the barnyard dataset because its per-cell model can assign different ρ values to human and mouse cells independently - the contamination pattern differs by cell type in this experiment.

rep1_zenodo (CAST allele ground truth)

PipelineGT MAE ↓GT Pearson ↑
baseline9.21-
upg-auto10.7-
upg-decontx10.90.106
upg-genehet10.90.137

Note: upg-auto has slightly higher MAE than baseline on this dataset. The Zenodo dataset has very sparse CAST allele signal; the upgraded pipelines estimate higher ρ overall, which slightly overshoots the CAST contamination. The Pearson correlations for DecontX and genehet confirm that per-cell methods capture meaningful signal in this dataset.


Cluster Preservation

How well do the corrected count matrices preserve the original clustering?

Cluster quality ARI scores

Figure 5 - Adjusted Rand Index (ARI) after clustering corrected counts, compared to the baseline cluster assignment. Higher = original cluster structure better preserved.

ARI by dataset

Datasetbaselineupg-autoupg-iterativeupg-decontxupg-genehet
toy_pbmc0.9180.9570.9570.6310.655
pbmc_10k0.7390.7140.7270.7310.717
hgmm0.8860.9610.9610.5980.964
fetal_liver0.5940.6990.7890.5460.567
rep1_zenodo0.6670.8360.8590.5720.578

upg-iterative achieves the highest ARI on every dataset. The iterative soup profile refinement removes the most contamination while converging on a ρ estimate that keeps cluster structure intact.

DecontX-based methods show lower ARI because the per-cell ρ correction redistributes counts differently across cells, shifting some cells across cluster boundaries - but this is expected and acceptable since these cells genuinely had different contamination levels.


Overall Comparison

Radar chart summarising all metrics per pipeline

Figure 6 - Radar chart aggregating all eight metrics across all datasets per pipeline. Each axis is normalised to [0, 1] where 1 is the best observed value.

The radar chart reveals complementary strengths: no single pipeline dominates all metrics.


Spurious DE Reduction

The most dramatic result comes from the HGMM barnyard dataset where exact per-species labels allow us to measure spurious cross-species DE genes:

PipelineSpurious DE genes ↓
baseline347
upg-auto81
upg-doublet81
upg-iterative81
upg-decontx84
upg-genehet8
Key finding

upg-genehet reduces spurious DE genes from 347 → 8 - a 98% reduction - by reweighting the soup profile to amplify genes with genuine ambient specificity.

The gene-heterogeneity module suppresses genes that appear in both soup and cells (ambiguous), leaving only the truly soup-specific signal. This removes nearly all the artificial human/mouse cross-expression that bloated the DE gene list.


HBB Contamination Removal

Haemoglobin genes (HBB, HBA1, HBA2) are the canonical soup contaminant in blood-tissue experiments. All upgraded methods remove substantially more HBB contamination than the baseline:

Datasetbaseline M5%upg-auto M5%upg-iterative M5%
pbmc_10k11.6%25.8%25.8%
fetal_liver80.9%115.8%99.5%
hgmm---

upg-auto slightly over-corrects on fetal_liver (>100% is technically possible when subtraction exceeds observed counts), but the iterative method converges to a more conservative estimate.


Conclusions

Summary
  • Use upg-iterative as your default: best cluster preservation (highest ARI) across all tested datasets.
  • Use upg-decontx when you have a heterogeneous tissue with barnyard-style ground truth: achieves the best MAE.
  • Use upg-genehet when spurious DE genes are the primary concern: 98% reduction on HGMM.
  • Use upg-doublet when you expect high doublet rates; it otherwise matches upg-auto.

No single pipeline wins on all metrics simultaneously. The right choice depends on your experimental context:

GoalRecommended pipeline
Best cluster structureupg-iterative
Best ground truth accuracyupg-decontx
Minimise spurious DEupg-genehet
Fast, general-purposeupg-auto
High doublet rateupg-doublet