Skip to main content
Structure Ensemble RMSD
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/structure_ensemble_similarity_constraint.py
View source
Constraint contributors
Generate conformational ensembles and compute RMSD against an experimental.
target structure. This constraint:
  1. Prepares the target structure (extracting chain/residue range if specified).
  2. For each proposal sequence, generate a conformational ensemble.
  3. Computes PyMOL-aligned RMSD between each ensemble frame and the target.
  4. Summarizes the RMSDs using the specified aggregation method.
  5. Converts the summarized RMSD to a 0-1 score using a sigmoid function.

API Reference

ConfigStructureEnsembleSimilarityConfig Source
Configuration for structure ensemble similarity constraints.This constraint generates a conformational ensemble for a proposal protein sequence and computes the RMSD between ensemble members and an experimental target structure using PyMOL alignment.
Structure | string
required
Target structure: a Structure object, file path (.pdb/.cif), or raw PDB/CIF content string.
string
Chain ID to extract from the target structure (e.g., ‘A’).
array
Residue range (start, end) to extract from target (1-indexed, inclusive).
array
Residue range (start, end) of the proposal sequence to use.
BioEmuConfig
Dictionary of configuration parameters passed to the ensemble prediction tool.
enum
default:"min"
How to summarize ensemble RMSD values: min (best match), p10, mean, or median.Options: min, p10, mean, median
enum
default:"align"
PyMOL alignment routine for ensemble RMSD calculation.Options: cealign, align
number
default:"3.0"
RMSD in Ångströms where the sigmoid score equals 0.5; values below 3 Å are generally a good match.
number
default:"3.0"
Steepness of the penalty curve.
boolean
default:"False"
Whether to print progress messages.
ReturnsConstraintOutput
Per-proposal score in [0, 1] (0 is a perfect match) with ensemble RMSD summary/distribution metadata.

Usage

python

Metadata