bool OEGetReasonableProtomer(OEChem::OEMolBase &mol)
bool OEGetReasonableProtomer(OEChem::OEMCMolBase &mol)

This function will attempt to produce a single protomer that will be a suitable representation of the molecule in a biological system. This state is defined as an aqueous environment with pH~7.4 and a tautomer from among the predominate tautomers that is favored by medicinal chemists. This function is intended to be suitable for preparing molecules to display to chemists. The molecules are quite consistent, but should not be considered a canonical form in this version.


The process of the OEGetReasonableProtomer function is the following:

  1. Remove formal charge of the molecule by calling OERemoveFormalCharge
  2. Get the most reasonable tautomer by calling OEEnumerateTautomers with the following options (OETautomerOptions)
  3. Call OESetNeutralpHModel to set a favorable ionization state

See also


This function removes the molecule coordinates.