synth-cryo-em
A lightweight Pythonic utility to convert atomic models (PDB/CIF) into synthetic 3D Cryo-EM maps with realistic noise, CTF effects and varying resolutions.
🌟 Features
- Voxelize atomic models with accurate resolution simulation.
- Simulate Physics: Apply Contrast Transfer Functions (CTF) and envelope functions.
- Noise Modeling: Add adjustable Gaussian noise to simulate low-SNR experimental data.
- Standard Format: Export results to MRC files compatible with RELION, ChimeraX, and other tools.
🚀 Quick Start
Installation
pip install synth-cryo-em
Basic Generation
synth-cryo-em structure.pdb output.mrc --resolution 4.0
Realistic Simulation
synth-cryo-em structure.pdb output.mrc --resolution 3.5 --apply-physics --snr 5
📚 Tutorials
Explore the project's functionality interactively via our Jupyter notebooks:
- Interactive Physics & Visualization: Explore how resolution, noise (SNR), and CTF effects change the visual features of a map in 3D.
- Core API Walkthrough: A step-by-step guide to using the Python API for custom workflows.
📖 Documentation
For detailed guides and API reference, visit the Documentation Site.
🛠️ Development
To install for development and documentation:
pip install -e ".[test,docs]"
Run tests:
pytest tests/
Build docs locally:
mkdocs serve
Related Projects
This library is part of the synth-pdb ecosystem:
- synth-pdb — Core protein structure generator
- synth-nmr — NMR observables simulator
- synth-saxs — SAXS profile simulator
- synth-dynamics — ANM/Langevin dynamics engine
- diff-biophys — Differentiable JAX biophysics kernels
Contributing
Contributions are welcome! Please open an issue or pull request on GitHub. Run pre-commit run --all-files before submitting.
License
MIT License — see LICENSE for details.
Citation
@software{synth_cryo_em,
author = {Elkins, George},
title = {synth-cryo-em: Synthetic cryo-EM map generation from atomic models},
year = {2026},
url = {https://github.com/elkins-lab/synth-cryo-em},
version = {0.1.3}
}
Metadata
Release files for synth-cryo-em 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| synth_cryo_em-0.1.3.tar.gz | 18.1 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| synth_cryo_em-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.0 kB
Release files / synth_cryo_em-0.1.3.tar.gz
| Download URL | synth_cryo_em-0.1.3.tar.gz |
|---|---|
| Size | 18.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5377c652881fee7a807d66295bf4dcc8cb2102bb3d82db9ab3308c42ccf67a9d
|
|
BLAKE2b-256 checksum How to use checksums |
c0ce74e9487cc8ef1d773b372e50a5c9e32ef437bd403f5d482b6de2543d426b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 30, 2026.
Transparency logRelease files / synth_cryo_em-0.1.3-py3-none-any.whl
| Download URL | synth_cryo_em-0.1.3-py3-none-any.whl |
|---|---|
| Size | 8.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aece6d447ec009342e18d5bcdcce2ce48d36a0519d89cf591947e298f98b3d11
|
|
BLAKE2b-256 checksum How to use checksums |
b75398e660415c4035f9f3d09620162c01a9b027f0ea51f7b5dc5f31fd7085ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 30, 2026.
Transparency logSecurity for synth-cryo-em 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for synth_cryo_em-0.1.3.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 30, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.