
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
predict_structures once per batch and combines avg_plddt,
iptm, ptm, and avg_pae into a single scalar in [0, 1] where
lower is better (more confident). All four raw metrics plus the resulting
structure are also exposed via metadata / structures so callers can
threshold on individual metrics post-hoc (e.g., Germinal’s final-filter
gates in examples/germinal/configs/vhh_pdl1.yaml) without re-running the predictor.
The composite is the equal-weighted mean of normalized deviations:
(1 - plddt_norm + 1 - iptm + 1 - ptm + pae / PAE_MAXIMUM) / 4.
Versus stacking structure-plddt + structure-iptm + structure-ptm
structure-paeas four separate constraints, this is 4x cheaper (onepredict_structurescall instead of four) and exposes all metrics for post-hoc threshold labeling.
iptm and cannot handle multi-chain complexes, whereas
ESMFold2 does both; NOT AF2 binder because its interface TM value is exposed
as a differentiable objective rather than the same forward confidence metric
used here).
Metadata values are all normalized to
[0, 1] so downstream
threshold code is tool-agnostic (unlike sibling single-metric
constraints, which store raw values and require the caller to know
the tool’s scale):composite_avg_plddt: Normalized pLDDT in[0, 1](divided by 100 for alphafold3).composite_iptm: ipTM in[0, 1].composite_ptm: pTM in[0, 1].composite_avg_pae: Normalized PAE in[0, 1](raw Angstroms divided byPAE_MAXIMUM = 31.75, clamped at 1).pdb_output: Stored PDB file handle.structure_tool: Tool name used for prediction.
API Reference
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.
Predictor: esmfold/esmfold2/alphafold3/boltz2/chai1/protenix/alphafold2/alphafold2_binder.Options:
esmfold, esmfold2, alphafold3, boltz2, chai1, protenix, alphafold2, alphafold2_binderConfiguration for ESMFold structure prediction.
Configuration for ESMFold2 structure prediction.
Configuration for AlphaFold3 structure prediction.
Configuration for Boltz2 structure prediction.
Configuration for Chai1 structure prediction.
Configuration for Protenix structure prediction.
Configuration for the general AlphaFold2 multimer structure predictor.
Configuration for the AF2 binder-design backend.
ReturnsConstraintOutput
Per-proposal composite score in [0, 1] (lower
is better). Metadata carries the four normalized components
(composite_avg_plddt, composite_iptm, composite_ptm,
composite_avg_pae) plus pdb_output and structure_tool for
the predicted full input tuple; the predicted Structure attaches to
slot 0.Usage
Ranking binder candidates by composite structure quality with Chai-1:python
Metadata
| Property | Value |
|---|---|
| Key | structure-composite |
| Function | structure_composite_constraint |
| Category | protein_structure |
| Mode | discrete |
| Uses GPU | True |
| Supported Types | protein, rna, dna, ligand |