- class openfe.setup.atom_mapping.LomapAtomMapper(*, time: int = 20, threed: bool = True, max3d: float = 1.0, element_change: bool = True, seed: str | None = None, shift: bool = False)#
Wraps the MCS atom mapper from Lomap.
Kwargs are passed directly to the MCS class from Lomap for each mapping created
- Parameters:
time (int, default 20) – Timeout of MCS algorithm in seconds, passed to RDKit.
threed (bool, default True) – If
True, positional info is used to choose between symmetrically equivalent mappings and prune the mapping.max3d (float, default 1.0) – Maximum discrepancy in Angstroms between atoms before mapping is not allowed.
element_change (bool, default True) – If
True, allow element changes in the mappings.seed (str | None, default None) – SMARTS string to use as seed for MCS searches. When used across an entire set of ligands, this can speed up calculations considerably. If
Noneand empty string (no seed) will be passed through.shift (bool, default False) – If
True, translate the two molecules’ MCS to minimize the RMSD. This can boost potential alignment when determining 3D overlap.
- suggest_mappings(componentA: SmallMoleculeComponent, componentB: SmallMoleculeComponent) Iterable[LigandAtomMapping]#
Generate one or more mappings between two small molecules
- Parameters:
componentA (gufe.SmallMoleculeComponent) – The SmallMoleculeComponents to suggest mappings between.
componentB (gufe.SmallMoleculeComponent) – The SmallMoleculeComponents to suggest mappings between.
- Returns:
mapping – Potential mappings between
componentAandcomponentB.- Return type:
Iterable[LigandAtomMapping]