Skip to content

Boltz-2 Protein-Protein Binding Surfaces

Boltz-2 Protein-Protein Binding Surfaces

Give two protein sequences and get back several likely ways they bind, each with a ranked confidence and the residues at the interface.

This tool takes two proteins and predicts how they dock onto each other. You give it two amino acid sequences, and Boltz-2 folds them together many times, then groups the results into a handful of distinct binding surfaces. A binding surface is the patch on each protein where the two come into contact.

Because a pair of proteins can often bind in more than one plausible way, the tool does not return a single answer. It runs several predictions, scores each one, groups similar ones together, and returns a few diverse representatives so you can see the leading candidate interfaces rather than just one.

The minimal input is two sequences. By default it returns 5 surfaces from 15 prediction samples. The combined length of the two chains is capped at 1500 residues.

Use it when you have two proteins and want to know whether and how they might bind, for example an antibody and its target, two subunits of a complex, or a binder you are designing against a target. It is a fast way to get candidate interfaces and the specific residues involved, which you can then follow up with more detailed structural or free energy work.

InputRequiredWhat it is
protein_ayesThe first protein chain, given as a JSON object (a single chain, not a list). The smallest value is {"sequence": "<one-letter amino acid string>"}. Its chain identifier defaults to A.
protein_byesThe second protein chain, given the same way as protein_a. Its chain identifier defaults to B.
n_surfacesnoHow many representative binding surfaces to return, from 1 to 20. Defaults to 5.
n_diffusion_samplesnoHow many predictions Boltz-2 runs before grouping them, from 2 to 50. Defaults to 15. More samples explore more possibilities but take longer.
runtimenoRun settings, given as {use_msa_server, use_potentials, no_kernels}. Defaults are use_msa_server=true, use_potentials=false, no_kernels=false. The output is always written as a PDB file so it renders directly in the viewer.

Submit your two proteins from Azulene Studio, the Python SDK, or the CLI. New here? The Get started page walks through installing, logging in, and running a ready made example first.

Open Boltz-2 Protein-Protein Binding Surfaces from the tools list, then on the Inputs and Parameters step paste the sequence for each of the two proteins, optionally change how many surfaces you want back, then Review and Submit.

from opal import jobs
result = jobs.submit(
job_type="boltz_ppi",
input_data={
"protein_a": {"sequence": "MNIFEMLRIDEGLRLKIYKDTEGYYTIGIGHLLTKSPSLNAAK"},
"protein_b": {"sequence": "KALTARQQEVFDLIRDHISQTGMPPTRAEIAQRLGFRSPNAAEEHLKALARKGVIEIVSGASRGIRLLQEE"},
"n_surfaces": 5,
},
)

Pass the inputs as a JSON string.

Terminal window
opal jobs submit --job-type boltz_ppi \
--input-data '{"protein_a": {"sequence": "MNIFEMLRIDEGLRLKIYKDTEGYYTIGIGHLLTKSPSLNAAK"}, "protein_b": {"sequence": "KALTARQQEVFDLIRDHISQTGMPPTRAEIAQRLGFRSPNAAEEHLKALARKGVIEIVSGASRGIRLLQEE"}, "n_surfaces": 5}'

You get back up to n_surfaces predicted complexes, each written as a PDB file (a plain text format listing every atom and its position) that you can download from the Files tab and open in any molecular viewer. Each one is a distinct way the two proteins were predicted to bind.

Every surface comes with a ranked confidence score so you can tell the stronger candidates from the weaker ones, and a list of the interface residues, the specific amino acids on each protein that sit at the contact patch. The surfaces are ordered best first.

Treat this as a fast way to find and rank candidate interfaces. For a rigorous estimate of how tightly two proteins bind once you have a candidate interface, follow up with a free energy calculation.

Two sequences are enough for a first run. The combined length of both chains is capped at 1500 residues. Asking for more diffusion samples explores more binding possibilities but increases runtime, which also grows with the length of the chains. The tool runs on a GPU, and by default the alignment step uses the public Boltz alignment server.