Agent skill

chai

Structure prediction using Chai-1, a foundation model for molecular structure. Use this skill when: (1) Predicting protein-protein complex structures, (2) Validating designed binders, (3) Predicting protein-ligand complexes, (4) Using the Chai API for high-throughput prediction, (5) Need an alternative to AlphaFold2. For QC thresholds, use protein-qc. For AlphaFold2 prediction, use alphafold. For ESM-based analysis, use esm.

Stars 2,009
Forks 275

Install this agent skill to your Project

npx add-skill https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills/tree/main/skills/chai

SKILL.md

Chai-1 Structure Prediction

Prerequisites

Requirement Minimum Recommended
Python 3.10+ 3.11
CUDA 12.0+ 12.1+
GPU VRAM 24GB 40GB (A100)
RAM 32GB 64GB

How to run

First time? See Installation Guide to set up Modal and biomodals.

Option 1: Modal

bash
cd biomodals
modal run modal_chai1.py \
  --input-faa complex.fasta \
  --out-dir predictions/

GPU: A100 (40GB) | Timeout: 30min default

Option 2: Chai API (recommended)

bash
pip install chai_lab

python -c "
import chai_lab
from chai_lab.chai1 import run_inference

# Run prediction
run_inference(
    fasta_file='complex.fasta',
    output_dir='predictions/',
    num_trunk_recycles=3
)
"

Option 3: Local installation

bash
git clone https://github.com/chaidiscovery/chai-lab.git
cd chai-lab
pip install -e .

chai-lab predict \
  --fasta complex.fasta \
  --output predictions/

FASTA Format

Protein complex

>binder
MKTAYIAKQRQISFVKSHFSRQLE...
>target
MVLSPADKTNVKAAWGKVGAHAGE...

Protein + ligand

>protein
MKTAYIAKQRQISFVKSHFSRQLE...
>ligand|smiles
CCO

Protein + DNA/RNA

>protein
MKTAYIAKQRQISFVKSHFSRQLE...
>dna
ATCGATCGATCG

Key parameters

Parameter Default Range Description
num_trunk_recycles 3 1-10 Recycles (more = better)
num_diffn_timesteps 200 50-500 Diffusion steps
seed 0 int Random seed

Output format

predictions/
├── pred.model_idx_0.cif    # Best model (CIF format)
├── pred.model_idx_1.cif    # Second model
├── scores.json             # Confidence scores
├── pae.npy                 # PAE matrix
└── plddt.npy               # pLDDT values

Note: Chai-1 outputs CIF format. Convert to PDB if needed:

python
from Bio.PDB import MMCIFParser, PDBIO
parser = MMCIFParser()
structure = parser.get_structure("pred", "pred.model_idx_0.cif")
io = PDBIO()
io.set_structure(structure)
io.save("pred.model_idx_0.pdb")

Extracting metrics

python
import numpy as np
import json

# Load scores
with open('predictions/scores.json') as f:
    scores = json.load(f)

plddt = np.load('predictions/plddt.npy')
pae = np.load('predictions/pae.npy')

print(f"pLDDT: {plddt.mean():.3f}")
print(f"pTM: {scores['ptm']:.3f}")
print(f"ipTM: {scores.get('iptm', 'N/A')}")

Use cases

Binder validation

python
# Predict complex with Chai
chai-lab predict --fasta binder_target.fasta --output val/

# Check ipTM > 0.5
scores = json.load(open('val/scores.json'))
if scores['iptm'] > 0.5:
    print("Design passes validation")

Protein-ligand complex

python
# FASTA with SMILES
fasta = """
>protein
MKTA...
>ligand|smiles
CCO
"""

# Chai handles both protein and small molecules

Batch prediction

