Skip to content

elkins-lab/diff-hdx

Repository files navigation

🧪 diff-hdx: Differentiable HDX-MS Prediction in JAX

Tests License: MIT JAX

diff-hdx is a high-performance Python library for differentiable Hydrogen-Deuterium Exchange (HDX-MS) prediction. Built on JAX, it provides auto-differentiable kernels to bridge structural ensembles and experimental protection factors.


🎯 Features

  • Differentiable SASA Kernels: Hardware-accelerated approximations of Solvent Accessible Surface Area using Gaussian occlusion models.
  • Protection Factor Modeling: Implementations of Linderstrøm-Lang models for H-exchange rates ($PF$).
  • Kinetic Simulation: Model time-dependent mass shifts using EX2 kinetics (Hvidt & Nielsen, 1966).
  • Gradient-Based Refinement: Optimize protein structures or ensembles directly against experimental HDX-MS time-curves.
  • Vectorized Execution: Native support for vmap to handle large conformational ensembles.

📚 Tutorials

Experience diff-hdx directly in your browser:

  • Open In Colab HDX-MS Prediction & Kinetics — Learn how to simulate intrinsic rates, protection factors, and deuterium uptake curves.

🏗️ Technical Architecture

  • Backend: JAX (XLA-compiled) — supports CPU, GPU, and TPU.
  • Differentiability: Full support for forward and reverse-mode autodiff.
  • Integration: Compatible with biotite for structural parsing and diff-biophys for ensemble averaging.

🚀 Roadmap

  • Initial differentiable SASA and $ln P$ kernels.
  • Integration with JAX vmap for ensemble averaging.
  • Residue-specific intrinsic exchange rates (Bai et al. 1993) — all 20 amino acids.
  • Integration with MD trajectory loaders.

🚀 Installation

pip install diff-hdx

🧪 Scientific Validation

  • Parity Checks: Kernels are validated against standard non-differentiable implementations (e.g., biotite SASA) to ensure physical accuracy.
  • Gradient Tests: All kernels are verified using JAX's gradcheck to ensure numerically stable derivatives across the full support.
  • Ensemble Consistency: Verified against diff-biophys ensemble averaging for IDP conformational ensembles.

🔗 Related Projects

diff-hdx is part of the differentiable biophysics ecosystem:

  • diff-biophys — Core differentiable biophysics engine.
  • diff-fret — Differentiable FRET modeling.
  • diff-epr — Differentiable EPR/DEER simulation.
  • synth-pdb — Synthetic structure generation.

📖 Citation

@software{diff_hdx,
  author  = {Elkins, George},
  title   = {diff-hdx: Differentiable HDX-MS prediction in JAX},
  year    = {2026},
  url     = {https://github.com/elkins-lab/diff-hdx},
  version = {0.1.2}
}

⚖️ License

MIT