Estimate cost for a small molecule library screen
Estimate the cost of a small molecule library screen without creating any resource or consuming GPU.
ParametersExpand Collapse
Target protein sequences for small molecule design or screening.
Target protein sequences for small molecule design or screening.
entities: Iterable[TargetEntity]Protein entities defining the target structure. Each entity represents a protein chain.
Protein entities defining the target structure. Each entity represents a protein chain.
bonds: Optional[Iterable[TargetBond]]Covalent bond constraints between atoms in the target complex. Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.
Covalent bond constraints between atoms in the target complex. Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.
atom1: TargetBondAtom1Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.
Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.
class TargetBondAtom1LigandAtom: …Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.
Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.
atom2: TargetBondAtom2Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.
Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.
class TargetBondAtom2LigandAtom: …Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.
Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.
constraints: Optional[Iterable[TargetConstraint]]Structural constraints (pocket and contact). Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.
Structural constraints (pocket and contact). Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.
class TargetConstraintPocketConstraint: …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 TargetConstraintContactConstraint: …Maximum-distance contact constraint between two polymer residues or ligand atoms.
Maximum-distance contact constraint between two polymer residues or ligand atoms.
token1: TargetConstraintContactConstraintToken1Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.
Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.
class TargetConstraintContactConstraintToken1LigandContactToken: …Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.
Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.
token2: TargetConstraintContactConstraintToken2Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.
Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.
class TargetConstraintContactConstraintToken2LigandContactToken: …Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.
Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.
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 binding pocket on that chain. When provided, these residues guide pocket extraction and add a derived pocket constraint during affinity predictions. That derived constraint remains separate from any explicit pocket constraints in target.constraints. When omitted, the model auto-detects the pocket.
Client-provided key to prevent duplicate submissions on retries
Molecule filtering configuration. Controls both Boltz built-in SMARTS filtering and custom filters.
Molecule filtering configuration. Controls both Boltz built-in SMARTS filtering and custom filters.
boltz_smarts_catalog_filter_level: Optional[Literal["recommended", "extra", "aggressive", "disabled"]]Controls the stringency of Boltz’s built-in SMARTS structural alert filtering, which removes molecules matching known problematic substructures. ‘recommended’ (default): applies a curated set of alerts balancing safety and hit rate. ‘extra’: adds additional alerts beyond the recommended set for stricter filtering. ‘aggressive’: applies the most comprehensive alert set — may reject viable molecules. ‘disabled’: turns off Boltz SMARTS filtering entirely; only custom_filters will be applied.
Controls the stringency of Boltz’s built-in SMARTS structural alert filtering, which removes molecules matching known problematic substructures. ‘recommended’ (default): applies a curated set of alerts balancing safety and hit rate. ‘extra’: adds additional alerts beyond the recommended set for stricter filtering. ‘aggressive’: applies the most comprehensive alert set — may reject viable molecules. ‘disabled’: turns off Boltz SMARTS filtering entirely; only custom_filters will be applied.
custom_filters: Optional[Iterable[MoleculeFiltersCustomFilter]]Custom filters to apply. Molecules must pass all filters (AND logic).
Custom filters to apply. Molecules must pass all filters (AND logic).
class MoleculeFiltersCustomFilterLipinskiFilter: …Lipinski’s Rule of Five filter. Rejects molecules that violate drug-likeness criteria based on molecular weight, LogP, hydrogen bond donors, and hydrogen bond acceptors.
Lipinski’s Rule of Five filter. Rejects molecules that violate drug-likeness criteria based on molecular weight, LogP, hydrogen bond donors, and hydrogen bond acceptors.
class MoleculeFiltersCustomFilterRdkitDescriptorFilter: …Filter molecules by RDKit molecular descriptors. Each descriptor is constrained to a min/max range. Only descriptors you provide are checked — omitted descriptors are unconstrained.
Filter molecules by RDKit molecular descriptors. Each descriptor is constrained to a min/max range. Only descriptors you provide are checked — omitted descriptors are unconstrained.
fraction_csp3: Optional[MoleculeFiltersCustomFilterRdkitDescriptorFilterFractionCsp3]Min/max range constraint for an RDKit molecular descriptor
Min/max range constraint for an RDKit molecular descriptor
mol_logp: Optional[MoleculeFiltersCustomFilterRdkitDescriptorFilterMolLogp]Min/max range constraint for an RDKit molecular descriptor
Min/max range constraint for an RDKit molecular descriptor
mol_wt: Optional[MoleculeFiltersCustomFilterRdkitDescriptorFilterMolWt]Min/max range constraint for an RDKit molecular descriptor
Min/max range constraint for an RDKit molecular descriptor
num_aromatic_rings: Optional[MoleculeFiltersCustomFilterRdkitDescriptorFilterNumAromaticRings]Min/max range constraint for an RDKit molecular descriptor
Min/max range constraint for an RDKit molecular descriptor
num_h_acceptors: Optional[MoleculeFiltersCustomFilterRdkitDescriptorFilterNumHAcceptors]Min/max range constraint for an RDKit molecular descriptor
Min/max range constraint for an RDKit molecular descriptor
num_h_donors: Optional[MoleculeFiltersCustomFilterRdkitDescriptorFilterNumHDonors]Min/max range constraint for an RDKit molecular descriptor
Min/max range constraint for an RDKit molecular descriptor
num_heteroatoms: Optional[MoleculeFiltersCustomFilterRdkitDescriptorFilterNumHeteroatoms]Min/max range constraint for an RDKit molecular descriptor
Min/max range constraint for an RDKit molecular descriptor
num_rings: Optional[MoleculeFiltersCustomFilterRdkitDescriptorFilterNumRings]Min/max range constraint for an RDKit molecular descriptor
Min/max range constraint for an RDKit molecular descriptor
class MoleculeFiltersCustomFilterSmartsCustomFilter: …Filter molecules by custom SMARTS patterns. Molecules matching any pattern are rejected.
Filter molecules by custom SMARTS patterns. Molecules matching any pattern are rejected.
ReturnsExpand Collapse
class LibraryScreenEstimateCostResponse: …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 small molecule library screen
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.small_molecule.library_screen.estimate_cost(
molecules=[{
"smiles": "smiles"
}],
target={
"entities": [{
"chain_ids": ["string"],
"type": "protein",
"value": "value",
}]
},
)
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"
}