Skip to main content
Protein-DNA ipSAE
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.


evo-design/proto-language/proto_language/constraint/protein_structure/ipsae_constraint.py
View source
Constraint contributors
Score protein-DNA interface confidence with ipSAE.
For each candidate complex:
  1. Separate protein and DNA sequences from the input tuple.
  2. Build a complex with num_protein_copies protein chains and all DNA chains (optionally appending the reverse complement of a single strand).
  3. Run the configured structure predictor with the PAE matrix enabled and read structure.metrics['pae'].
  4. Run ipsae-scoring with the first protein chain as the binder and the DNA chain(s) as the targets, reading the binder-target ipSAE.
  5. Score: 0.0 (best) when ipSAE >= desired_ipsae, 1.0 (worst) when 0.
When the predictor does not surface the PAE matrix (e.g. include_pae_matrix is unsupported), this logs a warning and returns MAX_ENERGY with ipsae_error metadata for that candidate. Supported tools: any DNA-capable StructureBasedConstraintConfig predictor that emits the per-residue PAE matrix (AlphaFold3 / Boltz2 / Protenix); include_pae_matrix is enabled automatically here.

API Reference

ConfigProteinDNAIpsaeConfig Source
Config for the protein-DNA ipSAE interface constraint.Runs a structure prediction for the protein-DNA complex (with the PAE matrix enabled) and scores the binder protein vs. target DNA interface with ipSAE (Dunbrack 2025). ipSAE restricts to residue pairs with predicted aligned error below pae_cutoff (and CA-CA distance below distance_cutoff), yielding a value in [0, 1] (higher = better) that is compared against desired_ipsae to produce a cost in [0, 1] (lower = better).
integer
default:"2"
Protein monomer copies in the complex (2=homodimer, 1=monomer); reuses input chains first.
number
default:"0.5"
Target binder-target ipSAE in [0,1]. Score is 0 when achieved.
boolean
default:"True"
Add the reverse-complement DNA strand when the input has only one DNA sequence.
number
default:"10.0"
PAE threshold (Angstrom) for ipSAE interface residue detection.
number
default:"10.0"
CA-CA distance cutoff (Angstrom) for ipSAE contact detection.
enum
default:"alphafold3"
Predictor for the protein-DNA complex; must be DNA-capable (alphafold3/boltz2/protenix).Options: esmfold, esmfold2, alphafold3, boltz2, chai1, protenix, alphafold2, alphafold2_binder
ESMFoldConfig
Configuration for ESMFold structure prediction.
ESMFold2Config
Configuration for ESMFold2 structure prediction.
AlphaFold3Config
Configuration for AlphaFold3 structure prediction.
Boltz2Config
Configuration for Boltz2 structure prediction.
Chai1Config
Configuration for Chai1 structure prediction.
ProtenixConfig
Configuration for Protenix structure prediction.
AlphaFold2Config
Configuration for the general AlphaFold2 multimer structure predictor.
AlphaFold2BinderStructureConfig
Configuration for the AF2 binder-design backend.
ReturnsConstraintOutput
Per-proposal score in [0, 1] (lower is better) with ipsae / desired_ipsae / binder_chain / target_chains / structure_tool / pdb_output metadata and the predicted Structure on slot 0.

Usage

Programming a protein-DNA operator complex with AlphaFold3:
python

Metadata