Estimate cost for a protein design run
Estimate the cost of a protein design run without creating any resource or consuming GPU.
ParametersExpand Collapse
Binder specification for protein design. Use no_template for sequence-defined binders, structure_template for uploaded binder structures, or boltz_curated for Boltz-managed nanobody and antibody defaults.
Binder specification for protein design. Use no_template for sequence-defined binders, structure_template for uploaded binder structures, or boltz_curated for Boltz-managed nanobody and antibody defaults.
class BinderSpecificationStructureTemplateBinderSpec: …Binder specification starting from an existing 3D structure. Upload a CIF/PDB file and select which chains to include, which residues to keep, and which regions to redesign. Only chains included in chain_selection are part of the pipeline run.
Binder specification starting from an existing 3D structure. Upload a CIF/PDB file and select which chains to include, which residues to keep, and which regions to redesign. Only chains included in chain_selection are part of the pipeline run.
chain_selection: Dict[str, BinderSpecificationStructureTemplateBinderSpecChainSelection]Chains selected from the uploaded binder structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep (crop_residues). Omit design_motifs to include the chain as fixed scaffold context.
Chains selected from the uploaded binder structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep (crop_residues). Omit design_motifs to include the chain as fixed scaffold context.
class BinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpec: …Per-chain crop and design specification for a polymer chain in structure_template mode.
Per-chain crop and design specification for a polymer chain in structure_template mode.
crop_residues: Union[Iterable[int], Literal["all"]]0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are removed before design.
0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are removed before design.
design_motifs: Optional[Iterable[BinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotif]]Optional motifs (replacement or insertion) defining which regions to redesign on this chain. Omit this field to include the chain as fixed scaffold context.
Optional motifs (replacement or insertion) defining which regions to redesign on this chain. Omit this field to include the chain as fixed scaffold context.
class BinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotif: …Replace a contiguous region of the sequence with a designed segment. Residues from start_index to end_index (inclusive) are replaced with a new sequence of the specified length.
Replace a contiguous region of the sequence with a designed segment. Residues from start_index to end_index (inclusive) are replaced with a new sequence of the specified length.
class BinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotif: …Insert a designed segment at a specific position in the sequence.
Insert a designed segment at a specific position in the sequence.
0-indexed position after which to insert. Use -1 to insert before the first residue.
structure: BinderSpecificationStructureTemplateBinderSpecStructureHow to provide a CIF structure file. URLs are auto-detected; base64 uploads must use chemical/x-cif media type.
How to provide a CIF structure file. URLs are auto-detected; base64 uploads must use chemical/x-cif media type.
rules: Optional[BinderSpecificationStructureTemplateBinderSpecRules]Constraints applied during sequence design
Constraints applied during sequence design
Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)
class BinderSpecificationNoTemplateBinderSpec: …Binder specification without a structural template. Define the binder from sequence components (fixed and designed segments) without providing a starting 3D structure.
Binder specification without a structural template. Define the binder from sequence components (fixed and designed segments) without providing a starting 3D structure.
entities: Iterable[BinderSpecificationNoTemplateBinderSpecEntity]Binder entities composing the design. At least one must be a designed_protein entity. Additional fixed entities (RNA, DNA, ligands) can be included as part of the complex.
Binder entities composing the design. At least one must be a designed_protein entity. Additional fixed entities (RNA, DNA, ligands) can be included as part of the complex.
class BinderSpecificationNoTemplateBinderSpecEntityDesignedProteinEntity: …Protein binder entity with designed and/or fixed segments.
Protein binder entity with designed and/or fixed segments.
Binder sequence specification. Fixed amino acids are written as literal single-letter codes. Designed regions are written as a length (fixed) or a length range (min..max). Example: “MKTAYI5..10VKSHFSRQ” means fixed MKTAYI, then 5-10 designed residues, then fixed VKSHFSRQ. “20” means 20 fully designed residues. “ACDE8GHI” means fixed ACDE, then 8 designed residues, then fixed GHI.
class BinderSpecificationNoTemplateBinderSpecEntityFixedProteinEntity: …A fixed protein entity whose sequence is not redesigned.
A fixed protein entity whose sequence is not redesigned.
class BinderSpecificationNoTemplateBinderSpecEntityFixedRnaEntity: …
class BinderSpecificationNoTemplateBinderSpecEntityFixedDnaEntity: …
bonds: Optional[Iterable[BinderSpecificationNoTemplateBinderSpecBond]]Covalent bond constraints between atoms in the binder complex. If defining bonds where an atom is part of a designed protein chain, assume residue indices count designed regions as the minimum length. Example: designed protein “1..3C1..2”, “C” is residue 1 (0-indexed) of the designed protein.
Covalent bond constraints between atoms in the binder complex. If defining bonds where an atom is part of a designed protein chain, assume residue indices count designed regions as the minimum length. Example: designed protein “1..3C1..2”, “C” is residue 1 (0-indexed) of the designed protein.
atom1: BinderSpecificationNoTemplateBinderSpecBondAtom1Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
atom2: BinderSpecificationNoTemplateBinderSpecBondAtom2Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
rules: Optional[BinderSpecificationNoTemplateBinderSpecRules]Constraints applied during sequence design
Constraints applied during sequence design
Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)
class BinderSpecificationBoltzCuratedBinderSpec: …Boltz-managed curated binder specification. Choose a curated nanobody or antibody family and Boltz will select from maintained template lists during design. The curated lists are managed by Boltz and may be updated over time to improve quality and coverage.
Boltz-managed curated binder specification. Choose a curated nanobody or antibody family and Boltz will select from maintained template lists during design. The curated lists are managed by Boltz and may be updated over time to improve quality and coverage.
binder: Literal["boltz_nanobody", "boltz_antibody"]Boltz-managed curated binder family. Boltz maintains and may update the underlying template lists on behalf of customers.
Boltz-managed curated binder family. Boltz maintains and may update the underlying template lists on behalf of customers.
rules: Optional[BinderSpecificationBoltzCuratedBinderSpecRules]Constraints applied during sequence design
Constraints applied during sequence design
Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)
Number of protein designs to generate. Must be between 10 and 1,000,000.
Target specification (structure template or template-free)
Target specification (structure template or template-free)
class TargetStructureTemplateTarget: …Target defined by an uploaded 3D structure (CIF or PDB file). Only chains included in chain_selection are used.
Target defined by an uploaded 3D structure (CIF or PDB file). Only chains included in chain_selection are used.
chain_selection: Dict[str, TargetStructureTemplateTargetChainSelection]Chains selected from the uploaded structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep, which are epitope residues, which are non-binding residues, and which are flexible.
Chains selected from the uploaded structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep, which are epitope residues, which are non-binding residues, and which are flexible.
class TargetStructureTemplateTargetChainSelectionStructureTemplateTargetPolymerChainSpec: …Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure template target.
Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure template target.
crop_residues: Union[Iterable[int], Literal["all"]]0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are excluded from the pipeline run.
0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are excluded from the pipeline run.
0-indexed residue indices where binder contact is desired (the epitope). All indices must be present in crop_residues and must not overlap non_binding_residues.
class TargetNoTemplateTarget: …Target defined by sequences only, without a 3D structure template
Target defined by sequences only, without a 3D structure template
entities: Iterable[TargetNoTemplateTargetEntity]Entities (proteins, RNA, DNA, ligands) defining the target complex.
Entities (proteins, RNA, DNA, ligands) defining the target complex.
class TargetNoTemplateTargetEntityProteinEntity: …
class TargetNoTemplateTargetEntityRnaEntity: …
class TargetNoTemplateTargetEntityDnaEntity: …
bonds: Optional[Iterable[TargetNoTemplateTargetBond]]Covalent bond constraints between atoms in the target complex. Atom-level ligand references currently support ligand_ccd only; ligand_smiles is unsupported.
Covalent bond constraints between atoms in the target complex. Atom-level ligand references currently support ligand_ccd only; ligand_smiles is unsupported.
atom1: TargetNoTemplateTargetBondAtom1Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
atom2: TargetNoTemplateTargetBondAtom2Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
constraints: Optional[Iterable[TargetNoTemplateTargetConstraint]]Structural constraints (pocket and contact). Atom-level ligand references currently support ligand_ccd only; ligand_smiles is unsupported.
Structural constraints (pocket and contact). Atom-level ligand references currently support ligand_ccd only; ligand_smiles is unsupported.
class TargetNoTemplateTargetConstraintPocketConstraint: …Constrains the binder to interact with specific pocket residues on the target.
Constrains the binder to interact with specific pocket residues on the target.
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.
class TargetNoTemplateTargetConstraintContactConstraint: …Contact constraint between two tokens. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
Contact constraint between two tokens. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
token1: TargetNoTemplateTargetConstraintContactConstraintToken1Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
token2: TargetNoTemplateTargetConstraintContactConstraintToken2Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.
Chain IDs of ligand entities that are part of the binding epitope. Ligands are marked as epitope in full (no residue-level selection).
ReturnsExpand Collapse
class DesignEstimateCostResponse: …Estimate response with monetary values encoded as decimal strings to preserve precision.
Estimate response with monetary values encoded as decimal strings to preserve precision.
breakdown: BreakdownCost breakdown for the billed application.
Cost breakdown for the billed application.
application: Literal["structure_and_binding", "small_molecule_design", "small_molecule_library_screen", 4 more]
Estimate cost for a protein design run
import os
from boltz_api import Boltz
client = Boltz(
api_key=os.environ.get("BOLTZ_API_KEY"), # This is the default and can be omitted
)
response = client.protein.design.estimate_cost(
binder_specification={
"chain_selection": {
"B": {
"chain_type": "polymer",
"crop_residues": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
}
},
"modality": "peptide",
"structure": {
"type": "url",
"url": "https://example.com",
},
"type": "structure_template",
},
num_proteins=10,
target={
"chain_selection": {
"A": {
"chain_type": "polymer",
"crop_residues": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
}
},
"structure": {
"type": "url",
"url": "https://example.com",
},
"type": "structure_template",
},
)
print(response.breakdown){
"breakdown": {
"application": "structure_and_binding",
"cost_per_unit_usd": "0.0500",
"num_units": 1
},
"disclaimer": "This is an estimate only and may differ from your actual charges. Final billing is based on exact token counts computed at run time. For large library screens, the estimate is extrapolated from a sample and may be less accurate for highly variable inputs.",
"estimated_cost_usd": "0.0500"
}Returns Examples
{
"breakdown": {
"application": "structure_and_binding",
"cost_per_unit_usd": "0.0500",
"num_units": 1
},
"disclaimer": "This is an estimate only and may differ from your actual charges. Final billing is based on exact token counts computed at run time. For large library screens, the estimate is extrapolated from a sample and may be less accurate for highly variable inputs.",
"estimated_cost_usd": "0.0500"
}