Skip to main content

    Boltz-2 inputs and parameters

    Chain entries, recycling and sampling steps, MSA and affinity options.

    A Boltz-2 job is a list of chain entries plus a few sampling parameters. There is no receptor-structure input and no pocket definition: every entity goes in as a sequence (or, for a ligand, a SMILES string), and the model folds them together.

    Chain entries

    sequences is required: an array of 1 to 20 entries. Each entry carries three fields, all required.

    chain_idstringrequired

    Single-character chain identifier, for example A, B, C.

    sequence_type"protein" | "dna" | "rna" | "ligand"required

    What the entry is. protein takes an amino-acid sequence, dna and rna take a nucleotide sequence, and ligand takes a SMILES string.

    sequencestringrequired

    The amino-acid sequence, nucleotide sequence, or SMILES — matching sequence_type.

    A protein–ligand job is therefore two entries: one protein chain with the receptor sequence, and one ligand chain whose sequence is the ligand SMILES.

    Sampling parameters

    num_recycling_stepsintegerdefault: 3

    Recycling iterations for structure refinement. Accepted range 1–10.

    sampling_stepsintegerdefault: 200

    Diffusion sampling steps. Accepted range 1–500. Below about 50 the structures are low quality — that range exists for plumbing and probe runs, not for science.

    output_format"pdb" | "mmcif"default: pdb

    Structure format for the returned file. Both a PDB and an mmCIF artifact URI come back in the result regardless; this selects which one the run writes first. The backend's own default is mmcif, and the platform submits pdb unless you ask for mmcif.

    MSA generation

    use_msa_serverbooleandefault: false

    Generate MSAs through the public ColabFold MMseqs2 server for any protein chain that supplies no MSA of its own.

    This is opt-in for two reasons, both worth weighing:

    • It transmits your sequences to a third-party service.
    • It can add 30 seconds to 10 minutes of latency, depending on sequence length and the server's queue.

    Left off, protein chains run in explicit single-sequence mode (msa: empty) and the result sets single_sequence_mode: true. Upstream notes that predictions are suboptimal without an MSA, so read that flag before comparing two runs.

    Affinity prediction

    predict_affinitybooleandefault: false

    Also predict binding affinity for the complex.

    Three conditions apply:

    1. The complex must have more than one chain and at least one ligand entry. The first ligand chain is used as the binder.
    2. The ligand must be at most 128 heavy atoms. Above that, Boltz refuses affinity prediction, so the platform submits the job with predict_affinity=false and returns a note saying affinity was skipped and why — the structure is still produced. Do not resubmit the same ligand with affinity on.
    3. The output is a predicted log10(IC50 [µM]). See results.

    Example chain list

    {
      "sequences": [
        { "chain_id": "A", "sequence_type": "protein", "sequence": "MKFLILLFNILCLFPVLAADNHGVSMQAYSALRHYP" },
        { "chain_id": "B", "sequence_type": "ligand", "sequence": "CC(=O)Oc1ccccc1C(=O)O" }
      ],
      "num_recycling_steps": 3,
      "sampling_steps": 200,
      "output_format": "pdb",
      "predict_affinity": true
    }

    Was this page helpful?

    On this page

    On this page

    Loading...