Skip to main content
Structural RMSD Similarity
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.


proto-bio/proto-language/proto_language/constraint/protein_structure/structure_similarity_constraint.py
View source
Predicts structure of input proposals and compares RMSD against a target. Returns a score 0-1 (0 is perfect match). Metadata describes the predicted full input tuple/complex, not an individual chain.

API Reference

ConfigStructureRMSDConfig Source
Configuration for RMSD-based structure similarity.This configuration extends StructureSimilarityConfig with specific parameters for calculating the Root Mean Square Deviation (RMSD) between the target and proposal structures. The raw RMSD value is transformed into a 0-1 constraint score using a sigmoid function, where 0 represents a perfect match (low RMSD) and 1 represents a poor match (high RMSD).Inherits target specification (target_chains, target_structure, min_target_plddt) from StructureSimilarityConfig and tool selection (structure_tool, esmfold_config, esmfold2_config, alphafold3_config, boltz2_config, chai1_config, protenix_config, alphafold2_config, alphafold2_binder_config) from StructureBasedConstraintConfig.
inflection_point_angstroms
number
default:"2.0"
RMSD in Ångströms where the sigmoid score equals 0.5; values below 2 Å are generally a good match.
sigmoid_slope
number
default:"3.0"
Steepness of the penalty curve.
pymol_alignment_method
enum
default:"cealign"
PyMOL alignment routine for RMSD calculation.Options: cealign, align
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.
target_chains
array | Complex
Target chains: a tuple of sequence strings (entity types auto-detected).
target_structure
Structure | string
Target structure: a Structure object, file path (.pdb/.cif), or raw PDB/CIF content string.
min_target_plddt
number
default:"0.6"
Min mean pLDDT (0-1 scale) for a target folded from sequence; ignored when target_structure is set.

Usage

python
from proto_language.core import Constraint
from proto_language.constraint import structure_rmsd_constraint, StructureRMSDConfig

constraint = Constraint(
    inputs=[segment],
    function=structure_rmsd_constraint,
    function_config=StructureRMSDConfig(
        # Configure parameters here
    ),
)

scores = constraint.evaluate()

Metadata

PropertyValue
Keystructure-rmsd
Functionstructure_rmsd_constraint
Categoryprotein_structure
Modediscrete
Uses GPUTrue
Supported Typesprotein, rna, dna, ligand