skills/boltz/SKILL.md
Use when predicting biomolecular structures (proteins, RNA, DNA, ligands) with the open-source Boltz diffusion model as an alternative to AlphaFold3.
npx skillsauth add lamm-mit/scienceclaw boltzInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Predict biomolecular structures using Boltz, an open-source diffusion model. Boltz handles proteins, RNA, DNA, small molecules, ions, and covalent modifications in a single model without requiring multiple sequence alignments (MSA-optional). It serves as a strong open-source alternative to AlphaFold3.
pip install boltz
Boltz uses YAML for flexible entity specification:
# complex.yaml — protein + ligand
version: 1
sequences:
- protein:
id: A
sequence: MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSY...
- ligand:
id: B
smiles: "CC1=CC=C(C=C1)S(=O)(=O)N" # or CCD code
ccd: ATP # alternative: use CCD code
# binder-target complex
version: 1
sequences:
- protein:
id: [A, B] # homodimer
sequence: MTEYKLVVVGAGGVGKS...
count: 2
- protein:
id: C
sequence: EVQLVESGGGLVQPGG... # binder
# Single prediction
boltz predict complex.yaml \
--out_dir results/ \
--accelerator gpu \
--devices 1 \
--num_workers 4
# Batch prediction (multiple YAML files)
boltz predict inputs/ \
--out_dir results/ \
--accelerator gpu
# Without MSA (faster, slightly lower accuracy for monomers)
boltz predict complex.yaml \
--out_dir results/ \
--use_msa_server false
from boltz.main import predict
predict(
data="complex.yaml",
out_dir="results/",
accelerator="gpu",
devices=1,
num_predictions=1, # ensemble size
recycling_steps=3,
diffusion_samples=1
)
results/
boltz_results_complex/
predictions/
complex/
complex_model_0.cif # Predicted structure (CIF format)
complex_confidence_model_0.json # Confidence scores
lightning_logs/ # Training logs (ignore)
import json
with open("complex_confidence_model_0.json") as f:
conf = json.load(f)
# Key metrics
plddt = conf["plddt"] # Per-residue confidence (0-100)
ptm = conf["ptm"] # Global fold confidence (0-1)
iptm = conf["iptm"] # Interface confidence (0-1)
ligand_iptm = conf.get("ligand_iptm") # Ligand interface confidence
pde = conf.get("pde") # Predicted Distance Error
print(f"pTM={ptm:.3f}, ipTM={iptm:.3f}")
| Metric | Marginal | Acceptable | Good | |--------|----------|-----------|------| | pLDDT (mean) | <60 | 60–80 | >80 | | ipTM | <0.5 | 0.5–0.7 | >0.7 | | pTM | <0.4 | 0.4–0.6 | >0.6 |
| Feature | Boltz | AF2 | AF3 | |---------|-------|-----|-----| | Open source | ✓ | ✓ (weights) | ✗ | | Ligands | ✓ | ✗ | ✓ | | RNA/DNA | ✓ | ✗ | ✓ | | MSA required | Optional | Yes | Optional | | Local run | ✓ | ✓ | Limited | | CIF output | ✓ | PDB | CIF |
# Using BioPython
python3 -c "
from Bio.PDB import MMCIFParser, PDBIO
parser = MMCIFParser()
structure = parser.get_structure('pred', 'complex_model_0.cif')
io = PDBIO()
io.set_structure(structure)
io.save('complex_model_0.pdb')
"
tools
Onboard and manage Paperclip AI for research-paper knowledge and agent orchestration
development
Perform AI-powered web searches with real-time information using Perplexity models via LiteLLM and OpenRouter. This skill should be used when conducting web searches for current information, finding recent scientific literature, getting grounded answers with source citations, or accessing information beyond the model knowledge cutoff. Provides access to multiple Perplexity models including Sonar Pro, Sonar Pro Search (advanced agentic search), and Sonar Reasoning Pro through a single OpenRouter API key.
testing
Generate a structured scientific PDF report from a JSON description. Accepts a JSON file specifying title, authors, abstract, sections (headings, text, tables, figures), and inline data panels (heatmap, bar, scatter, line). Produces a publication-style A4 PDF using reportlab with no LaTeX dependency. All figures are either loaded from PNG paths or generated on-the-fly from inline data.
development
Execute arbitrary Python code and return stdout. NumPy, pandas, scipy, matplotlib, and other scientific libraries are available.