Skip to content
Go to Boltz API

Retrieve a structure and binding prediction

client.Predictions.StructureAndBinding.Get(ctx, id, query) (*PredictionStructureAndBindingGetResponse, error)
GET/compute/v1/predictions/structure-and-binding/{id}

Retrieve a prediction by ID, including its status and results.

ParametersExpand Collapse
id string
query PredictionStructureAndBindingGetParams
WorkspaceID param.Field[string]optional

Workspace ID. Only used with admin API keys. Ignored (or validated) for workspace-scoped keys.

ReturnsExpand Collapse
type PredictionStructureAndBindingGetResponse 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 PredictionStructureAndBindingGetResponseError

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 PredictionStructureAndBindingGetResponseInput

Prediction input (null if data deleted)

Entities []PredictionStructureAndBindingGetResponseInputEntityUnion

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

Accepts one of the following:
type PredictionStructureAndBindingGetResponseInputEntityProteinEntityResponse 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 []PredictionStructureAndBindingGetResponseInputEntityProteinEntityResponseModificationUnionoptional

Post-translational modifications. Optional; defaults to an empty list when omitted.

Accepts one of the following:
type PredictionStructureAndBindingGetResponseInputEntityProteinEntityResponseModificationCcdModificationResponse struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd
Value string

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

type PredictionStructureAndBindingGetResponseInputEntityProteinEntityResponseModificationSmilesModificationResponse struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Smiles
Value string

SMILES string for the modification

type PredictionStructureAndBindingGetResponseInputEntityRnaEntityResponse 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 []PredictionStructureAndBindingGetResponseInputEntityRnaEntityResponseModificationUnionoptional

Chemical modifications. Optional; defaults to an empty list when omitted.

Accepts one of the following:
type PredictionStructureAndBindingGetResponseInputEntityRnaEntityResponseModificationCcdModificationResponse struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd
Value string

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

type PredictionStructureAndBindingGetResponseInputEntityRnaEntityResponseModificationSmilesModificationResponse struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Smiles
Value string

SMILES string for the modification

type PredictionStructureAndBindingGetResponseInputEntityDnaEntityResponse 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 []PredictionStructureAndBindingGetResponseInputEntityDnaEntityResponseModificationUnionoptional

Chemical modifications. Optional; defaults to an empty list when omitted.

Accepts one of the following:
type PredictionStructureAndBindingGetResponseInputEntityDnaEntityResponseModificationCcdModificationResponse struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd
Value string

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

type PredictionStructureAndBindingGetResponseInputEntityDnaEntityResponseModificationSmilesModificationResponse struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Smiles
Value string

SMILES string for the modification

type PredictionStructureAndBindingGetResponseInputEntityLigandCcdEntityResponse struct{…}
ChainIDs []string

Chain IDs for this ligand

Type LigandCcd
Value string

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

type PredictionStructureAndBindingGetResponseInputEntityLigandSmilesEntityResponse struct{…}
ChainIDs []string

Chain IDs for this ligand

Type LigandSmiles
Value string

SMILES string representing the ligand

Binding PredictionStructureAndBindingGetResponseInputBindingUnionoptional
Accepts one of the following:
type PredictionStructureAndBindingGetResponseInputBindingLigandProteinBindingResponse 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 PredictionStructureAndBindingGetResponseInputBindingProteinProteinBindingResponse struct{…}
BinderChainIDs []string

Chain IDs of the protein binders

Type ProteinProteinBinding
Bonds []PredictionStructureAndBindingGetResponseInputBondoptional

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

Atom1 PredictionStructureAndBindingGetResponseInputBondAtom1Union

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

Accepts one of the following:
type PredictionStructureAndBindingGetResponseInputBondAtom1LigandAtomResponse 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 PredictionStructureAndBindingGetResponseInputBondAtom1PolymerAtomResponse 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 PredictionStructureAndBindingGetResponseInputBondAtom2Union

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

Accepts one of the following:
type PredictionStructureAndBindingGetResponseInputBondAtom2LigandAtomResponse 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 PredictionStructureAndBindingGetResponseInputBondAtom2PolymerAtomResponse 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 []PredictionStructureAndBindingGetResponseInputConstraintUnionoptional

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

