Skip to content
Go to Boltz API

Start a structure and binding prediction

client.Predictions.StructureAndBinding.Start(ctx, body) (*PredictionStructureAndBindingStartResponse, error)
POST/compute/v1/predictions/structure-and-binding

Submit a prediction job that produces 3D structure coordinates and confidence scores for the input molecular complex, with optional binding metrics. Protein entities can use automatic MSA generation, custom A3M/CSV MSAs, or empty MSA mode. Boltz-2.1 predictions can also include up to 4 CIF or PDB templates to guide protein-chain geometry.

ParametersExpand Collapse
body PredictionStructureAndBindingStartParams
Entities []PredictionStructureAndBindingStartParamsInputEntityUnion

Entities (proteins, RNA, DNA, ligands) forming the complex to predict. Order determines chain assignment.

One of the following:
type PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntity struct{…}
ChainIDs []string

Chain IDs for this entity

Type Protein
Value string

Amino acid sequence (one-letter codes)

Cyclic boolOptional

Whether the sequence is cyclic

Modifications []PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntityModificationOptional

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd

Modification format. Only CCD polymer modifications are supported.

Value string

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

Msa PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntityMsaUnionOptional

Optional protein MSA control. Omit msa on all protein entities to use automatic MSA generation. Use custom for user-provided A3M/CSV files, or empty for single-sequence mode. Custom MSA and automatic MSA cannot be mixed in one request.

One of the following:
type PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntityMsaBoltz2CustomMsa struct{…}

Use a user-provided MSA for this protein entity. If any protein entity uses a custom MSA, every other protein entity must use either custom or empty MSA; automatic MSA generation cannot be mixed with custom MSAs in the same request.

Format PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntityMsaBoltz2CustomMsaFormat

Custom MSA file format. Base64 uploads must use media_type text/x-a3m for A3M or text/csv for CSV.

One of the following:
const PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntityMsaBoltz2CustomMsaFormatA3m PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntityMsaBoltz2CustomMsaFormat = "a3m"
const PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntityMsaBoltz2CustomMsaFormatCsv PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntityMsaBoltz2CustomMsaFormat = "csv"
Source PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntityMsaBoltz2CustomMsaSourceUnion

How to provide a file to the API

One of the following:
type PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntityMsaBoltz2CustomMsaSourceURLSource struct{…}
Type URL
URL string
formaturi
type PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntityMsaBoltz2CustomMsaSourceBase64Source struct{…}
Data string

Base64-encoded file contents

MediaType string

MIME type (e.g., text/csv)

Type Base64
Type Custom
type PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntityMsaBoltz2EmptyMsa struct{…}

Run this protein entity in single-sequence mode without an MSA. Use this for chains that should not use automatic MSA generation, including non-homologous chains in a request that also includes custom MSAs.

Type Empty
type PredictionStructureAndBindingStartParamsInputEntityRnaEntity struct{…}
ChainIDs []string

Chain IDs for this entity

Type Rna
Value string

RNA nucleotide sequence (A, C, G, U, N)

Cyclic boolOptional

Whether the sequence is cyclic

Modifications []PredictionStructureAndBindingStartParamsInputEntityRnaEntityModificationOptional

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd

Modification format. Only CCD polymer modifications are supported.

Value string

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

type PredictionStructureAndBindingStartParamsInputEntityDnaEntity struct{…}
ChainIDs []string

Chain IDs for this entity

Type Dna
Value string

DNA nucleotide sequence (A, C, G, T, N)

Cyclic boolOptional

Whether the sequence is cyclic

Modifications []PredictionStructureAndBindingStartParamsInputEntityDnaEntityModificationOptional

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd

Modification format. Only CCD polymer modifications are supported.

Value string

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

type PredictionStructureAndBindingStartParamsInputEntityLigandCcdEntity struct{…}
ChainIDs []string

Chain IDs for this ligand

Type LigandCcd
Value string

CCD code (e.g., ATP, ADP)

type PredictionStructureAndBindingStartParamsInputEntityLigandSmilesEntity struct{…}
ChainIDs []string

Chain IDs for this ligand

Type LigandSmiles
Value string

SMILES string representing the ligand

Binding PredictionStructureAndBindingStartParamsInputBindingUnionOptional
One of the following:
type PredictionStructureAndBindingStartParamsInputBindingLigandProteinBinding struct{…}
BinderChainID string

