![]() |
RDKit
Open-source cheminformatics and machine learning.
|
#include <Tautomer.h>
Public Member Functions | |
| TautomerEnumerator (TautomerCatalog *tautCat) | |
| TautomerEnumerator (const CleanupParameters ¶ms=CleanupParameters()) | |
| TautomerEnumerator (const TautomerEnumerator &other) | |
| TautomerEnumerator & | operator= (const TautomerEnumerator &other) |
| void | setMaxTautomers (unsigned int maxTautomers) |
| unsigned int | getMaxTautomers () |
| void | setMaxTransforms (unsigned int maxTransforms) |
| unsigned int | getMaxTransforms () |
| void | setRemoveSp3Stereo (bool removeSp3Stereo) |
| bool | getRemoveSp3Stereo () |
| void | setRemoveBondStereo (bool removeBondStereo) |
| bool | getRemoveBondStereo () |
| void | setRemoveIsotopicHs (bool removeIsotopicHs) |
| bool | getRemoveIsotopicHs () |
| void | setReassignStereo (bool reassignStereo) |
| bool | getReassignStereo () |
| void | setCallback (TautomerEnumeratorCallback *callback) |
| void | setCallback (std::shared_ptr< TautomerEnumeratorCallback > callback) |
| TautomerEnumeratorCallback * | getCallback () const |
| TautomerEnumeratorResult | enumerate (const ROMol &mol) const |
returns a TautomerEnumeratorResult structure for the input molecule | |
| std::vector< ROMOL_SPTR > | enumerate (const ROMol &mol, boost::dynamic_bitset<> *modifiedAtoms, boost::dynamic_bitset<> *modifiedBonds=nullptr) const |
| ROMol * | pickCanonical (const TautomerEnumeratorResult &tautRes, boost::function< int(const ROMol &mol)> scoreFunc=TautomerScoringFunctions::scoreTautomer) const |
returns the canonical tautomer from a TautomerEnumeratorResult | |
| template<class Iterable, typename std::enable_if< !std::is_same< Iterable, TautomerEnumeratorResult >::value, int >::type = 0> | |
| ROMol * | pickCanonical (const Iterable &tautomers, boost::function< int(const ROMol &mol)> scoreFunc=TautomerScoringFunctions::scoreTautomer) const |
| ROMol * | canonicalize (const ROMol &mol, boost::function< int(const ROMol &mol)> scoreFunc={}) const |
| returns the canonical tautomer for a molecule | |
| void | canonicalizeInPlace (RWMol &mol, boost::function< int(const ROMol &mol)> scoreFunc={}) const |
Definition at line 335 of file MolStandardize/Tautomer.h.
|
inline |
Definition at line 337 of file MolStandardize/Tautomer.h.
Referenced by operator=(), and TautomerEnumerator().
| RDKit::MolStandardize::TautomerEnumerator::TautomerEnumerator | ( | const CleanupParameters & | params = CleanupParameters() | ) |
|
inline |
Definition at line 346 of file MolStandardize/Tautomer.h.
References TautomerEnumerator().
| ROMol * RDKit::MolStandardize::TautomerEnumerator::canonicalize | ( | const ROMol & | mol, |
| boost::function< int(const ROMol &mol)> | scoreFunc = {} ) const |
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 When scoreFunc is empty (default), an optimized scorer is created that pre-filters substructure patterns once for the input molecule. caller owns the pointer
| void RDKit::MolStandardize::TautomerEnumerator::canonicalizeInPlace | ( | RWMol & | mol, |
| boost::function< int(const ROMol &mol)> | scoreFunc = {} ) const |
| TautomerEnumeratorResult RDKit::MolStandardize::TautomerEnumerator::enumerate | ( | const ROMol & | mol | ) | const |
returns a TautomerEnumeratorResult structure 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 |
Notes:
| std::vector< ROMOL_SPTR > RDKit::MolStandardize::TautomerEnumerator::enumerate | ( | const ROMol & | mol, |
| boost::dynamic_bitset<> * | modifiedAtoms, | ||
| boost::dynamic_bitset<> * | modifiedBonds = nullptr ) const |
Deprecated, please use the form returning a TautomerEnumeratorResult instead
|
inline |
Definition at line 451 of file MolStandardize/Tautomer.h.
|
inline |
Definition at line 374 of file MolStandardize/Tautomer.h.
|
inline |
Definition at line 384 of file MolStandardize/Tautomer.h.
|
inline |
Definition at line 433 of file MolStandardize/Tautomer.h.
|
inline |
Definition at line 412 of file MolStandardize/Tautomer.h.
|
inline |
Definition at line 422 of file MolStandardize/Tautomer.h.
|
inline |
Definition at line 398 of file MolStandardize/Tautomer.h.
|
inline |
Definition at line 355 of file MolStandardize/Tautomer.h.
References TautomerEnumerator().
|
inline |
returns the canonical tautomer from an iterable of possible tautomers When Iterable is TautomerEnumeratorResult we use the other non-templated overload for efficiency (TautomerEnumeratorResult already has SMILES so no need to recompute them) caller owns the pointer
Definition at line 497 of file MolStandardize/Tautomer.h.
References RDKit::MolOps::assignStereochemistry(), RDKit::MolStandardize::detail::countSpecifiedStereo(), RDKit::MolToSmiles(), and RDKit::MolStandardize::TautomerScoringFunctions::scoreTautomer().
| ROMol * RDKit::MolStandardize::TautomerEnumerator::pickCanonical | ( | const TautomerEnumeratorResult & | tautRes, |
| boost::function< int(const ROMol &mol)> | scoreFunc = TautomerScoringFunctions::scoreTautomer ) const |
returns the canonical tautomer from a TautomerEnumeratorResult
References RDKit::MolStandardize::TautomerScoringFunctions::scoreTautomer().
|
inline |
Definition at line 442 of file MolStandardize/Tautomer.h.
|
inline |
set this to an instance of a class derived from TautomerEnumeratorCallback where operator() is overridden. DO NOT delete the instance as ownership of the pointer is transferred to the TautomerEnumerator
Definition at line 439 of file MolStandardize/Tautomer.h.
|
inline |
| maxTautomers | maximum number of tautomers to be generated |
Definition at line 370 of file MolStandardize/Tautomer.h.
|
inline |
| maxTransforms | maximum number of transformations to be applied this limit is usually hit earlier than the maxTautomers limit and leads to a more linear scaling of CPU time with increasing number of tautomeric centers (see Sitzmann et al.) |
Definition at line 380 of file MolStandardize/Tautomer.h.
|
inline |
| reassignStereo; | if set to true, assignStereochemistry will be called on each tautomer generated by the enumerate() method. This defaults to true. |
Definition at line 427 of file MolStandardize/Tautomer.h.
|
inline |
| removeBondStereo; | if set to true, stereochemistry information will be removed from double bonds involved in tautomerism. This means that enols will lose their E/Z stereochemistry after going through tautomer enumeration because of the keto-enolic tautomerism. This defaults to true in RDKit and also in the workflow described by Sitzmann et al. |
Definition at line 406 of file MolStandardize/Tautomer.h.
|
inline |
| removeIsotopicHs; | if set to true, isotopic Hs will be removed from centers involved in tautomerism. |
Definition at line 416 of file MolStandardize/Tautomer.h.
|
inline |
| removeSp3Stereo; | if set to true, stereochemistry information will be removed from sp3 atoms involved in tautomerism. This means that S-aminoacids will lose their stereochemistry after going through tautomer enumeration because of the amido-imidol tautomerism. This defaults to true in RDKit, false in the workflow described by Sitzmann et al. |
Definition at line 392 of file MolStandardize/Tautomer.h.