bash
# Multiple sequences
for fasta in sequences/*.fasta; do
    chai-lab predict \
        --fasta "$fasta" \
        --output "predictions/$(basename $fasta .fasta)"
done

Comparison with AF2

Aspect Chai-1 AlphaFold2
MSA required No Yes
Small molecules Yes No
DNA/RNA Yes Limited
Speed Faster Slower
Accuracy Comparable Reference

Sample output

Successful run

$ chai-lab predict --fasta complex.fasta --output predictions/
[INFO] Loading Chai-1 model...
[INFO] Running inference...
[INFO] Saved 5 models to predictions/

predictions/scores.json:
{
  "ptm": 0.82,
  "iptm": 0.71,
  "ranking_score": 0.76
}

What good output looks like:

  • pTM: > 0.7 (confident global structure)
  • ipTM: > 0.5 (confident interface, > 0.7 for high confidence)
  • CIF files with reasonable atom positions

Decision tree

Should I use Chai?
│
├─ What are you predicting?
│  ├─ Protein-protein complex → Chai ✓ or ColabFold
│  ├─ Protein + small molecule → Chai ✓
│  ├─ Protein + DNA/RNA → Chai ✓
│  └─ Single protein only → Use ESMFold (faster)
│
├─ Need MSA?
│  ├─ No / want speed → Chai ✓
│  └─ Yes / want accuracy → ColabFold
│
└─ Priority?
   ├─ Highest accuracy → ColabFold with MSA
   ├─ Speed / no MSA → Chai ✓
   └─ Ligand binding → Chai ✓

Typical performance

Campaign Size Time (A100) Cost (Modal) Notes
100 complexes 30-60 min ~$10 Standard validation
500 complexes 2-4h ~$45 Large campaign
1000 complexes 5-8h ~$90 Comprehensive

Per-complex: ~20-40s for typical binder-target complex.


Verify

bash
find predictions -name "*.cif" | wc -l  # Should match input count

Troubleshooting

Low pLDDT: Increase num_trunk_recycles Low ipTM: Check chain order, interface region OOM errors: Use A100-80GB or reduce batch Slow prediction: Reduce num_diffn_timesteps

Error interpretation

Error Cause Fix
RuntimeError: CUDA out of memory Complex too large Use A100-80GB or split prediction
KeyError: 'iptm' Single chain predicted Ensure FASTA has multiple chains
ValueError: invalid SMILES Malformed ligand Validate SMILES with RDKit
torch.cuda.OutOfMemoryError GPU exhausted Reduce num_diffn_timesteps to 100

Next: protein-qc for filtering and ranking.

Expand your agent's capabilities with these related and highly-rated skills.

FreedomIntelligence/OpenClaw-Medical-Skills

vcf-annotator

Annotate VCF variants with VEP, ClinVar, gnomAD frequencies, and ancestry-aware context. Generates prioritised variant reports.

2,009 275
Explore
FreedomIntelligence/OpenClaw-Medical-Skills

chemist-analyst

Analyzes events through chemistry lens using molecular structure, reaction mechanisms, thermodynamics, kinetics, and analytical techniques (spectroscopy, chromatography, mass spectrometry). Provides insights on chemical processes, material properties, reaction pathways, synthesis, and analytical methods. Use when: Chemical reactions, material analysis, synthesis planning, process optimization, environmental chemistry. Evaluates: Molecular structure, reaction mechanisms, yield, selectivity, safety, environmental impact.

2,009 275
Explore
FreedomIntelligence/OpenClaw-Medical-Skills

bio-alignment-io

Read, write, and convert multiple sequence alignment files using Biopython Bio.AlignIO. Supports Clustal, PHYLIP, Stockholm, FASTA, Nexus, and other alignment formats for phylogenetics and conservation analysis. Use when reading, writing, or converting alignment file formats.

2,009 275
Explore
FreedomIntelligence/OpenClaw-Medical-Skills

sleep-analyzer

分析睡眠数据、识别睡眠模式、评估睡眠质量,并提供个性化睡眠改善建议。支持与其他健康数据的关联分析。

2,009 275
Explore
FreedomIntelligence/OpenClaw-Medical-Skills

metabolomics-workbench-database

Access NIH Metabolomics Workbench via REST API (4,200+ studies). Query metabolites, RefMet nomenclature, MS/NMR data, m/z searches, study metadata, for metabolomics and biomarker discovery.

2,009 275
Explore
FreedomIntelligence/OpenClaw-Medical-Skills

bio-hi-c-analysis-matrix-operations

Balance, normalize, and transform Hi-C contact matrices using cooler and cooltools. Apply iterative correction (ICE), compute expected values, and generate observed/expected matrices. Use when normalizing or transforming Hi-C matrices.

2,009 275
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results