Skip to main content

Differentiable FRET distance distribution modeling in JAX

Project description

📏 diff-fret: Differentiable FRET Modeling in JAX

Tests License: MIT 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 vmap to average efficiency across conformational ensembles.
  • Hardware Acceleration: Optimized for GPU/TPU execution via XLA.

🏗️ 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:


📖 Citation

@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}
}

⚖️ License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diff_fret-0.1.1.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

diff_fret-0.1.1-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file diff_fret-0.1.1.tar.gz.

File metadata

  • Download URL: diff_fret-0.1.1.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for diff_fret-0.1.1.tar.gz
Algorithm Hash digest
SHA256 61f3321cce7094f3dafb5dafc465039f8a032d90016a2fc2242b5df83a5f252d
MD5 3a43197a53852d66ebb63200cd012583
BLAKE2b-256 7b2a3869d93a301d6de82510415c69c1f6ef4339269c7bf88354852732a4a25f

See more details on using hashes here.

File details

Details for the file diff_fret-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: diff_fret-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for diff_fret-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e9bb841d08a0414e4d2c81a123725a389a0d6a68cdca6230e80454c0b20db026
MD5 bce47835d5b36d1422a602dc6b85a86e
BLAKE2b-256 797a9305bbb7dca8d25a72c1f8c9c808ff21715d282d0f9bb96ec30c10029ddb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page