* support generalized substructure search in the SubstructLibrary
* simplify namespaces
* support the new functionality in the swig wrappers
* update mac swig version in CI
* ensure swig4
* switch mac_java ci builds to conda-forge
* change in response to review
* add copy ctor to extendedquerymol
* Back to the way it was
* Adds KeyFromPropHolder to hold user defined indices
* Add missing file
* I hate swig. Had to move keyholder classes into main header file, yuck.
But I added tests, so yay?
* Remove removed dependency
* Fix borked test
* Make consistent getKeys function, fix constness
* Fix overloaded call
* Remove GetKey/s from SubstructLibrary
* support MolBundles in the SubstructLibrary
* support SubstructMatchParameters in SubstructLibrary
* expose those methods to the python wrapper
* fix non-threadsafe build problem
* be explicit about sorting
* add the option to set the search order
* add example functions for setting the search order
* Fixes#3797
* [WIP] Add tautomer queries to the substruct library
* Add TautomerQuery to CMake
* Add missing TautomerQuery functions, python wrapper and tests
* Add python wrappers for Substruct Library Tautomer Queries
* Explictly label non-const pattern function now that we have both
* Use boost::shared_ptr not std::shared_ptr
* Fix java builds
* One more try to fix java builds
* Fix Java Tests
* Run clang format
* Reenable tests
* Fix annoyingly stupid bug and annoying commit of debug code
* Fix documentation
* reenable ifdef threadsafe check
* Throw warning and perform tautomer search instead of bailing with incorrect fingerprints
* Simplfy api with templates
* Fix SubstructLibrary java issues
* minor API cleanup
* simplify the SWIG wrappers
Co-authored-by: Brian Kelley <bkelley@relaytx.com>
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* - added some missing const keywords
- added an addFingerprint overload to allow passing pointers
- added a test
* changes in response to review
* removed print
* added missing shared_ptr declaration
* added PatternNumBitsHolder serialization
* - merged with upstream changes and resolved conflicts
- got rid of PatternNumBitsHolder and leveraged the serialization version to get the PatternHolder to be backwards-compatible
* built substructLibV1.pkl with an older version of boost
* reverted serialization version to 1
only write numBits if != 2048 and only read numBits if it exists in the archive
* bogus commit just to trigger a rebuild
* run clang-tidy with modernize-use-default-member-init
* results from modernize-use-emplace
* one uniform initialization per line
otherwise SWIG is unhappy
Co-authored-by: Brian Kelley <fustigator@gmail.com>
* Add threaded pattern generator to help speed up library creation
* Add size to FPHolderBase
* Add more complete python wrapper, fix leak in doctest
* Add basic usage test for addPatterns, fix I/O leak
* Add basic test for trusted smiles
* Actually add the new code
* Export addPatterns on windows
* Try fixing the cartridge build
* Change pattern_factory to PatternFactory
* Change boost::ref to std::ref
* WIP - Substruct Library Serialization
* Add serialization to SubstructLibrary
* Add SubstructLibraryDefs
This holds the definition of whether the substruct
library is serializable
* Wrap serialization in python
* Remove .h file, add .h.in file
* Configure header file into source dir
* Use RDConfig.h to configure serialization
* Move serialization code to seperate header file
* Fixes for review comments
* Removes some code redundancy
* Make pickling mols less memory intensive
* Check if molholders come back as the right types
* Adds substruct library documentation
* Adds testing of (fixed) documentation code
* Fixes typos and emphasizes the speed of trusted smiles
* Removes colons from parameters in docstrings, was causing warnings
* First entry of the SubstructLibrary module
* Switch to shared_ptrs for memory safety
* run clang-format and add a test
* only build when threadsafe_sss is enabled, only test when test_multithreaded is enabled
* Adds PRECONDITION
* Adds exceptions for out of range errors
* Changes getQueryBits to makeQueryBits for clarity
* Adds API point to add Binary and Smiles directly
* Replaces 0 with NULL for clarity.
* Removes debugging code.
* Makes endIdx non-inclusive
* Adds substruct searching options
* Adds preconditions
* Small documentation cleanup and removes a line of code.
* Add DataStructs library dependency
* Actually uses passed in parameters
* Adds TrustedSmiles/Binary inputs
* Adds more api testing options/trusted smiles and binary inputs
* Finalizes API adds docs and doctests
* Minor copyright fixes and such