Skill v1.0.0
currentAutomated scan100/100name: alphafold2_skill description: > 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. version: 1.0.0 type: worker license: Apache-2.0 category: biomodels requirements: [gpu] metadata: display-name: AlphaFold2 # README #model-parameters-license: "AlphaFold parameters … CC BY 4.0". # SKILL.md body: "the public MMseqs2 server" (api.colabfold.com — user's # sequence is POSTed there for MSA). verified 2026-06-30 third_party:
- kind: weights
name: AlphaFold2 provider: Google DeepMind license: CC-BY-4.0 terms_url: https://github.com/google-deepmind/alphafold#model-parameters-license # api.colabfold.com has no published ToS or privacy policy. The GitHub # wiki is the closest data-use reference (info_url, not terms_url). # Hostname in name so the user sees exactly where their sequence goes.
- kind: service
name: ColabFold MSA server (api.colabfold.com) provider: Steinegger Lab info_url: https://github.com/sokrypton/ColabFold/wiki
AlphaFold2 (ColabFold runner)
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.
Running it
colabfold_batch input.fasta out \--num-recycle 3 \--model-type alphafold2_multimer_v3
The 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.
Unified-memory defaults loop forever under gVisor — the env patches them out
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.
The MSA server is the wall-clock bottleneck, and it is shared
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.
Errors worth recognizing
| 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.