Files
rdkit/Code/GraphMol
Paolo Tosco 527a7adf99 Some work on TautomerEnumerator (#3327)
* - 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>
2020-09-24 17:00:03 -04:00
..
2020-09-18 10:01:10 -04:00
2019-10-10 20:18:43 +09:00
2020-09-18 06:44:40 +02:00
2020-09-04 12:39:58 -04:00
2020-09-10 08:11:47 +02:00
2020-09-09 04:59:08 +02:00
2019-10-10 20:18:43 +09:00
2019-11-15 07:53:42 -05:00
2019-12-31 06:43:27 +01:00
2019-05-22 09:23:44 -04:00
2020-05-25 09:40:01 +02:00
2020-09-04 12:38:25 -04:00
2020-08-01 04:36:34 +02:00
2015-11-14 14:58:11 +01:00
2018-07-25 09:14:17 +02:00
2019-04-16 12:05:47 -04:00
2020-09-04 12:38:25 -04:00
2018-07-25 09:14:17 +02:00
2019-10-10 20:18:43 +09:00
2018-02-15 05:39:02 +01:00
2020-09-02 04:51:20 +02:00
2020-09-02 04:51:20 +02:00
2020-09-02 04:51:20 +02:00
2019-12-31 06:43:27 +01:00
2018-11-18 10:41:33 -05:00
2020-09-09 04:59:08 +02:00