Skip to main content

Synthetic Cryo-EM map generator from PDB models

Project description

synth-cryo-em

PyPI version Python 3.9+ License: MIT Tests Documentation Ruff Checked with mypy

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    = {2024},
  url     = {https://github.com/elkins/synth-cryo-em},
  version = {0.1.0}
}

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.1.tar.gz (12.8 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.1-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: synth_cryo_em-0.1.1.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for synth_cryo_em-0.1.1.tar.gz
Algorithm Hash digest
SHA256 160fdc1247900b7ca86916276e7d00ab89478b34900c66e0aca7624eaa689204
MD5 3582b5f81a262b0a52764c6976b83321
BLAKE2b-256 22b0689846260123cb28627eb35b5adf0825baab090141a9d3f9e43890d1fb09

See more details on using hashes here.

File details

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

File metadata

  • Download URL: synth_cryo_em-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for synth_cryo_em-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7b04e534103fa061bd0cd0d699e3b32f305cd370e36fc7d12cef66395e43becb
MD5 814b5f3e2eb47e27578d05691c88c02b
BLAKE2b-256 c1a703d1e6feb399d67a887b33198d4aa0b488cd6d0fae17df0272c9f9336c2c

See more details on using hashes here.

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