Lesson 14 of 14 · 11 min
Wrap-up: a prediction workflow and where to go next
The end-to-end workflow
Every task in this course collapses into one decision path: check whether a usable template exists, and either way hand the sequence to a modern predictor that folds it from its multiple sequence alignment. In practice you run ColabFold, rank the models, triage them with pLDDT and PAE, confirm the geometry is physically sane, and only then use the coordinates for anything downstream. A template close in sequence still helps convergence and speed, but AlphaFold2 no longer needs one to reach atomic accuracy.
colabfold_batch \
--num-recycle 3 \
--num-models 5 \
--rank plddt \
--templates \
--amber --use-gpu-relax \
target.fasta results/2026-07-13 03:14:02 Running colabfold 1.5.5 (5209b3e)
2026-07-13 03:14:05 Query 1/1: target (length 214)
2026-07-13 03:14:41 Sequence 1 found 3182 sequences in the MSA
2026-07-13 03:16:22 alphafold2_ptm_model_1_seed_000 recycle=3 pLDDT=90.8 pTM=0.85
2026-07-13 03:17:10 alphafold2_ptm_model_3_seed_000 recycle=3 pLDDT=92.4 pTM=0.87
2026-07-13 03:18:39 reranking models by 'plddt'
2026-07-13 03:18:39 rank_001 -> alphafold2_ptm_model_3_seed_000 pLDDT=92.4 pTM=0.87
2026-07-13 03:19:55 Done
Triage with pLDDT and PAE
import json, numpy as np
path = "results/target_scores_rank_001_alphafold2_ptm_model_3_seed_000.json"
with open(path) as fh:
s = json.load(fh)
plddt = np.asarray(s["plddt"])
pae = np.asarray(s["pae"])
print(f"mean pLDDT : {plddt.mean():.1f}")
print(f"residues <70 : {int((plddt < 70).sum())}")
print(f"global max PAE : {pae.max():.1f} A")
print(f"pTM : {s['ptm']:.2f}")mean pLDDT : 92.4
residues <70 : 17
global max PAE : 24.8 A
pTM : 0.87
Warning: pLDDT is a per-residue local confidence, written into the B-factor column of the output PDB, so a high mean can still hide a mis-docked domain, which is exactly what PAE exposes as high off-diagonal blocks. For complexes, rank by ipTM instead of pLDDT and read the inter-chain PAE block to judge whether the predicted interface is real.
phenix.molprobity \
results/target_relaxed_rank_001_alphafold2_ptm_model_3_seed_000.pdb Ramachandran outliers = 0.47 %
favored = 97.65 %
Rotamer outliers = 1.21 %
C-beta deviations = 0
Clashscore = 3.42
RMS(bonds) = 0.0069
RMS(angles) = 0.91
MolProbity score = 1.38
Once a model survives confidence triage and geometry checks, treat it like an experimental structure that carries error bars. Well-folded high-pLDDT regions are ready for pocket detection with fpocket, ligand docking with AutoDock Vina, or as a starting frame for MD refinement in GROMACS or OpenMM. Keep low-pLDDT loops and flexible termini out of quantitative analysis, and do not over-interpret side-chain rotamers wherever pLDDT is low.
Where to go next: AlphaFold3 and RoseTTAFold All-Atom extend prediction to full biological assemblies with nucleic acids, ligands, ions, and covalent modifications, while RFdiffusion paired with ProteinMPNN and an AlphaFold2 filter inverts the problem into de novo backbone and binder design. To keep practising, mine the AlphaFold Protein Structure Database, track the ColabFold repository for new presets, search structures with Foldseek, and read the latest CASP assessments for an unbiased view of where the methods still fail.