Predict protein structure for monomers and multimers with AlphaFold2 via the ColabFold runner (Mirdita et al. 2022, github.com/sokrypton/ColabFold; AlphaFold2 Jumper et al. 2021). Reach for this skill to fold a sequence or complex with the AF2/AF2-Multimer evoformer, to validate designed sequences by self-consistency pLDDT, ipTM, and RMSD, or to run a quick MSA-backed prediction using the public MMseqs2 server.
78
100%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
This skill wraps AlphaFold2 and AlphaFold2-Multimer through colabfold_batch,
which replaces DeepMind's local-database MSA pipeline with a call to the public
MMseqs2 server — so a prediction is one command and one FASTA, not a 2 TB
database mount. AF2 remains the reference monomer predictor and the multimer
model is still a strong protein–protein validator, but it does not handle
ligands or nucleic acids; for those, route to boltz, chai1, or openfold3.
The ColabFold code is MIT (github.com/sokrypton/ColabFold) and the AlphaFold2
code is Apache-2.0 (github.com/google-deepmind/alphafold); the AF2 model
parameters are CC-BY-4.0 with DeepMind's terms of use.
colabfold_batch input.fasta out \
--num-recycle 3 \
--model-type alphafold2_multimer_v3The input is a plain FASTA. For a complex, put every chain on one sequence
line separated by : — colabfold_batch builds a paired MSA per segment and
runs the multimer model when it sees the colon (so the explicit --model-type alphafold2_multimer_v3 above is belt-and-braces). For monomers omit
--model-type and the colon. --templates and --amber add PDB templates
and OpenMM relaxation respectively; both are off by default and both add
minutes per model.
ColabFold runs all five AF2 model weights by default and ranks them by pLDDT
(pTM/ipTM for multimer), so output per query lands in out/ as five ranked
PDBs <name>_unrelaxed_rank_00{1..5}_*.pdb (b-factor column carries pLDDT)
and a matching <name>_scores_rank_00{N}_*.json with plddt, ptm, and — for
multimer — iptm and the pae matrix. Rank-1 is the model to read first;
ipTM > 0.5 is the usual soft pass for an interface.
colabfold/batch.py hard-sets TF_FORCE_UNIFIED_MEMORY=1 and
XLA_PYTHON_CLIENT_MEM_FRACTION=4.0 on import. Under a gVisor sandbox unified
memory is unsupported, so JAX's device_put loops indefinitely allocating
host RAM during AF2 parameter load — the job appears hung, never errors.
Override both before the import (TF_FORCE_UNIFIED_MEMORY=0, fraction
0.95), or sed-patch the two assignments out of batch.py in the image
build, or the first fold never starts.
colabfold_batch defaults to --msa-mode mmseqs2_uniref_env, which posts your
sequence to api.colabfold.com. That server is a public, rate-limited
resource: the wait dominates short folds and occasionally times out under load.
For campaigns, run the MSA stage once with --msa-only, keep the resulting
.a3m files, and feed the directory back as the input on subsequent runs — the
GPU stage then starts immediately and the server is not hit again.
| You see | It means / do this |
|---|---|
| Job hangs silently during "Running model_1" with host RAM climbing | Unified-memory loop under gVisor — see the gotcha above; override or patch batch.py. |
RESOURCE_EXHAUSTED / OOM during XLA compile | XLA_PYTHON_CLIENT_MEM_FRACTION too high for the GPU — drop below the 0.95 default to 0.9 or so. |
MSA stage hangs at Submitting job | Public MMseqs2 server is rate-limiting — wait, or pre-compute with --msa-only and re-run from the cached .a3m. |
Next: for designed-sequence validation, superpose the rank-1 model onto
the design backbone with US-align and gate on pLDDT/ipTM thresholds; for
ligand-bearing complexes, hand the same chains to boltz or chai1.
f618458
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.