polymerist.rdutils.rdprops.bijection ==================================== .. py:module:: polymerist.rdutils.rdprops.bijection .. autoapi-nested-parse:: For mapping 1-to-1 between pairs of identical molecules Exceptions ---------- .. autoapisummary:: polymerist.rdutils.rdprops.bijection.SubstructMatchFailedError polymerist.rdutils.rdprops.bijection.MolSizeMismatchError Functions --------- .. autoapisummary:: polymerist.rdutils.rdprops.bijection.bijective_atom_id_iter polymerist.rdutils.rdprops.bijection.difference_rdmol Module Contents --------------- .. py:exception:: SubstructMatchFailedError Bases: :py:obj:`Exception` Raised when molecule graph isomorphism match does not form a cover .. py:exception:: MolSizeMismatchError Bases: :py:obj:`Exception` Raised when an operation is attempted on two molecules which were expected to have the same size but don't .. py:function:: bijective_atom_id_iter(rdmol_1: rdkit.Chem.rdchem.Mol, rdmol_2: rdkit.Chem.rdchem.Mol) -> Generator[tuple[int, int], None, None] Takes two chemically identical molecules, matches corresponding atoms between them 1:1, and generates matching atom id pairs Yields atoms in pairs in the same order as the molecules being matched were provided .. py:function:: difference_rdmol(rdmol_1: rdkit.Chem.rdchem.Mol, rdmol_2: rdkit.Chem.rdchem.Mol, prop: str = 'PartialCharge', remove_map_nums: bool = True) -> rdkit.Chem.rdchem.Mol Takes two RDKit Mols (presumed to have the same structure and atom map numbers) and the name of a property whose partial charges are the differences betwwen the two Mols' charges (atomwise) Assumes that the property in question is numeric (i.e. can be interpreted as a float)