Skip to main content

Synthetic Cryo-EM map generator from PDB models

Project description

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}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synth_cryo_em-0.1.3.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synth_cryo_em-0.1.3-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file synth_cryo_em-0.1.3.tar.gz.

File metadata

  • Download URL: synth_cryo_em-0.1.3.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for synth_cryo_em-0.1.3.tar.gz
Algorithm Hash digest
SHA256 5377c652881fee7a807d66295bf4dcc8cb2102bb3d82db9ab3308c42ccf67a9d
MD5 b71ea84f83ad5d11eb317e0dc4133718
BLAKE2b-256 c0ce74e9487cc8ef1d773b372e50a5c9e32ef437bd403f5d482b6de2543d426b

See more details on using hashes here.

Provenance

The following attestation bundles were made for synth_cryo_em-0.1.3.tar.gz:

Publisher: publish.yml on elkins-lab/synth-cryo-em

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file synth_cryo_em-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: synth_cryo_em-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for synth_cryo_em-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 aece6d447ec009342e18d5bcdcce2ce48d36a0519d89cf591947e298f98b3d11
MD5 cf69993ac942a83e1ccffb75c0442a10
BLAKE2b-256 b75398e660415c4035f9f3d09620162c01a9b027f0ea51f7b5dc5f31fd7085ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for synth_cryo_em-0.1.3-py3-none-any.whl:

Publisher: publish.yml on elkins-lab/synth-cryo-em

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page