* 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
* atropisomer handling added
* fixed non-used variables, linking directives
* BOOST LIB start/stop fixes, linking fix
* Fixes for RDKIT CI errors
* minimalLib fix
* changed vector<enum> for java builds
* check for extra chars in CIP labeling
* removed wrong deprecated message
* fix ostrstream output error?
* restored _ChiralAtomRank to lowercase first letter
* changes for merged master
* Fixed catch label for new Catch package
* update expected psql results
* get swig wrappers building
* restore MolFileStereochem to FileParsers
* fix java wrapper for reapplyMolBlockWedging
* some suggestions
* move a couple functions out of Bond
* Merge branch 'master' into pr/atropisomers2
* merged master
* Renamed setStereoanyFromSquiggleBond
* atropisomers in cdxml, rationalize atrop wedging, stereoGroups in drawMol
* fix for CI build
* attempt to fix java build in CI
* attempt to fix java build in CI #2
* New routine to remove non-explicit 3D-geneated chirality
* changed to use pair for atrop atoms and related bonds
* Changes as per PR reviews
* PR review respnses
* PR review reponse - more
* Fix merge from master
* fixing java ci after merge
* Updated the help doc for atripisomers
* update the atropisomer docs
* improve the images
* add the source CXSMILES
---------
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* ci updates
* forgotten update
* inch by inch
* remove unused variable
* try a gcc bump
* get rid of a bunch of unused-but-set errors in clang16
* be more selective
* disable a test in an obsolete module which is mysteriously failing
* 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
* Stop using GetCanonicalSmiles
* SHARED-8633: Delete _GetCanonicalSmiles and remove unwanted cx extensions from tautomer has using rdkit functions
* Adding tests for matching and non-matching pseudoatom hashing cases
* SHARED-8633: Adding a test to ensure that passing in data field names allows data sgroups to be included in the hashing process
* SHARED 8633: small naming improvement
* Revert "SHARED-8633: Adding a test to ensure that passing in data field names allows data sgroups to be included in the hashing process"
This reverts commit 8f163ec1f7.
* Using a global variable for default cxflags
* Issue 6224: Adding a new optional parameter to the rdMolHash.MolHash function to allow customization of CXSmiles extensions. Also changed RegistrationHash.py tautomer hash calculation to use this new functionality
* Issue 6224: Extended CXSmile extension customization functionality to all the relevant functions in hashfunctions.cpp
---------
Co-authored-by: Iren Azra Coskun <coskun@Irens-MacBook-Pro-2.local>
* 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
* backup
* simple first pass, passes all tests
* cleanup a bunch of existing uses
* ensure that we can safely add atoms/bonds while in edit mode
* add context manager on python side
* handle exceptions properly in those
* changes in response to review
* run clang-tidy with readability-braces-around-statements
clang-format the results
clean up all the parts that clang-tidy-8 broke
* fix problem on windows
* 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