| name | alphafold |
| description | Use when running AlphaFold2 predictions on custom protein sequences, validating designed sequences via self-consistency, predicting binder-target complexes, or interpreting AF2 confidence metrics (pLDDT, pTM, ipTM). |
| metadata | null |
AlphaFold2 Structure Prediction
Use when the agent needs to run AlphaFold2 for protein structure prediction and complex modeling. Covers validating designed sequences, predicting binder-target complexes, and calculating confidence metrics (pLDDT, pTM, ipTM).
Distinct from alphafold-database (which retrieves pre-computed structures) — this skill covers running AF2 predictions on custom sequences.
Requirements
- Python 3.8+
- CUDA 11.0+, 32 GB GPU VRAM minimum (A100 recommended)
- For multimers: ColabFold recommended over local install
Deployment Options
1. ColabFold (Recommended for Multimers)
pip install colabfold[alphafold]
colabfold_batch input.fasta output_dir/ \
--model-type alphafold2_ptm \
--num-recycles 3
colabfold_batch complex.fasta output_dir/ \
--model-type alphafold2_multimer_v3 \
--num-recycles 20 \
--num-models 5
2. LocalColabFold
wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_linux.sh
bash install_colabbatch_linux.sh
colabfold_batch sequences.fasta results/ \
--model-type alphafold2_multimer_v3 \
--num-recycles 3 \
--use-gpu-relax
3. OpenFold (PyTorch reimplementation)
pip install openfold
python run_pretrained_openfold.py \
--fasta_paths input.fasta \
--output_dir results/ \
--model_device cuda:0
Key Parameters
| Parameter | Values | Notes |
|---|
--model-type | alphafold2_ptm, alphafold2_multimer_v3 | Use multimer for complexes |
--num-recycles | 3–20 | More recycles = better accuracy, slower |
--num-models | 1–5 | 5 models for ensemble confidence |
--msa-mode | mmseqs2_uniref_env (default), single_sequence | Single = no MSA, faster |
--use-gpu-relax | flag | Amber relaxation on GPU |
Confidence Metrics
import numpy as np
import json
with open("result_model_1.json") as f:
result = json.load(f)
plddt = np.array(result["plddt"])
ptm = result["ptm"]
iptm = result.get("iptm", None)
pae = np.array(result.get("pae", []))
print(f"Mean pLDDT: {plddt.mean():.1f}")
print(f"pTM: {ptm:.3f}")
if iptm:
print(f"ipTM: {iptm:.3f}")
Self-Consistency Validation for Designed Sequences
python3 -c "
from Bio.PDB import PDBParser, Superimposer
# Compare predicted vs. designed structure
# High TM-score (>0.8) = sequence encodes target fold
"
Output Files
| File | Contents |
|---|
*_relaxed_rank_1.pdb | Top-ranked relaxed structure |
*_unrelaxed_rank_1.pdb | Top-ranked unrelaxed structure |
result_model_*.json | Scores: pLDDT, pTM, ipTM, PAE matrix |
*_coverage.png | MSA coverage plot |
*_pae.png | PAE heatmap (low = confident) |
Quality Thresholds
| Metric | Poor | Acceptable | Good | Excellent |
|---|
| Mean pLDDT | <50 | 50–70 | 70–90 | >90 |
| pTM | <0.4 | 0.4–0.5 | 0.5–0.7 | >0.7 |
| ipTM (complex) | <0.5 | 0.5–0.6 | 0.6–0.8 | >0.8 |
| Interface PAE | >20 Å | 15–20 Å | 8–15 Å | <8 Å |
Common Issues
| Problem | Cause | Fix |
|---|
| Low ipTM despite high pLDDT | Chains fold well independently but don't interact | Redesign interface residues |
| High PAE at interface | Interface not well-determined | Add more recycles; check contact predictions |
| OOM on GPU | Sequence too long | Use --chunk-size 128 or CPU for MSA |
| All models disagree | Disordered region or wrong fold | Check MSA depth; try --msa-mode single_sequence |