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.1.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.1.tar.gz.
File metadata
- Download URL: diff_epr-0.1.1.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 |
11ad7b28b0c580df08fa3e44f702421fc6d18e9c8d4b1edbec5b93bf9a620c4b
|
|
| MD5 |
ef18a94581848b96d96a7a4793ca2ae2
|
|
| BLAKE2b-256 |
7ad50feb1fd6fbae6c1cccc9a5c1ed066ad5212316c509ee987ab8b78f8475c9
|
File details
Details for the file diff_epr-0.1.1-py3-none-any.whl.
File metadata
- Download URL: diff_epr-0.1.1-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 |
4313a10796764cc017c0b4ae666660d24ecded0921c33158de7e9c7e37bfd00b
|
|
| MD5 |
f84c7688d5824e4b92d412913844710d
|
|
| BLAKE2b-256 |
6c3f63e47090f80a185c8f5430a06ea498968eb00d50ba5844d373b9248a84ca
|