class openfe.setup.atom_mapping.LomapAtomMapper(*, time: int = 20, threed: bool = True, max3d: float = 1000.0, element_change: bool = True, seed: str = '', shift: bool = True)#

Wraps the MCS atom mapper from Lomap.

Kwargs are passed directly to the MCS class from Lomap for each mapping created

Parameters:
  • time (int, optional) – timeout of MCS algorithm, passed to RDKit default 20

  • threed (bool, optional) – if true, positional info is used to choose between symmetrically equivalent mappings and prune the mapping, default True

  • max3d (float, optional) – maximum discrepancy in Angstroms between atoms before mapping is not allowed, default 1000.0, which effectively trims no atoms

  • element_change (bool, optional) – whether to allow element changes in the mappings, default True

  • seed (str, optional) – SMARTS string to use as seed for MCS searches. When used across an entire set of ligands, this can speed up calculations considerably

  • shift (bool, optional) – when determining 3D overlap, if to translate the two molecules MCS to minimise RMSD to boost potential alignment.

time: int#
threed: bool#
max3d: float#
element_change: bool#
seed: str#
shift: bool#
suggest_mappings(componentA: SmallMoleculeComponent, componentB: SmallMoleculeComponent) Iterable[LigandAtomMapping]#

Generate one or more mappings between two small molecules

Parameters:
  • componentA (gufe.SmallMoleculeComponent) –

  • componentB (gufe.SmallMoleculeComponent) –

Returns:

mapping – potential mappings

Return type:

Iterable[LigandAtomMapping]