Chain ID of the ligand binder (must have exactly 1 copy, <50 atoms, and only ligands+proteins in entities)

Type LigandProteinBinding
type PredictionStructureAndBindingStartParamsInputBindingProteinProteinBinding struct{…}
BinderChainIDs []string

Chain IDs of the protein binders

Type ProteinProteinBinding
Bonds []PredictionStructureAndBindingStartParamsInputBondOptional

Bond constraints between atoms. Atom-level ligand references currently support ligand_ccd only; ligand_smiles is unsupported.

Atom1 PredictionStructureAndBindingStartParamsInputBondAtom1Union

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

One of the following:
type PredictionStructureAndBindingStartParamsInputBondAtom1LigandAtom struct{…}

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Standardized atom name (verifiable in CIF file on RCSB). Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID containing the atom

Type LigandAtom
type PredictionStructureAndBindingStartParamsInputBondAtom1PolymerAtom struct{…}
AtomName string

Standardized atom name (verifiable in CIF file on RCSB)

ChainID string

Chain ID containing the atom

ResidueIndex int64

0-based residue index

minimum0
Type PolymerAtom
Atom2 PredictionStructureAndBindingStartParamsInputBondAtom2Union

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

One of the following:
type PredictionStructureAndBindingStartParamsInputBondAtom2LigandAtom struct{…}

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Standardized atom name (verifiable in CIF file on RCSB). Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID containing the atom

Type LigandAtom
type PredictionStructureAndBindingStartParamsInputBondAtom2PolymerAtom struct{…}
AtomName string

Standardized atom name (verifiable in CIF file on RCSB)

ChainID string

Chain ID containing the atom

ResidueIndex int64

0-based residue index

minimum0
Type PolymerAtom
Constraints []PredictionStructureAndBindingStartParamsInputConstraintUnionOptional

Structural constraints (pocket and contact). Atom-level ligand references currently support ligand_ccd only; ligand_smiles is unsupported.

One of the following:
type PredictionStructureAndBindingStartParamsInputConstraintPocketConstraint struct{…}

Constrains the binder to interact with specific pocket residues on the target.

BinderChainID string

Chain ID of the binder molecule

ContactResidues map[string, []int64]

Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. “A”) and the value is an array of 0-indexed residue indices that define the pocket on that chain.

MaxDistanceAngstrom float64

Maximum allowed distance in Angstroms between binder and pocket residues. Typical range: 4-8 A.

Type Pocket
Force boolOptional

Whether to force the constraint

type PredictionStructureAndBindingStartParamsInputConstraintContactConstraint struct{…}

Contact constraint between two tokens. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

MaxDistanceAngstrom float64

Maximum distance in Angstroms

Token1 PredictionStructureAndBindingStartParamsInputConstraintContactConstraintToken1Union

Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

One of the following:
type PredictionStructureAndBindingStartParamsInputConstraintContactConstraintToken1PolymerContactToken struct{…}
ChainID string

Chain ID

ResidueIndex int64

0-based residue index

minimum0
Type PolymerContact
type PredictionStructureAndBindingStartParamsInputConstraintContactConstraintToken1LigandContactToken struct{…}

Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Atom name. Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID

Type LigandContact
Token2 PredictionStructureAndBindingStartParamsInputConstraintContactConstraintToken2Union

Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

One of the following:
type PredictionStructureAndBindingStartParamsInputConstraintContactConstraintToken2PolymerContactToken struct{…}
ChainID string

Chain ID

ResidueIndex int64

0-based residue index

minimum0
Type PolymerContact
type PredictionStructureAndBindingStartParamsInputConstraintContactConstraintToken2LigandContactToken struct{…}

Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Atom name. Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID

Type LigandContact
Type Contact
Force boolOptional

Whether to force the constraint

ModelOptions PredictionStructureAndBindingStartParamsInputModelOptionsOptional
RecyclingSteps int64Optional

The number of recycling steps to use for prediction. Default is 3.

minimum1
SamplingSteps int64Optional

The number of sampling steps to use for prediction. Default is 200.

minimum50
StepScale float64Optional

Diffusion step scale (temperature). Controls sampling diversity — higher values produce more varied structures. Default is 1.638.

minimum1.3
maximum2
NumSamples int64Optional

Number of structure samples to generate (1-10)

minimum1
maximum10
Templates []PredictionStructureAndBindingStartParamsInputTemplateOptional

