← Back to the vault

Lab Note · updated 2026-06-20

Verification — A Pipeline You Can Re-Run

Verification is the engineering discipline of making a microscopy pipeline deterministic, version-pinned, and re-executable from a provenance record. Without it, every result is a one-off, and "we changed nothing" is unprovable.

MetadataQCReportCell PaintingDigital PathologyLight-Sheet 3D/4DSpatial OmicsSnakemakeOME-NGFFMicro-Meta App
← Back to constellation

The problem — Most microscopy analysis is run once, by hand, on one workstation, and the result is trusted because it looks right. Verification is the opposite stance: a result counts only if the same inputs, re-run, reproduce the same outputs — and you can show why each output is what it is. Without that, "we changed nothing between batches" is an article of faith, not a fact, and the first time a number moves you cannot tell whether the biology changed or the software did.

What it is / how it works — A verified pipeline pins and records four things, so any run is re-executable from its provenance:

  • Code and environment — exact versions of every package, container, and model weight, not "latest." The danger is silent drift: a dependency bump that quietly changes a result.
  • Parameters and configuration — every threshold, seed, and tile size captured as data, because configuration debt is where reproducibility quietly dies.
  • Determinism — controlled random seeds and, where GPU non-determinism matters, awareness that the same model can produce different masks across runs unless pinned.
  • Provenance and acquisition metadata — the run manifest: instrument, acquisition settings, and processing lineage, distinguishing provenance metadata (how it was made) from quality metadata (how good it is), aligned to OME/NGFF and QUAREP-LiMi so a run is interpretable by someone who wasn't there.

The unifying idea from Sculley et al. is that data dependencies are more dangerous than code dependencies, and most of a system is not the model — it is glue, configuration, and undeclared consumers. Verification is the engineering practice that keeps that surface under control: declarative workflows (e.g. Snakemake), pinned environments, regression tests on fixed inputs, and a manifest emitted with every result.

Where it breaks — Verification fails quietly because nothing errors — the pipeline runs, just differently. In Cell Painting, an unpinned illumination-correction or feature-extraction version shifts profiles across plates and is misread as a batch effect. In digital pathology, a scanner firmware or stain-normalization change moves slide-level scores with no code diff to blame. In light-sheet, a deconvolution library update alters segmentation in deep volumes that no one re-checks. In spatial omics, a registration parameter that lives in someone's notebook — not in version control — makes the transcript-to-cell assignment unreproducible. The through-line is CACE: changing anything changes everything, so the only defense is to make "anything" explicit and recorded. Verification is what lets validation mean something — you cannot trust a result you cannot reproduce.

If a result cannot be regenerated from a pinned environment and a recorded manifest, it is an anecdote. Emit the manifest with every run, before you argue about the biology.

References

References

Local graph