Skip to main content

synth-cryo-em

PyPI version Python versions License: MIT Tests Documentation Ruff Checked with mypy codecov

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. Open In Colab
  • Core API Walkthrough: A step-by-step guide to using the Python API for custom workflows. Open In Colab

📖 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:

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)

Source distribution for synth-cryo-em 0.1.3
File Size Uploaded Provenance
synth_cryo_em-0.1.3.tar.gz 18.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for synth-cryo-em 0.1.3
File Interpreter ABI Platform
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page