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.