Template structure files to guide protein-chain prediction. Supports up to 4 CIF or PDB templates from HTTPS URLs or base64 uploads. Use template_chains to map request chains to template-file chains.

TemplateChains []PredictionStructureAndBindingStartParamsInputTemplateTemplateChain

Request-to-template chain mappings. Each input_chain_id and template_chain_id must be unique within this template.

InputChainID string

Chain ID in this prediction request

TemplateChainID string

Corresponding chain ID in the template structure file

TemplateStructure PredictionStructureAndBindingStartParamsInputTemplateTemplateStructureUnion

How to provide a template structure file. URLs must point to a CIF or PDB file; base64 uploads must use chemical/x-cif or chemical/x-pdb.

One of the following:
type PredictionStructureAndBindingStartParamsInputTemplateTemplateStructureURLSource struct{…}
Type URL
URL string
formaturi
type PredictionStructureAndBindingStartParamsInputTemplateTemplateStructureTemplateStructureBase64Source struct{…}
Data string

Base64-encoded template structure file contents

MediaType PredictionStructureAndBindingStartParamsInputTemplateTemplateStructureTemplateStructureBase64SourceMediaType

Template structure MIME type

One of the following:
const PredictionStructureAndBindingStartParamsInputTemplateTemplateStructureTemplateStructureBase64SourceMediaTypeChemicalXCif PredictionStructureAndBindingStartParamsInputTemplateTemplateStructureTemplateStructureBase64SourceMediaType = "chemical/x-cif"

CIF template structure

const PredictionStructureAndBindingStartParamsInputTemplateTemplateStructureTemplateStructureBase64SourceMediaTypeChemicalXPdb PredictionStructureAndBindingStartParamsInputTemplateTemplateStructureTemplateStructureBase64SourceMediaType = "chemical/x-pdb"

PDB template structure

Type Base64
ForceThresholdAngstroms float64Optional

Force the template reference potential with this distance threshold in angstroms. Omit to use the template without force.

minimum0
Model param.Field[Boltz2_1]

Model to use for prediction

const Boltz2_1Boltz2_1 Boltz2_1 = "boltz-2.1"
IdempotencyKey param.Field[string]Optional

Client-provided key to prevent duplicate submissions on retries

maxLength255
WorkspaceID param.Field[string]Optional

Target workspace ID (admin keys only; ignored for workspace keys)

ReturnsExpand Collapse
type PredictionStructureAndBindingStartResponse struct{…}
ID string

Unique prediction identifier

CompletedAt Time
formatdate-time
CreatedAt Time
formatdate-time
DataDeletedAt Time

When the input/output data was deleted, or null if still available

formatdate-time
Error PredictionStructureAndBindingStartResponseError

Error details when failed

Code string

Machine-readable error code

Message string

Human-readable error message

Details anyOptional

Additional field-level error details keyed by input path, when available.

ExpiresAt Time

When this resource and its associated data will be permanently deleted. Null while still in progress.

formatdate-time
Input PredictionStructureAndBindingStartResponseInput

Prediction input (null if data deleted)

Entities []PredictionStructureAndBindingStartResponseInputEntityUnion

Entities (proteins, RNA, DNA, ligands) forming the complex to predict. Order determines chain assignment.

One of the following:
type PredictionStructureAndBindingStartResponseInputEntityBoltz2ProteinEntityResponse struct{…}
ChainIDs []string

Chain IDs for this entity

Type Protein
Value string

Amino acid sequence (one-letter codes)

Cyclic boolOptional

Whether the sequence is cyclic

Modifications []PredictionStructureAndBindingStartResponseInputEntityBoltz2ProteinEntityResponseModificationOptional

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd

Modification format. Only CCD polymer modifications are supported.

Value string

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

Msa PredictionStructureAndBindingStartResponseInputEntityBoltz2ProteinEntityResponseMsaUnionOptional

Optional protein MSA control. Omit msa on all protein entities to use automatic MSA generation. Use custom for user-provided A3M/CSV files, or empty for single-sequence mode. Custom MSA and automatic MSA cannot be mixed in one request.

One of the following:
type PredictionStructureAndBindingStartResponseInputEntityBoltz2ProteinEntityResponseMsaBoltz2CustomMsaResponse struct{…}

Use a user-provided MSA for this protein entity. If any protein entity uses a custom MSA, every other protein entity must use either custom or empty MSA; automatic MSA generation cannot be mixed with custom MSAs in the same request.

