![]() |
RDKit
Open-source cheminformatics and machine learning.
|
#include <Tautomer.h>
Public Member Functions | |
TautomerEnumerator ()=delete | |
TautomerEnumerator (TautomerCatalog *tautCat) | |
TautomerEnumerator (const TautomerEnumerator &other) | |
TautomerEnumerator & | operator= (const TautomerEnumerator &other) |
std::vector< ROMOL_SPTR > | enumerate (const ROMol &mol, boost::dynamic_bitset<> *modifiedAtoms=nullptr, boost::dynamic_bitset<> *modifiedBonds=nullptr) const |
returns all tautomers for the input molecule More... | |
ROMol * | pickCanonical (const std::vector< ROMOL_SPTR > &tautomers, boost::function< int(const ROMol &mol)> scoreFunc=TautomerScoringFunctions::scoreTautomer) const |
returns the canonical tautomer from a set of possible tautomers More... | |
ROMol * | canonicalize (const ROMol &mol, boost::function< int(const ROMol &mol)> scoreFunc=TautomerScoringFunctions::scoreTautomer) const |
returns the canonical tautomer for a molecule More... | |
Definition at line 43 of file MolStandardize/Tautomer.h.
|
delete |
|
inline |
Definition at line 46 of file MolStandardize/Tautomer.h.
|
inline |
Definition at line 47 of file MolStandardize/Tautomer.h.
|
inline |
returns the canonical tautomer for a molecule
Note that the canonical tautomer is very likely not the most stable tautomer for any given conditions. The default scoring rules are designed to produce "reasonable" tautomers, but the primary concern is that the results are canonical: you always get the same canonical tautomer for a molecule regardless of what the input tautomer or atom ordering were.
The default scoring scheme is inspired by the publication: M. Sitzmann et al., “Tautomerism in Large Databases.”, JCAMD 24:521 (2010) https://doi.org/10.1007/s10822-010-9346-4
Definition at line 109 of file MolStandardize/Tautomer.h.
References BOOST_LOG, and rdWarningLog.
std::vector<ROMOL_SPTR> RDKit::MolStandardize::TautomerEnumerator::enumerate | ( | const ROMol & | mol, |
boost::dynamic_bitset<> * | modifiedAtoms = nullptr , |
||
boost::dynamic_bitset<> * | modifiedBonds = nullptr |
||
) | const |
returns all tautomers for the input molecule
The enumeration rules are inspired by the publication: M. Sitzmann et al., “Tautomerism in Large Databases.”, JCAMD 24:521 (2010) https://doi.org/10.1007/s10822-010-9346-4
mol | the molecule to be enumerated |
modifiedAtoms | if provided this is used to return which atoms are modified during the tautomerization |
modifiedBonds | if provided this is used to return which bonds are modified during the tautomerization |
Note: the definitions used here are that the atoms modified during tautomerization are the atoms at the beginning and end of each tautomer transform (the H "donor" and H "acceptor" in the transform) and the bonds modified during transformation are any bonds whose order is changed during the tautomer transform (these are the bonds between the "donor" and the "acceptor")
|
inline |
Definition at line 49 of file MolStandardize/Tautomer.h.
ROMol* RDKit::MolStandardize::TautomerEnumerator::pickCanonical | ( | const std::vector< ROMOL_SPTR > & | tautomers, |
boost::function< int(const ROMol &mol)> | scoreFunc = TautomerScoringFunctions::scoreTautomer |
||
) | const |
returns the canonical tautomer from a set of possible tautomers
Note that the canonical tautomer is very likely not the most stable tautomer for any given conditions. The default scoring rules are designed to produce "reasonable" tautomers, but the primary concern is that the results are canonical: you always get the same canonical tautomer for a molecule regardless of what the input tautomer or atom ordering were.
The default scoring scheme is inspired by the publication: M. Sitzmann et al., “Tautomerism in Large Databases.”, JCAMD 24:521 (2010) https://doi.org/10.1007/s10822-010-9346-4