Accepts one of the following:
type PredictionStructureAndBindingGetResponseInputConstraintPocketConstraintResponse 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 PredictionStructureAndBindingGetResponseInputConstraintContactConstraintResponse 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 PredictionStructureAndBindingGetResponseInputConstraintContactConstraintResponseToken1Union

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

Accepts one of the following:
type PredictionStructureAndBindingGetResponseInputConstraintContactConstraintResponseToken1PolymerContactTokenResponse struct{…}
ChainID string

Chain ID

ResidueIndex int64

0-based residue index

minimum0
Type PolymerContact
type PredictionStructureAndBindingGetResponseInputConstraintContactConstraintResponseToken1LigandContactTokenResponse 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 PredictionStructureAndBindingGetResponseInputConstraintContactConstraintResponseToken2Union

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

Accepts one of the following:
type PredictionStructureAndBindingGetResponseInputConstraintContactConstraintResponseToken2PolymerContactTokenResponse struct{…}
ChainID string

Chain ID

ResidueIndex int64

0-based residue index

minimum0
Type PolymerContact
type PredictionStructureAndBindingGetResponseInputConstraintContactConstraintResponseToken2LigandContactTokenResponse 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 PredictionStructureAndBindingGetResponseInputModelOptionsoptional
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.

minimum1
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

minimum1
maximum10
Livemode bool

Whether this resource was created with a live API key.

Model Boltz2_1

Model used for prediction

Output PredictionStructureAndBindingGetResponseOutput

Prediction output when succeeded

AllSampleResults []PredictionStructureAndBindingGetResponseOutputAllSampleResult

Per-sample structure results

Metrics PredictionStructureAndBindingGetResponseOutputAllSampleResultMetrics
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 PredictionStructureAndBindingGetResponseOutputAllSampleResultStructure
URL string

URL to download the file

formaturi
URLExpiresAt Time

When the presigned URL expires

formatdate-time
BestSample PredictionStructureAndBindingGetResponseOutputBestSample
Metrics PredictionStructureAndBindingGetResponseOutputBestSampleMetrics
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 PredictionStructureAndBindingGetResponseOutputBestSampleStructure
URL string

URL to download the file

formaturi
URLExpiresAt Time

When the presigned URL expires

formatdate-time
Archive PredictionStructureAndBindingGetResponseOutputArchiveoptional
URL string

URL to download the file

formaturi
URLExpiresAt Time

When the presigned URL expires

formatdate-time
BindingMetrics PredictionStructureAndBindingGetResponseOutputBindingMetricsUnionoptional
Accepts one of the following:
type PredictionStructureAndBindingGetResponseOutputBindingMetricsLigandProteinBindingMetrics 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 PredictionStructureAndBindingGetResponseOutputBindingMetricsProteinProteinBindingMetrics struct{…}
BindingConfidence float64

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

Type ProteinProteinBindingMetrics
StartedAt Time
formatdate-time
Status PredictionStructureAndBindingGetResponseStatus
Accepts one of the following:
const PredictionStructureAndBindingGetResponseStatusPending PredictionStructureAndBindingGetResponseStatus = "pending"
const PredictionStructureAndBindingGetResponseStatusRunning PredictionStructureAndBindingGetResponseStatus = "running"
const PredictionStructureAndBindingGetResponseStatusSucceeded PredictionStructureAndBindingGetResponseStatus = "succeeded"
const PredictionStructureAndBindingGetResponseStatusFailed PredictionStructureAndBindingGetResponseStatus = "failed"
Version string

Model version used for prediction

WorkspaceID string

Workspace ID

IdempotencyKey stringoptional

Client-provided idempotency key

Retrieve 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"),
  )
  structureAndBinding, err := client.Predictions.StructureAndBinding.Get(
    context.TODO(),
    "sab_pred_2X7Ab9Cd3Ef6Gh1JkLmN",
    boltzapi.PredictionStructureAndBindingGetParams{

    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", structureAndBinding.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"
          }
        ]
      }
    ],
    "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": 1,
      "step_scale": 1.3
    },
    "num_samples": 1
  },
  "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"
        }
      }
    ],
    "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"
      }
    },
    "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"
          }
        ]
      }
    ],
    "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": 1,
      "step_scale": 1.3
    },
    "num_samples": 1
  },
  "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"
        }
      }
    ],
    "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"
      }
    },
    "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"
}