📏 diff-fret: Differentiable FRET Modeling in JAX
diff-fret provides high-performance, auto-differentiable kernels for modeling Fluorescence Resonance Energy Transfer (FRET) observables from structural ensembles.
🎯 Features
- Differentiable Distance Distributions: Compute donor-acceptor distance distributions ($P(r)$) from atomic coordinates.
- Förster Theory Integration: Map distances to FRET efficiency ($E$) using parameterizable Förster distances ($R_0$).
- Orientation Uncertainty: Calculate bounds for the orientation factor $\kappa^2$ using fluorescence anisotropy (Dale, Eisinger, & Blumberg, 1979).
- Ensemble Averaging: Native support for JAX
vmapto average efficiency across conformational ensembles. - Hardware Acceleration: Optimized for GPU/TPU execution via XLA.
📚 Tutorials
Experience diff-fret directly in your browser:
FRET Efficiency & Accessible Volumes — Learn how to simulate Förster curves and perform AV simulations for flexible dyes.
🏗️ Technical Architecture
- Backend: JAX (XLA-compiled).
- Kernels: Vectorized distance and efficiency functions.
- Differentiability: Support for gradient descent refinement of probe positions or protein conformations.
🚀 Roadmap
- Core Förster efficiency kernels.
- Ensemble averaging support.
- Orientation factor ($\kappa^2$) modeling (Dale–Eisinger–Blumberg bounds).
- Integration with dye rotamer libraries.
🚀 Installation
pip install diff-fret
🧪 Scientific Validation
- Förster Limit: Efficiency kernels are verified to match the $1/(1 + (r/R_0)^6)$ analytical solution.
- Auto-Diff Stability: Reverse-mode gradients are tested for stability in the $r \approx R_0$ region.
- Ensemble Benchmarks: Average efficiency calculation validated against Monte Carlo simulations.
🔗 Related Projects
diff-fret is part of the differentiable biophysics ecosystem:
- diff-biophys — Core differentiable biophysics engine.
- diff-hdx — Differentiable HDX-MS prediction.
- diff-epr — Differentiable EPR/DEER simulation.
- synth-dynamics — Protein dynamics simulation.
📖 Citation
@software{diff_fret,
author = {Elkins, George},
title = {diff-fret: Differentiable FRET modeling in JAX},
year = {2026},
url = {https://github.com/elkins-lab/diff-fret},
version = {0.1.2}
}
⚖️ License
MIT
Metadata
Release files for diff-fret 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| diff_fret-0.1.2.tar.gz | 7.9 kB | With provenance | Details for diff_fret-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| diff_fret-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for diff_fret-0.1.2-py3-none-any.whl |
Total release size: 13.6 kB
Release files / diff_fret-0.1.2.tar.gz
| Download URL | diff_fret-0.1.2.tar.gz |
|---|---|
| Size | 7.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4fd0794931968f89f51bbe78524f93bb8b66dc263e81fdf748014fd66f1c4122
|
|
BLAKE2b-256 checksum How to use checksums |
b167d0609dc080a528dd50526dece589684b4afee8dd727c24f36449aade748f
|
| 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 Jul 2, 2026.
Transparency logRelease files / diff_fret-0.1.2-py3-none-any.whl
| Download URL | diff_fret-0.1.2-py3-none-any.whl |
|---|---|
| Size | 5.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
82ae83b2fd14b229bd2b6647a0704394951f282506de33b331426768addc9cd5
|
|
BLAKE2b-256 checksum How to use checksums |
573dbe7c42c61ba9fa2c19368a913f97ec965bdf745b97e0eb3a6dacc426c43a
|
| 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 Jul 2, 2026.
Transparency logSecurity for diff-fret 0.1.2
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
Both files in this release have been uploaded with provenance metadata.
Attestation for diff_fret-0.1.2.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 Jul 2, 2026.
Transparency logA 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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.