* use std::span for substruct match callbacks
This removes a copy from every evaluation of potential matches
* some cleanup/modernization
* some modernization
* deprecate chiralAtomCompat
* small optimization
* remove naked pointers
* improve new_timings.py script
* changes suggested in review
* response to review
* response to review
* New tests for speical query atoms and atropisomers
* fixed error, and used unique_ptrs
* Removed test that makes GraphMol depend on GenericGroups
* More to remove GraphMol dependency on GenericGroups
* Add a new parameter to mol_adjust_query_properties for generic query parameters (#46)
Adds a new parameter to mol_adjust_query_properties:"setGenericQueryFromProperties"
that defaults to false (so no change of behavior until used).
This PR also removes the previous way of doing it that involved reprocessing the query molecule for every comparison.
On datasets of 200k molecules the speed-up is between 2 (large complex substructure searches with repeating units) to 5 times (tiny substructures search).
Add support for generic query in PG cartridge
* Add generic groups to the lib
* Move the querying with generic groups out of MolOps to not bloat the library.
* Fix Python calls
* Update doc
* Proof that last 3 commits are mine.
* Fix missing headers
* Fix typo
* Fix call
* Fix calls
* suggested changes
* Update Code/GraphMol/GenericGroups/GenericGroups.h
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Add adjustquery test with default parameters.
---------
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* backup commit
This is mabye heading in the right direction and at least passes the basic tests which are there.
* some progress
* more tests and refactoring
* additional aliases
add carboaryl
* add CYC and ACY
* add ABC
* add AHC
* CBC and AOX
* add CHC and HAR
* add CXX
* cleanup: remove a bunch of nullptrs
* initial tagging support
* remove atom labels/sgroups after using them
* docs
* start handing writing
NOTE: this does not currently work: the generic code needs to move out of SubstructSearch
* move the generic groups to their own library
Signed-off-by: greg landrum <greg.landrum@gmail.com>
* make sure the generic groups end up in ctabs
* add forgotten CMakeLists.txt
* fix includes
* expose this stuff to Python
* CYC needs to initialize rings
* renaming
* add docs
* change in response to review