* 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
* - enable SubstructLibrary to build without threading support
- enforce consistency across single- and multi-threaded runs
- improve performance on single-threaded runs avoiding overhead of spawning threads
- consolidate internalCountMatches and internalGetMatches into one function to reduce code duplication
- fix a bug in Python CountMatches whjich would run on 1000 threads
* reverted Code/GraphMol/SubstructLibrary/Wrap/SubstructLibraryWrap.cpp as it is now in its own PR (#3558)
* - added missing cast
- removed unnecessary std::make_move_iterator
- added Brian's test
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* 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
* 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
* boost::thread mostly gone... still need to get rid of once
everything compiles
* replace boost::call_once
* remove link-time dependency on boost::thread
* first pass at using async
* switch to using async everywhere
* 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