Differentiable FRET distance distribution modeling in JAX
Project description
📏 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
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
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_fret-0.1.2.tar.gz.
File metadata
- Download URL: diff_fret-0.1.2.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fd0794931968f89f51bbe78524f93bb8b66dc263e81fdf748014fd66f1c4122
|
|
| MD5 |
1c3360032aa083a4372cd25b8a81de6b
|
|
| BLAKE2b-256 |
b167d0609dc080a528dd50526dece589684b4afee8dd727c24f36449aade748f
|
Provenance
The following attestation bundles were made for diff_fret-0.1.2.tar.gz:
Publisher:
publish.yml on elkins-lab/diff-fret
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
diff_fret-0.1.2.tar.gz -
Subject digest:
4fd0794931968f89f51bbe78524f93bb8b66dc263e81fdf748014fd66f1c4122 - Sigstore transparency entry: 2043773098
- Sigstore integration time:
-
Permalink:
elkins-lab/diff-fret@537fac7eba9534e8332dc50048f950010386b3e5 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/elkins-lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@537fac7eba9534e8332dc50048f950010386b3e5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file diff_fret-0.1.2-py3-none-any.whl.
File metadata
- Download URL: diff_fret-0.1.2-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82ae83b2fd14b229bd2b6647a0704394951f282506de33b331426768addc9cd5
|
|
| MD5 |
5cad259b26292b4b150a53d7347c5dd3
|
|
| BLAKE2b-256 |
573dbe7c42c61ba9fa2c19368a913f97ec965bdf745b97e0eb3a6dacc426c43a
|
Provenance
The following attestation bundles were made for diff_fret-0.1.2-py3-none-any.whl:
Publisher:
publish.yml on elkins-lab/diff-fret
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
diff_fret-0.1.2-py3-none-any.whl -
Subject digest:
82ae83b2fd14b229bd2b6647a0704394951f282506de33b331426768addc9cd5 - Sigstore transparency entry: 2043773189
- Sigstore integration time:
-
Permalink:
elkins-lab/diff-fret@537fac7eba9534e8332dc50048f950010386b3e5 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/elkins-lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@537fac7eba9534e8332dc50048f950010386b3e5 -
Trigger Event:
push
-
Statement type: