Validation
Checked against the tools you already trust.
Reviewers ask “would Seurat, Scanpy or the original R package have given the same answer?” For each method below, scView was run beside that package on public data, and the table says how closely the two agree. “Identical” means the same numbers; “to 1e-13” means they agree to 13 decimal places.
Each row: the reference implementation and version, the agreement metric, the public dataset, and the CHANGELOG entry or module docstring on main that recorded it. The bars count matching decimal places out of 16 (double precision). Where scView deliberately differs from the reference, the row says so.
Quality control
| Step | Agreement | Reference | Data | Source |
| Barcode ranksDid the run capture cells well? | to 1e-10 | DropletUtils barcodeRanks (knee, inflection) | pbmc_1k_v3; every metric equals the Cell Ranger summary | CHANGELOG 0.32.0 |
| Ambient RNABackground RNA in every droplet | to 1e-16 | R SoupX 1.6.2: soup profile; adjustCounts to 5e-11 | 10x pbmc, heart and neuron 1k | ambient.py |
| Doublet scoresDroplets that hold two cells | Identical | sc.pp.scrublet (scanpy 1.11), bitwise | Kang 2018, paul15 | CHANGELOG 0.33.0 |
| Doublet classifierA second, independent doublet call | 0.948 | AUC; R scDblFinder scores 0.951 | 10x human + mouse mix | CHANGELOG 0.35.0 |
| Sample hashtagsWhich sample each cell came from | Every cell | same class and tag as Seurat 5.1.0 HTODemux and DropletUtils 1.24 hashedDrops | GSE108313, 20,238 cells | hashing.py |
Clusters and cell types
| Step | Agreement | Reference | Data | Source |
| Marker genesThe genes that define each group | Identical | scanpy rank_genes_groups (Wilcoxon, t-test) | 100k cells in 15 s instead of 2.5 min | CHANGELOG 0.34.0 |
| Copy-number callsTumour cells from normal cells | 0.9999996 | Pearson vs infercnvpy 0.6.1 per-cell scores | maynard2020_3k | CHANGELOG 0.39.0 |
Differences between conditions
| Step | Agreement | Reference | Data | Source |
| Pseudobulk limma-voomGene changes with donors as replicates | to 1e-9 | TMM, voom and moderated t vs edgeR 4.10 / limma 3.68 | Kang 2018 | CHANGELOG 0.41.0 |
| Cell-type proportionsDid a population really grow? | Exact | propeller-style test vs R limma, “to numerical precision” | robust eBayes | CHANGELOG 0.18.0 |
| Neighbourhood abundanceShifts too small to be a cluster | to 5e-7 | Milo vs pertpy (pydeseq2 solver); edgeR logFC r = 0.989 | Kang, 779 neighbourhoods | milo.py |
Pathways and signals
| Step | Agreement | Reference | Data | Source |
| TF and pathway activityWhich regulators are switched on | to 1e-5 | decoupler univariate linear model, “to 5 decimals” | CollecTRI, PROGENy | CHANGELOG 0.15.0 |
| Gene-set scoresHow active a set of genes is in each cell | Identical | decoupler aucell | 9 gene sets on Kang and paul15 | CHANGELOG 0.31.0 |
| Cytokine responseWhich signals drive a response | 0.9997 | Spearman of z-scores vs CytoSig 0.0.3 | Kang: 13 cell types × 43 cytokines | cytokine_activity.py |
| Cell–cell signallingWhich cells talk to which | Identical | liana-py 1.10 method scores, CellPhoneDB p, specificity rank | Kang 2018, paul15 | CHANGELOG 0.26.0 |
Datasets together
| Step | Agreement | Reference | Data | Source |
| BBKNN integrationLining up batches | Identical | bbknn 1.6.0 (max difference 0); Scanorama within 1.8e-6 of 1.7.4 | Kang 2018 | batch_methods.py |
| “Not in reference” flagCells the reference has never seen | 36% vs 4% | B cells held out of the reference: B cluster flagged 36%, elsewhere at most 4% | Kang 2018 | CHANGELOG 0.36.0 |
Immune repertoire and screens
| Step | Agreement | Reference | Data | Source |
| ClonotypesWhich T or B cells share an ancestor | One-to-one | scirpy 0.22 CDR3 amino-acid definition | 10k-cell 10x PBMC run | CHANGELOG 0.32.0 |
| CRISPR screensWhich knockouts actually worked | 99.3% | same class as pertpy 1.0.3 Mixscape (99.65% with exact neighbours) | Papalexi 2021, 20,729 cells, 25 targets | CHANGELOG 0.41.0 |
The co-pilot
| Step | Agreement | Reference | Data | Source |
| Claims checkIs each sentence backed by a fact? | 0 refuted | 126 of 194 claims confirmed by rule; the rest left for the judge | 23 answers on Kang, pbmc_1k_v3, ovary | CHANGELOG 0.19.0 |
Checks are rerun when a method changes; the CHANGELOG entry of that release records the new number. Found a disagreement? Open an issue.