Format PredictionStructureAndBindingStartResponseInputEntityBoltz2ProteinEntityResponseMsaBoltz2CustomMsaResponseFormat

Custom MSA file format. Base64 uploads must use media_type text/x-a3m for A3M or text/csv for CSV.

One of the following:
const PredictionStructureAndBindingStartResponseInputEntityBoltz2ProteinEntityResponseMsaBoltz2CustomMsaResponseFormatA3m PredictionStructureAndBindingStartResponseInputEntityBoltz2ProteinEntityResponseMsaBoltz2CustomMsaResponseFormat = "a3m"
const PredictionStructureAndBindingStartResponseInputEntityBoltz2ProteinEntityResponseMsaBoltz2CustomMsaResponseFormatCsv PredictionStructureAndBindingStartResponseInputEntityBoltz2ProteinEntityResponseMsaBoltz2CustomMsaResponseFormat = "csv"
Source PredictionStructureAndBindingStartResponseInputEntityBoltz2ProteinEntityResponseMsaBoltz2CustomMsaResponseSource
URL string

URL to download the file

formaturi
URLExpiresAt Time

When the presigned URL expires

formatdate-time
Type Custom
type PredictionStructureAndBindingStartResponseInputEntityBoltz2ProteinEntityResponseMsaBoltz2EmptyMsaResponse struct{…}

Run this protein entity in single-sequence mode without an MSA. Use this for chains that should not use automatic MSA generation, including non-homologous chains in a request that also includes custom MSAs.

Type Empty
type PredictionStructureAndBindingStartResponseInputEntityRnaEntityResponse struct{…}
ChainIDs []string

Chain IDs for this entity

Type Rna
Value string

RNA nucleotide sequence (A, C, G, U, N)

Cyclic boolOptional

Whether the sequence is cyclic

Modifications []PredictionStructureAndBindingStartResponseInputEntityRnaEntityResponseModificationOptional

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd

Modification format. Only CCD polymer modifications are supported.

Value string

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

type PredictionStructureAndBindingStartResponseInputEntityDnaEntityResponse struct{…}
ChainIDs []string

Chain IDs for this entity

Type Dna
Value string

DNA nucleotide sequence (A, C, G, T, N)

Cyclic boolOptional

Whether the sequence is cyclic

Modifications []PredictionStructureAndBindingStartResponseInputEntityDnaEntityResponseModificationOptional

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd

Modification format. Only CCD polymer modifications are supported.

Value string

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

type PredictionStructureAndBindingStartResponseInputEntityLigandCcdEntityResponse struct{…}
ChainIDs []string

Chain IDs for this ligand

Type LigandCcd
Value string

CCD code (e.g., ATP, ADP)

type PredictionStructureAndBindingStartResponseInputEntityLigandSmilesEntityResponse struct{…}
ChainIDs []string

Chain IDs for this ligand

Type LigandSmiles
Value string

SMILES string representing the ligand

Binding PredictionStructureAndBindingStartResponseInputBindingUnionOptional
One of the following:
type PredictionStructureAndBindingStartResponseInputBindingLigandProteinBindingResponse struct{…}
BinderChainID string

Chain ID of the ligand binder (must have exactly 1 copy, <50 atoms, and only ligands+proteins in entities)

Type LigandProteinBinding
type PredictionStructureAndBindingStartResponseInputBindingProteinProteinBindingResponse struct{…}
BinderChainIDs []string

Chain IDs of the protein binders

Type ProteinProteinBinding
Bonds []PredictionStructureAndBindingStartResponseInputBondOptional

Bond constraints between atoms. Atom-level ligand references currently support ligand_ccd only; ligand_smiles is unsupported.

Atom1 PredictionStructureAndBindingStartResponseInputBondAtom1Union

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

One of the following:
type PredictionStructureAndBindingStartResponseInputBondAtom1LigandAtomResponse struct{…}

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Standardized atom name (verifiable in CIF file on RCSB). Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID containing the atom

Type LigandAtom
type PredictionStructureAndBindingStartResponseInputBondAtom1PolymerAtomResponse struct{…}
AtomName string

Standardized atom name (verifiable in CIF file on RCSB)

ChainID string

Chain ID containing the atom

ResidueIndex int64

0-based residue index

minimum0
Type PolymerAtom
Atom2 PredictionStructureAndBindingStartResponseInputBondAtom2Union

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

