Skip to content

elkins/diff-ensemble

Repository files navigation

🧬 DiffEnsemble: Differentiable IDP Ensemble Prediction

PyPI version Supported Python versions Tests License: MIT JAX Code style: black

DiffEnsemble is a JAX-powered framework for predicting structural ensembles of Intrinsically Disordered Proteins (IDPs) using a Variational Autoencoder (VAE) coupled with differentiable biophysical observables.


🧪 For Structural Biologists

  • Ensemble Averaging: Automatically calculates ensemble-averaged SAXS profiles and NMR observables.
  • Disorder Recovery: Specifically designed for proteins that don't have a single "fixed" structure, providing a statistical view of the conformational landscape.

🤖 For Machine Learning Geeks

  • VAE-Physics Integration: A latent-space generative model where the reconstruction loss is a combination of latent KLD and physical observables (SAXS/NMR).
  • Differentiable Torsions: Maps latent vectors to 3D coordinates via a differentiable NeRF (Natural Extension Reference Frame) implementation.

🚀 Key Features

  • JAX-Accelerated VAE: High-performance training of generative models for IDPs.
  • Debye-Based SAXS Prediction: Differentiable back-calculation of SAXS profiles from structural ensembles.
  • Latent Space Exploration: Sample new conformations from the learned disordered landscape.

📦 Installation

pip install diff-ensemble

📖 Tutorials

Get started immediately with our interactive Jupyter notebooks:

📜 License

Distributed under the MIT License. See LICENSE for more information.

About

Differentiable VAE framework for predicting protein structural ensembles (IDPs) consistent with SAXS and NMR data. Built on JAX/Flax.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors