Skip to main content
Structure ipTM Score
License: This constraint can use multiple tools, each under its own license. See the Tools Used tab and each tool’s page for license details.

This constraint is open source. Any third-party models, product names, or trademarks referenced are the property of their respective owners, and Proto is not affiliated with them.


Structure Prediction · 6 tools
Go to Category
proto-bio/proto-language/proto_language/constraint/protein_structure/structure_confidence_constraint.py
View source
Evaluate interface quality using predicted interface TM-score (ipTM). ipTM (interface predicted TM-score) specifically measures the quality of predicted inter-chain interfaces in multimeric complexes. Values range from 0.0 to 1.0, where higher values indicate better interface predictions. This constraint returns 1.0 - iptm, so lower scores indicate better predicted interface quality. Supported tools: ESMFold2, AlphaFold3, Boltz2, Chai1, Protenix, AlphaFold2, AlphaFold2 binder (NOT ESMFold v1)

API Reference

ConfigStructureBasedConstraintConfig Source
Base configuration for constraints using structure prediction tools.This base class standardizes how structure prediction tools and their configurations are specified across all structure-based constraints. Each tool has its own dedicated config field.Subclasses can optionally restrict which tools are supported by overriding the structure_tool field with a narrower Literal type.
structure_tool
enum
default:"esmfold"
Predictor: esmfold/esmfold2/alphafold3/boltz2/chai1/protenix/alphafold2/alphafold2_binder.Options: esmfold, esmfold2, alphafold3, boltz2, chai1, protenix, alphafold2, alphafold2_binder
esmfold_config
ESMFoldConfig
Configuration for ESMFold structure prediction.
esmfold2_config
ESMFold2Config
Configuration for ESMFold2 structure prediction.
alphafold3_config
AlphaFold3Config
Configuration for AlphaFold3 structure prediction.
boltz2_config
Boltz2Config
Configuration for Boltz2 structure prediction.
chai1_config
Chai1Config
Configuration for Chai1 structure prediction.
protenix_config
ProtenixConfig
Configuration for Protenix structure prediction.
alphafold2_config
AlphaFold2Config
Configuration for the general AlphaFold2 multimer structure predictor.
alphafold2_binder_config
AlphaFold2BinderStructureConfig
Configuration for the AF2 binder-design backend.
ReturnsConstraintOutput
Per-proposal score and iptm / pdb_output / structure_tool metadata; predicted Structure attaches to slot 0.

Usage

Programming a protein-protein binder with AF3:
python
>>> from proto_language.core import Segment
>>> target = Segment(length=200, sequence_type="protein")
>>> binder = Segment(length=80, sequence_type="protein")
>>> af3_iptm = Constraint(
...     inputs=[target, binder],
...     function=structure_iptm_constraint,
...     function_config={
...         "structure_tool": "alphafold3",
...         "alphafold3_config": {"seeds": [0, 1], "use_msa": True},
...     },
... )
Programming a protein-DNA binder with Boltz2:
python
>>> from proto_language.core import Segment
>>> protein = Segment(length=100, sequence_type="protein")
>>> aptamer = Segment(length=20, sequence_type="dna")
>>> boltz_iptm = Constraint(
...     inputs=[protein, aptamer],
...     function=structure_iptm_constraint,
...     function_config={
...         "structure_tool": "boltz2",
...         "boltz2_config": {"use_msa_server": True},
...     },
... )

Metadata

PropertyValue
Keystructure-iptm
Functionstructure_iptm_constraint
Categoryprotein_structure
Modediscrete
Uses GPUTrue
Supported Typesprotein, rna, dna, ligand