12#ifndef XQMOL_H_MAY2023
13#define XQMOL_H_MAY2023
20#include <boost/core/noncopyable.hpp>
30namespace GeneralizedSubstruct {
35 XQM_TAUTOMERQUERY = 3,
36 XQM_TAUTOMERBUNDLE = 4
42 std::unique_ptr<std::vector<std::unique_ptr<TautomerQuery>>>;
44 std::variant<RWMol_T, MolBundle_T, TautomerQuery_T, TautomerBundle_T>;
47 : xqmol(std::move(bundle)) {}
50 std::unique_ptr<std::vector<std::unique_ptr<TautomerQuery>>> tqs)
51 : xqmol(std::move(tqs)) {}
74 unsigned int fpSize = 2048U)
const;
100 const RWMol &mol,
bool doEnumeration =
true,
bool doTautomers =
true,
101 bool adjustQueryProperties =
false,
Defines a class for managing bundles of molecules.
pulls in the core RDKit functionality
RWMol is a molecule class that is intended to be edited.
#define RDKIT_GENERALIZEDSUBSTRUCT_EXPORT
RDKIT_GENERALIZEDSUBSTRUCT_EXPORT std::vector< MatchVectType > SubstructMatch(const ROMol &mol, const ExtendedQueryMol &query, const SubstructMatchParameters ¶ms=SubstructMatchParameters())
does a substructure search with an ExtendedQueryMol
RDKIT_GENERALIZEDSUBSTRUCT_EXPORT ExtendedQueryMol createExtendedQueryMol(const RWMol &mol, bool doEnumeration=true, bool doTautomers=true, bool adjustQueryProperties=false, MolOps::AdjustQueryParameters params={})
Creates an ExtendedQueryMol from the input molecule.
RDKIT_GENERALIZEDSUBSTRUCT_EXPORT std::unique_ptr< ExplicitBitVect > patternFingerprintTargetMol(const ROMol &mol, unsigned int fpSize=2048U)
Fingerprints a target molecule.
bool hasSubstructMatch(const ROMol &mol, const ExtendedQueryMol &query, const SubstructMatchParameters ¶ms=SubstructMatchParameters())
checks if a molecule has a match to an ExtendedQueryMol
bool rdvalue_is(const RDValue_cast_t)
ExtendedQueryMol(const ExtendedQueryMol &other)
ExtendedQueryMol & operator=(const ExtendedQueryMol &other)
std::unique_ptr< TautomerQuery > TautomerQuery_T
std::string toJSON() const
ExtendedQueryMol(std::unique_ptr< std::vector< std::unique_ptr< TautomerQuery > > > tqs)
ExtendedQueryMol(ExtendedQueryMol &&o) noexcept
std::unique_ptr< std::vector< std::unique_ptr< TautomerQuery > > > TautomerBundle_T
void initFromBinary(const std::string &pkl)
std::unique_ptr< ExplicitBitVect > patternFingerprintQuery(unsigned int fpSize=2048U) const
std::variant< RWMol_T, MolBundle_T, TautomerQuery_T, TautomerBundle_T > ContainedType
std::unique_ptr< RWMol > RWMol_T
ExtendedQueryMol(std::unique_ptr< RWMol > mol)
ExtendedQueryMol(std::unique_ptr< TautomerQuery > tq)
std::unique_ptr< MolBundle > MolBundle_T
void initFromJSON(const std::string &text)
ExtendedQueryMol(std::unique_ptr< MolBundle > bundle)
std::string toBinary() const
void initFromOther(const ExtendedQueryMol &other)
ExtendedQueryMol(const std::string &text, bool isJSON=false)
Parameters controlling the behavior of MolOps::adjustQueryProperties.
unsigned int maxMatches
maximum number of matches to return