One of the following:
type PredictionStructureAndBindingStartResponseInputBondAtom2LigandAtomResponse struct{…}

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Standardized atom name (verifiable in CIF file on RCSB). Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID containing the atom

Type LigandAtom
type PredictionStructureAndBindingStartResponseInputBondAtom2PolymerAtomResponse struct{…}
AtomName string

Standardized atom name (verifiable in CIF file on RCSB)

ChainID string

Chain ID containing the atom

ResidueIndex int64

0-based residue index

minimum0
Type PolymerAtom
Constraints []PredictionStructureAndBindingStartResponseInputConstraintUnionOptional

Structural constraints (pocket and contact). Atom-level ligand references currently support ligand_ccd only; ligand_smiles is unsupported.

One of the following:
type PredictionStructureAndBindingStartResponseInputConstraintPocketConstraintResponse struct{…}

Constrains the binder to interact with specific pocket residues on the target.

BinderChainID string

Chain ID of the binder molecule

ContactResidues map[string, []int64]

Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. “A”) and the value is an array of 0-indexed residue indices that define the pocket on that chain.

MaxDistanceAngstrom float64

Maximum allowed distance in Angstroms between binder and pocket residues. Typical range: 4-8 A.

Type Pocket
Force boolOptional

Whether to force the constraint

type PredictionStructureAndBindingStartResponseInputConstraintContactConstraintResponse struct{…}

Contact constraint between two tokens. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

MaxDistanceAngstrom float64

Maximum distance in Angstroms

Token1 PredictionStructureAndBindingStartResponseInputConstraintContactConstraintResponseToken1Union

Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

One of the following:
type PredictionStructureAndBindingStartResponseInputConstraintContactConstraintResponseToken1PolymerContactTokenResponse struct{…}
ChainID string

Chain ID

ResidueIndex int64

0-based residue index

minimum0
Type PolymerContact
type PredictionStructureAndBindingStartResponseInputConstraintContactConstraintResponseToken1LigandContactTokenResponse struct{…}

Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Atom name. Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID

Type LigandContact
Token2 PredictionStructureAndBindingStartResponseInputConstraintContactConstraintResponseToken2Union

Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

One of the following:
type PredictionStructureAndBindingStartResponseInputConstraintContactConstraintResponseToken2PolymerContactTokenResponse struct{…}
ChainID string

Chain ID

ResidueIndex int64

0-based residue index

minimum0
Type PolymerContact
type PredictionStructureAndBindingStartResponseInputConstraintContactConstraintResponseToken2LigandContactTokenResponse struct{…}

Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Atom name. Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID

Type LigandContact
Type Contact
Force boolOptional

Whether to force the constraint

ModelOptions PredictionStructureAndBindingStartResponseInputModelOptionsOptional
RecyclingSteps int64Optional

The number of recycling steps to use for prediction. Default is 3.

minimum1
SamplingSteps int64Optional

The number of sampling steps to use for prediction. Default is 200.

minimum50
StepScale float64Optional

Diffusion step scale (temperature). Controls sampling diversity — higher values produce more varied structures. Default is 1.638.

minimum1.3
maximum2
NumSamples int64Optional

Number of structure samples to generate (1-10)

minimum1
maximum10
Templates []PredictionStructureAndBindingStartResponseInputTemplateOptional

Template structure files to guide protein-chain prediction. Supports up to 4 CIF or PDB templates from HTTPS URLs or base64 uploads. Use template_chains to map request chains to template-file chains.

TemplateChains []PredictionStructureAndBindingStartResponseInputTemplateTemplateChain

Request-to-template chain mappings. Each input_chain_id and template_chain_id must be unique within this template.

InputChainID string

Chain ID in this prediction request

TemplateChainID string

Corresponding chain ID in the template structure file

TemplateStructure PredictionStructureAndBindingStartResponseInputTemplateTemplateStructure
URL string

URL to download the file

formaturi
URLExpiresAt Time

When the presigned URL expires

formatdate-time
ForceThresholdAngstroms float64Optional

Force the template reference potential with this distance threshold in angstroms. Omit to use the template without force.

minimum0
Livemode bool

Whether this resource was created with a live API key.

Model Boltz2_1

Model used for prediction

Output PredictionStructureAndBindingStartResponseOutput

Prediction output when succeeded

AllSampleResults []PredictionStructureAndBindingStartResponseOutputAllSampleResult

Per-sample structure results

