All Tests Passing · Phase 3 Complete

Quantum Data
Decoder

Predicting protein stability and enzyme kinetics through the physics of molecular vibrations. A multimodal deep learning framework combining vibrational spectroscopy, graph neural networks, and protein language models.

scroll
6,800+
Lines of Code
103+
Unit Tests
3
Neural Encoders
8
Notebooks
R²>0.75
Target Accuracy

Proteins are vibrating machines.
We decode their frequencies.

Traditional models treat proteins as static structures. But catalysis depends on dynamics — the collective vibrations that gate conformational changes. QDD is the first framework to explicitly encode the Vibrational Density of States (VDOS) as a predictive feature.

Physics-Informed

Normal Mode Analysis extracts vibrational frequencies from protein structures. These encode the thermodynamic landscape that governs stability and function.

📈

Spectral Fingerprints

Each protein has a unique VDOS spectrum — a 1D signal encoding all vibrational modes. Our 1D CNN learns patterns invisible to sequence-only models.

🔄

Tri-Modal Fusion

VibroPredict fuses sequence (ProtT5), spectral (CNN on VDOS), and chemical (ChemBERTa + DRFP) encodings with learned attention gating.

Three branches. One prediction.

The VibroPredict hybrid model processes protein sequence, vibrational spectrum, and substrate chemistry in parallel, then fuses them through learned attention gates.

Sequence
ProtT5 Encoder
→ 1024-dim
Structure → NMA → VDOS
SpectralCNN
→ 128-dim
Substrate SMILES
ChemBERTa + DRFP
→ 1024-dim
Attention Gating
TriModal
Fusion
→ 512-dim
Prediction
log₁₀(kcat)
scalar

Explore the Vibrational Spectrum

Adjust the broadening parameter to see how Lorentzian convolution transforms discrete normal modes into a continuous Density of States. This is exactly what the CNN encoder sees.

VDOS — 50 vibrational modes
5.0 cm¹
Peak:
Centroid:
Peaks detected:

Outperforming the state of the art

VibroPredict targets R² > 0.75 on the KinHub-27k benchmark, a substantial improvement over existing enzyme kinetics models.

Model Comparison

ModelYearFeatures
TurNuP20220.62Seq + FP
DLKcat20210.64Seq + Graph
UniKP20230.68ProtT5 + SMILES
MPEK20230.70ESM-2 + SMILES
VibroPredict2025>0.75Seq + VDOS + Chem

Ablation Study

Minimal code. Maximum insight.

predict_kcat.py
from vibropredict.models import VibroPredictHybrid

model = VibroPredictHybrid(fusion_dim=512)

logkcat, gates = model(
    sequences=["MKTIIALSYIF..."],
    vdos=vdos_tensor,        # (1, 1, 1000)
    substrate_smiles=["CC(=O)O"],
)

print(f"k_cat = {10**logkcat:.1f} s⁻¹")
print(f"Attention: seq={gates[0,0]:.2f} "
      f"spec={gates[0,1]:.2f} "
      f"chem={gates[0,2]:.2f}")
train.py
from vibropredict.training import (
    TrainerWithMMDrop,
    MutantRankingLoss,
)

trainer = TrainerWithMMDrop(
    model=model,
    optimizer=optimizer,
    device="cuda",
)

# MM-Drop: randomly drops spectral
# branch 25% of the time for robustness
best_loss = trainer.fit(
    train_loader, val_loader,
    loss_fn=MutantRankingLoss(lambda_rank=0.1),
    epochs=50, p_drop=0.25,
)

End-to-end walkthroughs