Instructions to use silicobio/kukulu with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use silicobio/kukulu with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("silicobio/kukulu", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
kūkulu - Diffusion-Based Reconstruction of Antibody CDR Loops using a Structure-Aware Joint Embedding Predictive Architecture
Silico Biosciences
Abstract
Antibody complementarity-determining regions (CDRs), especially CDR-H3, are a dominant source of binding specificity but remain difficult to design due to coupled sequence-structure constraints and local geometric variability. Here we present Kukulu, a structure-aware Joint Embedding Predictive Architecture (JEPA) combined with conditional diffusion for CDR loop reconstruction in antibody-antigen complexes. Our pipeline prepares structures by chain-aware cleanup, Fv trimming, Chothia-indexed CDR identification, and in silico CDR masking, then trains on paired prepared/masked structures represented in an atom37 format. The model uses a context encoder over masked structures, a transformer predictor for latent CDR representations, and a diffusion head that reconstructs loop coordinates, atom presence, and residue identities under geometry-aware losses. During generation, Kukulu denoises only masked CDR residues while preserving framework context, then optionally rebuilds sidechains with local frame templates and performs post-generation structural relaxation.
Usage
Inferencing code can be found on GitHub at https://github.com/silicobio/kukulu/. The generate() function accepts an input PDB complex and its chain information for the heavy and light chains and the antigen chain(s).
For the checkpoint, download it from this Hugging Face model page.
from kukulu import generate
import json
result = generate(
checkpoint_path="checkpoint.pt",
pdb_path="1ABC.pdb",
h_chain="H",
l_chain="L",
antigen_chains="A|B",
device="cuda"
)
print(json.dumps(result, indent=4))
The result object is a dictionary that includes information about the input structure (e.g., the location of the CDR loops, the input and masked Fv sequences) along with the generated outputs (e.g., the generated Fv sequences and the PDB string). This will also include the predicted binding affinity metrics of the relaxed novel Fv structure from HADDOCK3.
{
"pdb_id": "5jxe",
"h_chain": "C",
"l_chain": "D",
"antigen_chains": ["B"],
"errors": [],
...
"input_h_seq": "QVQLV...",
"input_l_seq": "EIVLT...",
"masked_h_seq": "...ASXXXXXXXYM...",
"masked_l_seq": "...SCXXXXXXXWY...",
"generated_h_seq": "EIVLT...",
"generated_l_seq": "QVQLV...",
"generated_cdr_residue_count": 55,
"generated_pdb": "ATOM ...",
"relaxation_applied": true,
"haddock_scores": {
"score": -217.7198,
"vdw": -149.3,
"elec": -193.378,
"desolv": -29.7442,
"bsa": 3823.62,
"total": -342.678
}
}
- Downloads last month
- -