* add ability to block atoms/bonds from participating in tautomer zones
* be more structured with the atom flag
* response to review
---------
Co-authored-by: = <=>
* Tautomer insensitive hash v2, E/Z and stereocenter-preservation
* Preserve E/Z stereochemistry and stereocenters in TautomerHashv2
Simplify extension logic to better protect stereocenters connected via
single bonds to aromatic systems. Preserve E/Z stereo on exocyclic
double bonds to distinguish geometric isomers (e.g., E/Z hydrazones).
* add helper function to remove duplicated code
* Fix ring info and bond aromaticity handling in MolHash
- Add fastFindRings check in TautomerHashv2 before ring queries
- Set isAromatic consistent with bond type (true for AROMATIC bonds)
- Fix inverted condition in RegioisomerHash
* more consistent hashes regardless of stereo annotation
* improve handling of esters, amides, etc. in the v2 tautomer hash
Fixes#8090
* cleanup
* extend that logic to aromatic systems
* documentation in response to review
* make sure we don't try to access an SG which no longer exists
* Fixes#6479
updates a bunch of tests to support this
* test ring stereo too
* update expected results from the tests
* backup
* does not work
* backup
* passes all tests
send more tests!
* backup
* seems to mostly work
needs cleanup still
* more tests + python wrappers
* more testing
* some cleanup
* fix problem with newer boost
* be more expansive about unsaturation
* be symmetric in choosing the starting bond
fix a test error
* passes all tests;
passes ChEMBL regression test
* docs
* update cookbook
* expose the new hash function to the cartridge too
* support v2 hash in the registration hash
* better testing
* alternate, simpler approach for that
* remove vestigial docs
* add function to canonicalize enhanced stereo representations
* use enhanced stereo in canonicalization
* Fixes#6045
enables the doc tests for EnumerateStereoisomers.py
Re-enables the BRICS tests
* some things work... tests need to be updated
* c++ and python tests pass
* update expected psql results
* run the canonicalization on SMILES generation;
c++ and python tests pass
* cartridge and java tests pass
* update doctests
* stop using CIP codes in the atomic canonicalization
this will change results in some cases, so lots of tests need to be updated.
* stop breaking string literals... ARGH
* tests now pass
* update double bond canonicalization
* update a python test
* some cleanup
* update expected results for cartridge
* Nonchiral atoms should be removed from StereoGroups
This fixes a bug where atoms which have no chirality were left in StereoGroups
In order to make this work, ROMol::setStereoGroups() needed to be made public.
That shouldn't be a problem since it doesn't change connectivity.
* support CXSmiles extensions in the hashes
* initial tests for that
* some cleanup
* copyright header cleanup
* minor refactoring
* call out the changes in the release notes
* extension and more testing
* add python wrappers
* a round of cleanups courtesy of PVS studio
* add a test to make sure that a warning is a false alarm
* bug fix
* Fix a UFF bug
* more PVS studio cleanups
* next round of PVS studio cleanups
* completely remove the chances for that bug
* changes in response to review
* add an additional test
+ a bit of reformatting that snuck in
* do not remove multiple bonds that aren neither conjugated nor to heteroatoms
* unflag aromatic bonds
* remove bond stereo too
* call assignStereochemistry after the tautomer normalizations
* copy in, get building, add some basic tests
* complete the testing
Except for regiosiomers, which do not work
* regioisomers work now
* backup commit; things work
* remove last of NM macros from hashfunctions.cpp
* remove last of NM macros from hashfunctions.cpp
* remove dependency on the abstraction layer
* typo
* start using namespaces
clang-format
* switch to using enums for the HashFunctions and StripTypes
* Add initial python wrapper (and tests)
* move the new hashing code to the MolHash library
still may want to revise the naming of this
* Setup deprecation of the older hashing code
* better release notes text
* change in response to review