Metrics PredictionStructureAndBindingStartResponseOutputAllSampleResultMetrics
ComplexIpde float64

Complex interface predicted distance error. Lower is better.

ComplexIplddt float64

Complex interface pLDDT (0-1 float). Confidence at inter-chain interfaces.

ComplexPde float64

Complex predicted distance error. Lower is better.

ComplexPlddt float64

Complex pLDDT (0-1 float). Per-residue confidence averaged over the complex.

Iptm float64

Interface predicted TM score (0-1). Confidence in domain interfaces.

LigandIptm float64

Ligand interface pTM (0-1). Only present when ligands are included.

ProteinIptm float64

Protein-protein interface pTM (0-1). Only present for multi-protein complexes.

Ptm float64

Predicted TM score (0-1). Global structure quality.

StructureConfidence float64

Overall structure confidence (0-1).

Structure PredictionStructureAndBindingStartResponseOutputAllSampleResultStructure
URL string

URL to download the file

formaturi
URLExpiresAt Time

When the presigned URL expires

formatdate-time
LigandStructure PredictionStructureAndBindingStartResponseOutputAllSampleResultLigandStructureOptional
URL string

URL to download the file

formaturi
URLExpiresAt Time

When the presigned URL expires

formatdate-time
BestSample PredictionStructureAndBindingStartResponseOutputBestSample
Metrics PredictionStructureAndBindingStartResponseOutputBestSampleMetrics
ComplexIpde float64

Complex interface predicted distance error. Lower is better.

ComplexIplddt float64

Complex interface pLDDT (0-1 float). Confidence at inter-chain interfaces.

ComplexPde float64

Complex predicted distance error. Lower is better.

ComplexPlddt float64

Complex pLDDT (0-1 float). Per-residue confidence averaged over the complex.

Iptm float64

Interface predicted TM score (0-1). Confidence in domain interfaces.

LigandIptm float64

Ligand interface pTM (0-1). Only present when ligands are included.

ProteinIptm float64

Protein-protein interface pTM (0-1). Only present for multi-protein complexes.

Ptm float64

Predicted TM score (0-1). Global structure quality.

StructureConfidence float64

Overall structure confidence (0-1).

Structure PredictionStructureAndBindingStartResponseOutputBestSampleStructure
URL string

URL to download the file

formaturi
URLExpiresAt Time

When the presigned URL expires

formatdate-time
LigandStructure PredictionStructureAndBindingStartResponseOutputBestSampleLigandStructureOptional
URL string

URL to download the file

formaturi
URLExpiresAt Time

When the presigned URL expires

formatdate-time
Archive PredictionStructureAndBindingStartResponseOutputArchiveOptional
URL string

URL to download the file

formaturi
URLExpiresAt Time

When the presigned URL expires

formatdate-time
BindingMetrics PredictionStructureAndBindingStartResponseOutputBindingMetricsUnionOptional
One of the following:
type PredictionStructureAndBindingStartResponseOutputBindingMetricsLigandProteinBindingMetrics struct{…}
BindingConfidence float64

Confidence that binding occurs (0-1). Primary metric for hit discovery.

OptimizationScore float64

Binding strength ranking score for lead optimization. Higher values indicate stronger predicted binding.

Type LigandProteinBindingMetrics
type PredictionStructureAndBindingStartResponseOutputBindingMetricsProteinProteinBindingMetrics struct{…}
BindingConfidence float64

Confidence that binding occurs (0-1). Primary metric for hit discovery.

Type ProteinProteinBindingMetrics
StartedAt Time
formatdate-time
Status PredictionStructureAndBindingStartResponseStatus
One of the following:
const PredictionStructureAndBindingStartResponseStatusPending PredictionStructureAndBindingStartResponseStatus = "pending"
const PredictionStructureAndBindingStartResponseStatusRunning PredictionStructureAndBindingStartResponseStatus = "running"
const PredictionStructureAndBindingStartResponseStatusSucceeded PredictionStructureAndBindingStartResponseStatus = "succeeded"
const PredictionStructureAndBindingStartResponseStatusFailed PredictionStructureAndBindingStartResponseStatus = "failed"
Version string

Model version used for prediction

WorkspaceID string

Workspace ID

IdempotencyKey stringOptional

Client-provided idempotency key

Start a structure and binding prediction

package main

import (
  "context"
  "fmt"

  "github.com/boltz-bio/boltz-api-go"
  "github.com/boltz-bio/boltz-api-go/option"
)

