| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
DiffEnsemble is a high-performance, differentiable framework for predicting structural ensembles of Intrinsically Disordered Proteins (IDPs). By combining generative deep learning with hardware-accelerated biophysics, it bridges the gap between protein sequence and solution-state experimental data.
DiffEnsemble utilizes a Variational Autoencoder (VAE) implemented in Flax to learn the conformational manifold of flexible proteins.
Built entirely on JAX, the entire pipeline—from the VAE weights to the final biophysical observable—is auto-differentiable.
Unlike AlphaFold, which predicts a single static structure, IDPs exist as a "cloud" of interconverting conformations. DiffEnsemble predicts this structural ensemble, which is essential for understanding proteins that do not have a stable fold.
We use the NeRF (Natural Extension Reference Frame) algorithm to convert predicted torsions into 3D Cartesian coordinates. These coordinates are then passed to DiffBiophys kernels to calculate:
DiffEnsemble is rigorously validated against peer-reviewed standards:
import jax
import jax.numpy as jnp
from diff_ensemble.model import EnsembleVAE
# Initialize model (90 residues, 32 latent dims, 100 models)
model = EnsembleVAE(seq_len=90, latent_dim=32, ensemble_size=100)
rng = jax.random.PRNGKey(0)
# Generate a structural ensemble from sequence features
batch_x = jnp.ones((1, 90, 4)) # Example features
torsions, mean, logvar = model.apply({"params": params}, batch_x, rng)
coords = model.generate_coordinates(torsions) # Shape: (100, 270, 3)
# Save the cloud to a multi-model PDB for visualization
from diff_ensemble.io import save_ensemble_to_pdb
save_ensemble_to_pdb(coords, "ensemble_cloud.pdb")The project is structured for modularity and high-performance execution:
We welcome contributions from both the Machine Learning and Structural Biology communities!
This project is licensed under the MIT License - see the LICENSE file for details.
DiffEnsemble depends on and integrates with:
@software{diff_ensemble,
author = {Elkins, George},
title = {DiffEnsemble: Differentiable structural ensemble prediction for IDPs},
year = {2026},
url = {https://github.com/elkins-lab/diff-ensemble},
version = {0.1.3}
}Get started immediately with our interactive Jupyter notebooks:
| Back | FazBrowse Home | New Git URL |