diff-fret provides high-performance, auto-differentiable kernels for modeling Fluorescence Resonance Energy Transfer (FRET) observables from structural ensembles.
- 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.
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.
- Backend: JAX (XLA-compiled).
- Kernels: Vectorized distance and efficiency functions.
- Differentiability: Support for gradient descent refinement of probe positions or protein conformations.
- Core Förster efficiency kernels.
- Ensemble averaging support.
- Orientation factor (
$\kappa^2$ ) modeling (Dale–Eisinger–Blumberg bounds). - Integration with dye rotamer libraries.
pip install diff-fret-
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.
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.
@software{diff_fret,
author = {Elkins, George},
title = {diff-fret: Differentiable FRET modeling in JAX},
year = {2026},
url = {https://github.com/elkins/diff-fret},
version = {0.1.0}
}MIT