bool OESwapAIEResidueAtoms(OEChem::OEMolBase &mol, OEHierResidue &res)
bool OESwapAIEResidueAtoms(OEChem::OEMCMolBase &mol, OEHierResidue &res)
bool OESwapAIEResidueAtoms(OEChem::OEMolBase &mol, OEChem::OEAtomBase *atom,
                           unsigned assume=OEAssumption::Default)
bool OESwapAIEResidueAtoms(OEChem::OEMCMolBase &mol, OEChem::OEAtomBase *atom,
                           unsigned assume=OEAssumption::Default)

The function name OESwapAIEResidueAtoms stands for Swap Ambiguous Isoelectronic Residue Atoms. This high-level function allows a user to easily swap the residues in an atom which may not be fully specified by the crystallographic densities. The residues which are effected by this function include ASP, ASN, ASX, GLU, GLN, GLX, HIS, HIP, HID and HIE.

The ‘assume’ argument is a bitmask that indicates whether the algorithm can assume that the molecule has perceived residues, has PDB ordered atoms, or as bonded residues (see the OEAssumption namespace for more information).