openfe.setup.atom_mapping.lomap_scorers.mcsr_score(mapping: LigandAtomMapping, beta: float = 0.1) float#

Maximum common substructure rule (MCSR) score.

This rule is defined as:

\[mcsr = exp( - beta * (n1 + n2 - 2 * n\_common))\]

Where n1 and n2 are the number of heavy atoms in each molecule, and n_common is the number of heavy atoms in the MCS. This makes the term n1 + n2 - 2 * n_common the total number of atoms inserted or deleted in the transformation.

The exponential is used to ensure the score ranges between 0 and 1, and to strongly favor small structural changes.

Parameters:
  • mapping (LigandAtomMapping) – Mapping between the two ligands in the edge.

  • beta (float, default 0.1) – Scaling factor.

Returns:

score – Value in the range [0, 1.0], with 1.0 indicating complete overlap.

Return type:

float