OEGetReasonableTautomers¶
OESystem::OEIterBase<OEChem::OEMolBase> *
OEGetReasonableTautomers(const OEChem::OEMolBase &mol,
const OETautomerOptions &opts=OETautomerOptions(),
bool pKaNorm=true);
OESystem::OEIterBase<OEChem::OEMCMolBase> *
OEGetReasonableTautomers(const OEChem::OEMCMolBase &mol,
const OETautomerOptions &opts=OETautomerOptions(),
bool pKaNorm=true);
This function takes a const input molecule that is to be tautomerized and the tautomers are returned as an iterator over molecules. The function is overloaded to handle both single (OEMolBase) and multi-conformer (OEMCMolBase) molecules.
- mol
The molecule being tautomerized.
- opts
The OETautomerOptions object that stores properties that influence tautomerization process.
- pKaNorm
This parameter determines whether to apply pKa normalization. If
true
the ionization state of each tautomer will be assigned to a predominate state at pH~7.4.
Example of tautomerizing a molecule
OETautomerOptions tautomer_options;
tautomer_options.SetMaxTautomersGenerated(4096);
tautomer_options.SetMaxTautomersToReturn(16);
tautomer_options.SetCarbonHybridization(true);
tautomer_options.SetMaxZoneSize(50);
tautomer_options.SetApplyWarts(true);
const bool pKa_norm = true;
OEGraphMol mol;
while(OEReadMolecule(ifs, mol))
{
for(OEIter<OEMolBase> mi = OEGetReasonableTautomers(mol, tautomer_options, pKa_norm); mi; ++mi)
{
// work with tautomer
See also
OEEnumerateTautomers
functionOEGetReasonableProtomer
functionOEGetReasonableProtomers
function
See also
Enumerating Tautomers code example