How to Predict a Protein-Protein Complex with AlphaFold-Multimer in ColabFold (Step by Step)

Sooner or later a modelling project asks for a structure that does not exist. You need the receptor bound to its partner, you search the RCSB PDB, and the only entries are the two chains solved separately. AlphaFold-Multimer, run through the free ColabFold notebook, is the practical way to get a starting model of that complex, and the same run tells you whether the model deserves to be trusted.
What is the fastest way to predict a protein complex with AlphaFold?
Open the ColabFold AlphaFold2 notebook, paste both chain sequences into query_sequence separated by a colon, and run all cells. The colon signals a chain break, so ColabFold automatically switches to the AlphaFold2-multimer weights. Judge the result by ipTM: above 0.8 is confident, below 0.6 usually means the prediction failed.
What is AlphaFold-Multimer, and when do you need it?
Standard AlphaFold2 predicts a single folded chain. AlphaFold-Multimer is a separate set of trained weights built for assemblies, and it changes both the input features (the model knows which residues belong to which chain) and the loss the network was trained on. Richard Evans and colleagues at DeepMind published it as Protein complex prediction with AlphaFold-Multimer (bioRxiv, 2021). On their benchmark it predicted the correct interface (DockQ at or above 0.23) for 70% of heteromeric interfaces and 72% of homomeric interfaces, a large gain over the older workaround of fusing two chains with a flexible glycine linker.
You need it in three common situations:
- The complex has no PDB entry. Individual chains are solved, the assembly is not.
- You want a starting structure for MD. A predicted complex can be minimized, equilibrated and simulated, but only after the interface passes a confidence check.
- You want a physical hypothesis about an interaction found in a pull-down, a yeast two-hybrid screen, or an interactome database, and you need to see whether a plausible interface even exists.
What it is not is a docking program. AlphaFold-Multimer does not sample poses and score them. It predicts one arrangement per model and reports how sure it is. That distinction matters when you decide what to do with a low-confidence result, which is covered further down.
If you have not predicted a single chain yet, start with our walkthrough on how to predict a protein structure with AlphaFold, then come back. The complex workflow assumes you already know what a pLDDT band looks like.
Why run it in ColabFold instead of installing AlphaFold?
A local AlphaFold install needs roughly 2.5 TB of sequence databases and a serious GPU. ColabFold removes both barriers by replacing the slow HHblits and Jackhmmer homology search with a hosted MMseqs2 server. Milot Mirdita and colleagues describe the result in ColabFold: making protein folding accessible to all (Nature Methods 19, 679-682, 2022): the MMseqs2 search is 40 to 60 times faster than AlphaFold2’s own homology search, and the pipeline can produce close to 1,000 structures per day on a single-GPU server. The protocol paper, Easy and accurate protein structure prediction using ColabFold (Nature Protocols 20, 620-642, 2025), covers monomer prediction, complex prediction and conformation sampling in detail.
For a student, the practical version of that is simple: a free Colab GPU session, a browser, and no installation.
How do you enter a protein complex in ColabFold?
Open the ColabFold AlphaFold2 notebook (the header shows the version, v1.6.2 at the time of writing). The first cell has a field called query_sequence. The rule stated in that cell is to use a colon to specify inter-protein chain breaks, and it supports both homo-oligomers and hetero-oligomers.
Heterodimer. Paste chain A, a colon, then chain B, with no spaces or line breaks around the colon:
MKTAYIAKQRQ...ISFKQ:MSDKIIHLTDD...VNGEK
Homodimer. Paste the same sequence twice, separated by a colon. A trimer is the sequence three times, separated by two colons.
Mixed stoichiometry. For a 2:1 assembly of A and B, write A, colon, A, colon, B. ColabFold builds one MSA per unique sequence and copies it for repeated chains, so a homo-oligomer costs no extra search time.
Two checks before you run anything. First, the cell prints length, which counts residues after the colons are stripped, so compare it with the sum of your two chain lengths. Second, once the run starts, the log line names the model type. If it reads alphafold2_multimer_v3 you have a complex; if it reads alphafold2_ptm, ColabFold did not see a chain break and you are folding one long fusion protein by accident.
Which ColabFold settings actually matter for a complex?
Most defaults are fine. These are the fields worth a decision:
| Field | Default | For a complex | Why |
|---|---|---|---|
query_sequence | one chain | chains joined by : | The colon is the only thing that makes this a multimer run. |
model_type | auto | leave on auto | auto resolves to alphafold2_ptm for a monomer and alphafold2_multimer_v3 for a complex. |
pair_mode | unpaired_paired | leave as is | Pairs sequences from the same species and adds the unpaired MSA. The paired block carries the co-evolution signal across the interface. |
msa_mode | mmseqs2_uniref_env | leave as is | UniRef plus environmental sequences gives the deepest alignment. |
num_recycles | 3 | 12, or auto | Extra recycles let a marginal interface settle. On auto, multimer_v3 runs 20 recycles with early stopping. |
num_relax | 0 | 1 | Amber-relaxes the top-ranked model and removes clashes. Skip it on a first test run to save time. |
num_seeds | 1 | 2 to 8 when ipTM is borderline | Different random seeds sample different arrangements. Five models per seed means five extra chances. |
template_mode | none | none | Templates come from single chains and rarely help a novel interface. |
calc_extra_ptm | off | on for three or more chains | Reports pairwise chain ipTM, so you can see which specific interface is weak. |
Run everything with Runtime then Run all. A two-chain complex of a few hundred residues finishes on a free Colab T4 in roughly 15 to 40 minutes, most of it spent installing dependencies and building the MSA.
Want the guided, hands-on version?
Our live Molecular Modeling & MD Simulations cohort bootcamp takes you from zero to running real docking and MD workflows, with a portfolio project for your grad-school applications.
How do you read ipTM, pTM and the PAE plot?
This is the part students skip, and it is the part that decides whether the model is publishable or worthless. A complex prediction has four numbers worth reading.
| Metric | What it measures | How to read it |
|---|---|---|
| pLDDT | Per-residue local confidence, 0 to 100 | Above 90 very high, 70 to 90 confident, 50 to 70 low, below 50 usually disordered. Written into the B-factor column of the output PDB. |
| pTM | Confidence in the overall fold of the whole assembly | Above 0.5 means the global fold is likely similar to the true structure. |
| ipTM | Accuracy of the predicted position of the subunits relative to each other | Above 0.8 confident, 0.6 to 0.8 a grey zone, below 0.6 a likely failure. |
| PAE | Expected error in the relative position and orientation of any two residues | Read the off-diagonal blocks. Dark (low error) between chains means the interface is placed confidently. |
The thresholds are not folklore. Google DeepMind’s own AlphaFold 3 output documentation states that for ipTM, “Values higher than 0.8 represent confident high-quality predictions”, while values below 0.6 suggest a failed prediction and the 0.6 to 0.8 band can go either way.
The PAE plot is the honest one. ColabFold saves it as {jobname}_pae.png. Picture a square split into blocks: the top-left block is chain A against itself, the bottom-right block is chain B against itself, and the two off-diagonal blocks are A against B. Both chains can fold beautifully (dark diagonal blocks, high pLDDT) while the off-diagonal blocks stay pale, which means the model has no idea how the two chains sit together. High pLDDT with a pale off-diagonal block and a low ipTM is the classic failed complex, and it is easy to mistake for success if you only look at the cartoon.
ColabFold ranks complex models by the combined ranking confidence defined in the AlphaFold-Multimer paper, weighting ipTM at 0.8 and pTM at 0.2, so rank_001 is the best-scoring model rather than the first one computed.
What files does ColabFold give you, and which ones matter?
The run writes a folder named after your jobname. The files you will actually use:
{jobname}_unrelaxed_rank_001_alphafold2_multimer_v3_model_X_seed_000.pdband the matching_relaxed_file if you setnum_relaxto 1. This is your structure.{jobname}_scores_rank_001_...json, which holds the per-model pLDDT array, pTM, ipTM and the full PAE matrix.{jobname}_pae.png,{jobname}_plddt.pngand{jobname}_coverage.png. The coverage plot shows MSA depth; a shallow alignment for either chain is an early warning that the interface prediction will be weak.{jobname}_predicted_aligned_error_v1.json, the PAE in the format other tools expect.log.txt, which records the model type, recycles and the per-model scores. Quote these in your methods section.
Download the whole folder before the Colab session times out. Anything left in the runtime is gone when the session ends, so set save_to_google_drive if you are running something long.
What do you do when the prediction is low confidence?
An ipTM of 0.35 is not a failure of your skills. It is information: the model found no co-evolutionary or structural support for that interface. Options, in the order worth trying:
- Add seeds. Set
num_seedsto 4 or 8. Interfaces in the grey zone sometimes converge with more sampling. - Trim to domains. Long disordered tails add residues, cost memory and drag the average scores down. Predict the interacting domains rather than the full-length proteins.
- Check the MSA depth. If the coverage plot shows a shallow alignment for one chain, AlphaFold has little to work with, and no setting fixes that.
- Switch to protein-protein docking. Docking samples poses explicitly and can use experimental restraints. Our guide on protein-protein docking with ClusPro, HDOCK and HADDOCK covers the free servers, and HADDOCK in particular lets you drive the search with mutagenesis or crosslinking data that AlphaFold cannot see.
Whichever route you take, validate the geometry before the structure goes anywhere else. Run the model through the checks in our guide on how to validate a protein structure, then follow the preparation steps in how to prepare a protein for molecular dynamics if the next step is a simulation.
Troubleshooting: real errors and what fixes them
| What you see | Cause | Fix |
|---|---|---|
The log says alphafold2_ptm, and the model is one long chain | No colon was detected in query_sequence | Re-paste the sequences with a colon and no line break between them. Confirm the printed length matches the sum of both chains. |
| Session crashes partway through the prediction | Colab GPU memory exhausted by total sequence length | Trim disordered termini, reduce the number of copies, or lower max_msa to 256:512. |
| Every model scores well per chain but ipTM stays near 0.3 | No interface signal, not a technical error | Add seeds, trim to the interacting domains, then move to docking if it does not improve. |
| Runtime disconnects and results are lost | Free Colab idle and session limits | Enable save_to_google_drive, keep the browser tab active, and download results as soon as the run finishes. |
| The MSA step hangs or fails | The public MMseqs2 API is busy or rate-limiting | Wait and rerun. Repeated heavy use should move to a local ColabFold install rather than the shared server. |
| Amber relaxation takes very long or errors out | relax_max_iterations set to 0, which means unlimited | Set relax_max_iterations to 200, or set num_relax to 0 and relax later. |
How should you report this in a thesis or paper?
Give the reader enough to reproduce the run: the ColabFold version, the model type (alphafold2_multimer_v3), MSA mode and pairing mode, number of recycles, number of seeds, whether Amber relaxation was applied, and the pLDDT, pTM and ipTM of the model you used. Cite both the AlphaFold-Multimer preprint and the ColabFold papers, since the MSA pipeline is not the one in the original AlphaFold publication. Include the PAE plot as a supplementary figure. Reviewers who work on complexes look for it, and its absence reads as an unexamined model.
For where this step sits in a full computational structural biology skill set, see our computational biology skills roadmap. If you are still deciding between prediction methods, AlphaFold vs homology modelling vs experimental structures compares them on accuracy, coverage and what each one can and cannot tell you.
Frequently asked questions
Can ColabFold predict a complex with more than two chains?
Yes. Separate every chain with a colon, so a trimer uses two colons. Memory on a free Colab GPU is the practical limit, and total length matters more than chain count. Turn on calc_extra_ptm to get pairwise chain ipTM values so you can tell which interface is the weak one.
Does AlphaFold-Multimer work for antibody-antigen complexes?
It works less well than for other interfaces. Antibody binding depends on CDR loops that vary between clones, so the co-evolution signal AlphaFold relies on is largely absent. Treat any antibody-antigen prediction as a hypothesis, check the PAE across the interface, and consider specialized docking with experimental restraints.
Can I predict a protein-ligand or protein-DNA complex this way?
No. AlphaFold-Multimer handles protein chains only. For a small molecule bound to a protein, use molecular docking, then run molecular dynamics on the complex. Newer models including AlphaFold 3 and the notebooks built around it handle ligands and nucleic acids, with their own licence terms.
How long does one complex prediction take?
On a free Colab T4, a two-chain complex of a few hundred residues typically takes 15 to 40 minutes end to end, including dependency installation and the MMseqs2 search. Larger assemblies, more seeds, or more recycles push it past an hour and raise the risk of a session timeout.
Is a predicted complex good enough to start an MD simulation?
Only if the interface is confident. Check that ipTM is above 0.8, that interface residues have high pLDDT, and that the off-diagonal PAE block is low. Then relax the model, validate the geometry, and prepare it as you would any experimental structure before minimization and equilibration.
The short version
A colon in the sequence box turns a monomer prediction into a complex prediction, and ipTM plus the PAE plot decide whether that complex is worth keeping. Predicting the structure takes half an hour; reading the confidence honestly is the skill that separates a usable model from a picture. Written by the StemSkills Lab team, who work in sequence and structural bioinformatics, drug discovery and design, and multiscale molecular modeling.
Want the guided, hands-on version?
Our live Molecular Modeling & MD Simulations cohort bootcamp takes you from zero to running real docking and MD workflows, with a portfolio project for your grad-school applications.
Sources
- Evans R, O’Neill M, Pritzel A, et al. Protein complex prediction with AlphaFold-Multimer. bioRxiv, 2021. DOI: 10.1101/2021.10.04.463034
- Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S, Steinegger M. ColabFold: making protein folding accessible to all. Nature Methods 19, 679-682 (2022). DOI: 10.1038/s41592-022-01488-1
- Kim G, Lee S, Levy Karin E, et al. Easy and accurate protein structure prediction using ColabFold. Nature Protocols 20, 620-642 (2025).
- Google DeepMind. AlphaFold 3 output documentation: confidence metrics.
- ColabFold repository and notebooks, Steinegger and Ovchinnikov labs.