func main() {
  client := boltzapi.NewClient(
    option.WithAPIKey("My API Key"),
  )
  response, err := client.Predictions.StructureAndBinding.Start(context.TODO(), boltzapi.PredictionStructureAndBindingStartParams{
    Input: boltzapi.PredictionStructureAndBindingStartParamsInput{
      Entities: []boltzapi.PredictionStructureAndBindingStartParamsInputEntityUnion{boltzapi.PredictionStructureAndBindingStartParamsInputEntityUnion{
        OfPredictionStructureAndBindingStartsInputEntityBoltz2ProteinEntity: &boltzapi.PredictionStructureAndBindingStartParamsInputEntityBoltz2ProteinEntity{
          ChainIDs: []string{"string"},
          Value: "value",
        },
      }},
    },
    Model: "boltz-2.1",
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.ID)
}
{
  "id": "sab_pred_2X7Ab9Cd3Ef6Gh1JkLmN",
  "completed_at": "2019-12-27T18:11:19.117Z",
  "created_at": "2019-12-27T18:11:19.117Z",
  "data_deleted_at": "2019-12-27T18:11:19.117Z",
  "error": {
    "code": "code",
    "message": "message",
    "details": {}
  },
  "expires_at": "2019-12-27T18:11:19.117Z",
  "input": {
    "entities": [
      {
        "chain_ids": [
          "string"
        ],
        "type": "protein",
        "value": "value",
        "cyclic": true,
        "modifications": [
          {
            "residue_index": 0,
            "type": "ccd",
            "value": "value"
          }
        ],
        "msa": {
          "format": "a3m",
          "source": {
            "url": "https://example.com",
            "url_expires_at": "2019-12-27T18:11:19.117Z"
          },
          "type": "custom"
        }
      }
    ],
    "binding": {
      "binder_chain_id": "binder_chain_id",
      "type": "ligand_protein_binding"
    },
    "bonds": [
      {
        "atom1": {
          "atom_name": "atom_name",
          "chain_id": "chain_id",
          "type": "ligand_atom"
        },
        "atom2": {
          "atom_name": "atom_name",
          "chain_id": "chain_id",
          "type": "ligand_atom"
        }
      }
    ],
    "constraints": [
      {
        "binder_chain_id": "binder_chain_id",
        "contact_residues": {
          "A": [
            42,
            43,
            44,
            67,
            68,
            69
          ]
        },
        "max_distance_angstrom": 0,
        "type": "pocket",
        "force": true
      }
    ],
    "model_options": {
      "recycling_steps": 1,
      "sampling_steps": 50,
      "step_scale": 1.3
    },
    "num_samples": 1,
    "templates": [
      {
        "template_chains": [
          {
            "input_chain_id": "input_chain_id",
            "template_chain_id": "template_chain_id"
          }
        ],
        "template_structure": {
          "url": "https://example.com",
          "url_expires_at": "2019-12-27T18:11:19.117Z"
        },
        "force_threshold_angstroms": 0
      }
    ]
  },
  "livemode": true,
  "model": "boltz-2.1",
  "output": {
    "all_sample_results": [
      {
        "metrics": {
          "complex_ipde": 0,
          "complex_iplddt": 0,
          "complex_pde": 0,
          "complex_plddt": 0,
          "iptm": 0,
          "ligand_iptm": 0,
          "protein_iptm": 0,
          "ptm": 0,
          "structure_confidence": 0
        },
        "structure": {
          "url": "https://example.com",
          "url_expires_at": "2019-12-27T18:11:19.117Z"
        },
        "ligand_structure": {
          "url": "https://example.com",
          "url_expires_at": "2019-12-27T18:11:19.117Z"
        }
      }
    ],
    "best_sample": {
      "metrics": {
        "complex_ipde": 0,
        "complex_iplddt": 0,
        "complex_pde": 0,
        "complex_plddt": 0,
        "iptm": 0,
        "ligand_iptm": 0,
        "protein_iptm": 0,
        "ptm": 0,
        "structure_confidence": 0
      },
      "structure": {
        "url": "https://example.com",
        "url_expires_at": "2019-12-27T18:11:19.117Z"
      },
      "ligand_structure": {
        "url": "https://example.com",
        "url_expires_at": "2019-12-27T18:11:19.117Z"
      }
    },
    "archive": {
      "url": "https://example.com",
      "url_expires_at": "2019-12-27T18:11:19.117Z"
    },
    "binding_metrics": {
      "binding_confidence": 0,
      "optimization_score": 0,
      "type": "ligand_protein_binding_metrics"
    }
  },
  "started_at": "2019-12-27T18:11:19.117Z",
  "status": "pending",
  "version": "version",
  "workspace_id": "workspace_id",
  "idempotency_key": "idempotency_key"
}
Returns Examples
{
  "id": "sab_pred_2X7Ab9Cd3Ef6Gh1JkLmN",
  "completed_at": "2019-12-27T18:11:19.117Z",
  "created_at": "2019-12-27T18:11:19.117Z",
  "data_deleted_at": "2019-12-27T18:11:19.117Z",
  "error": {
    "code": "code",
    "message": "message",
    "details": {}
  },
  "expires_at": "2019-12-27T18:11:19.117Z",
  "input": {
    "entities": [
      {
        "chain_ids": [
          "string"
        ],
        "type": "protein",
        "value": "value",
        "cyclic": true,
        "modifications": [
          {
            "residue_index": 0,
            "type": "ccd",
            "value": "value"
          }
        ],
        "msa": {
          "format": "a3m",
          "source": {
            "url": "https://example.com",
            "url_expires_at": "2019-12-27T18:11:19.117Z"
          },
          "type": "custom"
        }
      }
    ],
    "binding": {
      "binder_chain_id": "binder_chain_id",
      "type": "ligand_protein_binding"
    },
    "bonds": [
      {
        "atom1": {
          "atom_name": "atom_name",
          "chain_id": "chain_id",
          "type": "ligand_atom"
        },
        "atom2": {
          "atom_name": "atom_name",
          "chain_id": "chain_id",
          "type": "ligand_atom"
        }
      }
    ],
    "constraints": [
      {
        "binder_chain_id": "binder_chain_id",
        "contact_residues": {
          "A": [
            42,
            43,
            44,
            67,
            68,
            69
          ]
        },
        "max_distance_angstrom": 0,
        "type": "pocket",
        "force": true
      }
    ],
    "model_options": {
      "recycling_steps": 1,
      "sampling_steps": 50,
      "step_scale": 1.3
    },
    "num_samples": 1,
    "templates": [
      {
        "template_chains": [
          {
            "input_chain_id": "input_chain_id",
            "template_chain_id": "template_chain_id"
          }
        ],
        "template_structure": {
          "url": "https://example.com",
          "url_expires_at": "2019-12-27T18:11:19.117Z"
        },
        "force_threshold_angstroms": 0
      }
    ]
  },
  "livemode": true,
  "model": "boltz-2.1",
  "output": {
    "all_sample_results": [
      {
        "metrics": {
          "complex_ipde": 0,
          "complex_iplddt": 0,
          "complex_pde": 0,
          "complex_plddt": 0,
          "iptm": 0,
          "ligand_iptm": 0,
          "protein_iptm": 0,
          "ptm": 0,
          "structure_confidence": 0
        },
        "structure": {
          "url": "https://example.com",
          "url_expires_at": "2019-12-27T18:11:19.117Z"
        },
        "ligand_structure": {
          "url": "https://example.com",
          "url_expires_at": "2019-12-27T18:11:19.117Z"
        }
      }
    ],
    "best_sample": {
      "metrics": {
        "complex_ipde": 0,
        "complex_iplddt": 0,
        "complex_pde": 0,
        "complex_plddt": 0,
        "iptm": 0,
        "ligand_iptm": 0,
        "protein_iptm": 0,
        "ptm": 0,
        "structure_confidence": 0
      },
      "structure": {
        "url": "https://example.com",
        "url_expires_at": "2019-12-27T18:11:19.117Z"
      },
      "ligand_structure": {
        "url": "https://example.com",
        "url_expires_at": "2019-12-27T18:11:19.117Z"
      }
    },
    "archive": {
      "url": "https://example.com",
      "url_expires_at": "2019-12-27T18:11:19.117Z"
    },
    "binding_metrics": {
      "binding_confidence": 0,
      "optimization_score": 0,
      "type": "ligand_protein_binding_metrics"
    }
  },
  "started_at": "2019-12-27T18:11:19.117Z",
  "status": "pending",
  "version": "version",
  "workspace_id": "workspace_id",
  "idempotency_key": "idempotency_key"
}