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 = new OETautomerOptions();
tautomer_options.SetMaxTautomersGenerated(4096);
tautomer_options.SetMaxTautomersToReturn(16);
tautomer_options.SetCarbonHybridization(true);
tautomer_options.SetMaxZoneSize(50);
tautomer_options.SetApplyWarts(true);
boolean pKaNorm = true;
while (oechem.OEReadMolecule(ifs, mol)) {
for (OEMolBase tautomer : oequacpac.OEGetReasonableTautomers(mol, tautomer_options, pKaNorm)) {
// work with tautomer
See also
OEEnumerateTautomers
functionOEGetReasonableProtomer
functionOEGetReasonableProtomers
function
See also
Enumerating Tautomers code example