Differentiable EPR distance distribution modeling in JAX
Project description
📻 diff-epr: Differentiable EPR/DEER Simulation in JAX
diff-epr provides differentiable kernels for simulating EPR distance distributions (DEER/PELDOR) from structural ensembles and spin-label rotamers.
🎯 Features
- Spin-Label Modeling: Differentiable distance calculations between paramagnetic centers.
- Orientation Selection: Support for the Polyhach 5-angle formula (Polyhach et al., 2007) to model relative domain orientations.
- Time-Domain Simulation: Simulate DEER modulation traces $V(t)$ with parameterizable background decay and modulation depth.
- Rotamer Library Integration: Support for weighted rotamer averages in distance distribution calculations.
- Hardware Acceleration: GPU-optimized distance kernels via JAX.
🏗️ Technical Architecture
- Backend: JAX (XLA-compiled).
- Physics: Dipolar coupling frequency ($\omega$) based kernels.
- Performance: $O(N)$ scaling for distance distribution integration.
🚀 Roadmap
- Core DEER trace simulation kernels.
- Background decay and modulation depth parameters.
- Integration with MMM (Multi-Scale Modeling of Macromolecules) rotamer libraries.
- Full orientation-dependence support.
🚀 Installation
pip install diff-epr
🧪 Scientific Validation
- Dipolar Frequency Parity: Coupling frequencies verified against the Pake pattern $1/r^3$ dependence.
- Time-Domain Accuracy: DEER traces validated for parity against standard simulation tools (e.g., DeerAnalysis/MMM).
- Auto-Diff Gradients: Differentiable distance-to-signal kernels verified with JAX
grad.
🔗 Related Projects
diff-epr is part of the differentiable biophysics ecosystem:
- diff-biophys — Core differentiable biophysics engine.
- diff-hdx — Differentiable HDX-MS prediction.
- diff-fret — Differentiable FRET modeling.
- synth-nmr — NMR observable simulation.
📖 Citation
@software{diff_epr,
author = {Elkins, George},
title = {diff-epr: Differentiable EPR/DEER simulation in JAX},
year = {2026},
url = {https://github.com/elkins/diff-epr},
version = {0.1.0}
}
⚖️ License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
diff_epr-0.1.0.tar.gz
(7.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file diff_epr-0.1.0.tar.gz.
File metadata
- Download URL: diff_epr-0.1.0.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eca30ba3542600205dddb0af9eede9def357a41a7dbc552f518d6428802a2199
|
|
| MD5 |
56a2f39f299bceb6ad7fe7a94956d922
|
|
| BLAKE2b-256 |
c3508169b73168aae1dc0fcd8854d4889ec5b0e2cee68db198cfa4dd881abc46
|
File details
Details for the file diff_epr-0.1.0-py3-none-any.whl.
File metadata
- Download URL: diff_epr-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b65213c6ed3bf934df959de012bd9ea8403ab7c9234615f0e42d1bb3afa402c1
|
|
| MD5 |
414ddb3fdae4de18ca4a215eb4c39a40
|
|
| BLAKE2b-256 |
656c1b1795bc107b35895a460ee309be60f13c78df829b81d6445ab606350ef9
|