Pseudoreplication
The donor that faked a discovery
The stated claim
“GENE_1999 is up-regulated in condition A vs B (cell-level DE, p < 1e-30).”
benchmark case C2_pseudoreplicationDeciding evidence
Thousands of cells, a handful of donors — the effect collapses at the donor-level DESeq2 pseudobulk axis.
Critical axis: donor-level pseudobulk. A break here is a pseudoreplication false positive and cannot be outvoted by the cell-level grid.
A cell-level test treats every cell as an independent replicate. But cells within a donor are correlated, so a signal carried by one or two donors looks astronomically significant at the cell level and vanishes when you aggregate to the donor. This is the classic single-cell false positive.
What the engine does
The claim arrives
A differential-expression hit with a p-value so small it looks unassailable — computed across tens of thousands of cells.
VERITAS reruns the multiverse
The finding survives QC, normalization, DE-test, and clustering axes at the cell level. On its own, that grid would say green.
The donor-level pseudobulk axis fires
Aggregating counts to donor-level pseudobulk and re-testing with DESeq2, the effect is no longer significant — it rode on a couple of donors.
The critical-axis override caps the verdict
Because the pseudobulk axis is critical, its break cannot be outvoted by the cell-level grid. The engine reports DOES NOT SURVIVE and surfaces the corrected donor-level analysis.
What the scientist does next
The scientist re-designs around donor-level replication before making the claim — catching the error before a reviewer, or a retraction, does.
Verify your own finding
Run a bundled sample of this exact failure mode in the console, or open the validation atlas to see how it is graded.