cryoval: CPU-only validator for cryo-EM/ET maps
DEV Community

cryoval: CPU-only validator for cryo-EM/ET maps

The gap

Reconstruction ecosystems (RELION, Scipion, Topaz, IsoNet) are plentiful; an open-source, reproducible layer that audits a produced map against the data is not. As of the 2026-07-11 batch scan, the GitHub count for a "cryo-EM map validation tool" was 0.

What it does

cryoval reads the JSON you produce with your reconstructor and applies four rules:

  • R1 - Cross-validation (FSC): reported resolution vs FSC=0.143 between half-maps inconsistent => FAIL.
  • R2 - Benchmark correlation (POPSICLE): low IoU/precision vs a standardized cryo-ET benchmark => FAIL (skipped without benchmark data).
  • R3 - Particle-picking bias: measurable confirmation bias in mask/signal correlation => FAIL.
  • H1 - Local map-noise hallucination (DERIVED): confidence collapses where synthetic-noise SNR is high => signals probable overfitting to noise.

Transparency note

H1 is a DERIVED rule (risk R5), proposed by the author and not extracted from a single paper. It needs experimental validation against a gold-standard FSC on real EMDB maps before promotion to a hard rule.

Thresholds (FSC=0.143, POPSICLE IoU) are documented physics, not tuned to the fixtures. Fixtures use synthetic controlled maps (external-validity, not circular).

Results

  • 31 tests passing, 96.00% coverage (gate 80%)
  • CPU-only, 0 external reconstructor invocations (AC-7)
  • AGPL-3.0-or-later

Try it

pip install -e .
cryoval check --in fixtures/ --format md

Stack

  • Python 3.11+, Typer, NumPy
  • pytest + pytest-cov for the suite

Links

Repo: https://github.com/amurlaniakea/cryoval
License: AGPL-3.0-or-later
(c) 2026 Pedro Sordo Martinez - amurlaniakea@gmail.com

Comments

No comments yet. Start the discussion.