Add tautomer query to the substructlibrary (#3808)

* 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>
This commit is contained in:
Brian Kelley
2021-03-04 22:56:20 -05:00
committed by GitHub
parent e21e2c2af6
commit c8aa10c80f
13 changed files with 643 additions and 273 deletions

View File

@@ -159,6 +159,14 @@ void serialize(Archive &ar, RDKit::PatternHolder &pattern_holder,
}
}
template <class Archive>
void serialize(Archive &ar, RDKit::TautomerPatternHolder &pattern_holder,
const unsigned int version) {
RDUNUSED_PARAM(version);
ar &boost::serialization::base_object<RDKit::FPHolderBase>(pattern_holder);
ar &pattern_holder.getNumBits();
}
template <class Archive>
void registerSubstructLibraryTypes(Archive &ar) {
ar.register_type(static_cast<RDKit::MolHolder *>(nullptr));
@@ -166,6 +174,7 @@ void registerSubstructLibraryTypes(Archive &ar) {
ar.register_type(static_cast<RDKit::CachedSmilesMolHolder *>(nullptr));
ar.register_type(static_cast<RDKit::CachedTrustedSmilesMolHolder *>(nullptr));
ar.register_type(static_cast<RDKit::PatternHolder *>(nullptr));
ar.register_type(static_cast<RDKit::TautomerPatternHolder *>(nullptr));
}
template <class Archive>
@@ -195,6 +204,7 @@ BOOST_CLASS_VERSION(RDKit::CachedMolHolder, 1);
BOOST_CLASS_VERSION(RDKit::CachedSmilesMolHolder, 1);
BOOST_CLASS_VERSION(RDKit::CachedTrustedSmilesMolHolder, 1);
BOOST_CLASS_VERSION(RDKit::PatternHolder, 1);
BOOST_CLASS_VERSION(RDKit::TautomerPatternHolder, 1);
BOOST_CLASS_VERSION(RDKit::SubstructLibrary, 1);
BOOST_SERIALIZATION_SPLIT_FREE(RDKit::MolHolder);