mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-04 21:54:27 +08:00
* - Added a TautomerEnumerator constructor which allows passing CleanupParameters - Added three configurable parameters to CleanupParameters - Added a callback to TautomerEnumerator - Fixed a bug where the same tautomer could be mapped by both isomeric and non-isomeric SMILES - TautomerEnumerator::enumerate() now returns a TautomerEnumeratorResult and does not take dynamic_bitset pointers as optional parameters - Added a missing transform from the Sitzmann paper - General code cleanup and optimization * - TautomerEnumeratorResult is now iterable in both C++ and Python - further optimizations - implemented a TautomerEnumerator.PickCanonical() Python wrapper - added C++ and Python accessors to SMILES and SmilesTautomerMap * - make sure the number of tautomers reported by rdLogger is correct and definitive * make sure that if N maxTautomers are requested, N tautomers are returned if the theoretical number of tautomers is M>N * avoid that sulfonic acids hit the formamidinesulfinic acid tautomerisation rule * offer an option to allow the old API to still be used. * Changes in response to review and following discussion with Gareth and Greg * - made TautomerEnumeratorResult an enum class (was a plain C enum) - made TautomerEnumeratorResult::const_iterator a bidirectional_iterator - added tests to fully probe the TautomerEnumeratorResult::const_iterator functionality * - change the difference_type definition - added tests for the above * - cosmetic change to improve code readability Co-authored-by: greg landrum <greg.landrum@gmail.com>