Skills

Chai1

Structure prediction for protein, nucleic-acid, and small-molecule complexes with the...

Install

npx skills add aipoch/open-science --skill chai1 -g -a claude-code -y
Repository
aipoch/open-science5.4k
Category
Design
Updated
3d ago
License
Apache-2.0
Context cost
Lightabout 928 tokens
Runs scripts
No, instructions only

What it does

Structure prediction for protein, nucleic-acid, and small-molecule complexes with the Chai-1 foundation model (Chai Discovery 2024, github.com/chaidiscovery/chai-lab). Reach for this skill to predict an antibody-antigen or protein-ligand complex from a single FASTA, to re-fold designed binders as an AlphaFold-multimer alternative, or to drive co-folding from Python for batched campaigns on a GPU.

Chai-1

Chai-1 is an all-atom diffusion co-folder in the same family as Boltz-2 and AlphaFold3: a multi-entity FASTA in, mmCIF plus pTM/ipTM/pLDDT out, with protein, RNA, DNA, and SMILES-ligand chains all first-class. It and boltz cover the same surface; running both and keeping designs that pass either is a common consensus filter, and Chai's Python entry point makes it the easier of the two to embed in a loop. Code and weights are Apache-2.0, commercial use including drug discovery is explicitly permitted (github.com/chaidiscovery/chai-lab).

Running it

from pathlib import Path
from chai_lab.chai1 import run_inference

Path("complex.fasta").write_text("""
>protein|name=target
MVTPEGNVSLVDESLLVGVTDEDRAVRS...
>protein|name=binder
AIQRTPKIQVYSRHPAENG...
>ligand|name=cofactor
CCCCCCCCCCCCCC(=O)O
""".strip())

candidates = run_inference(
    fasta_file=Path("complex.fasta"),
    output_dir=Path("out/"),
    num_trunk_recycles=3,
    num_diffn_timesteps=200,
    seed=42,
    device="cuda:0",
    use_esm_embeddings=True,
)
print([rd.aggregate_score.item() for rd in candidates.ranking_data])

The FASTA header is >{entity_type}|name={id} with entity_type ∈ {protein, rna, dna, ligand}; ligand records carry a SMILES string as the sequence body, and modified residues are written inline as ...AAK(SEP)AAG.... From the shell the same job is chai-lab fold complex.fasta out/ --use-msa-server. Without --use-msa-server (or use_msa_server=True in Python) the model runs on ESM embeddings alone, which is faster but typically a few ipTM points behind the MSA-backed run.

output_dir receives pred.model_idx_{0..4}.cif plus a matching scores.model_idx_{N}.npz per sample with aggregate_score, ptm, iptm, per_chain_ptm, and clash flags. Rank by aggregate_score; treat iptm > 0.5 as a soft pass for an interface. The function refuses a non-empty output_dir, so clear or rotate it between calls.

Read the whole SKILL.md on GitHub

More in Design