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.0.tar.gz (7.5 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.0-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: diff_fret-0.1.0.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

Hashes for diff_fret-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2aa1209902872deb1a65acf26715d4efcf30d3a730277fad597a8fa48f23cfea
MD5 2c315914d8f9a29d04ce2aa7f4602af1
BLAKE2b-256 42a77e6d3b36a1266ea713a87a973ed0da39565ed449a7bbb1016905ef532ec5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: diff_fret-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7fb62cf6e4b8212316c6418f56bd11388a308f089e13da03f71ab890b710ccdd
MD5 c28cb8f61852d9b6b5272cf60b95f977
BLAKE2b-256 51a6a9782aef52a863ca718a077419d19599af888eab990652a1cb8c58d1389d

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