RDKit: RDKit::SubstructLibrary Class Reference

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
Public Member Functions | List of all members
RDKit::SubstructLibrary Class Reference

Substructure Search a library of molecules. More...

`#include <SubstructLibrary.h>`

## Public Member Functions
| SubstructLibrary ()
| SubstructLibrary (boost::shared_ptr< MolHolderBase > molecules)
| SubstructLibrary (boost::shared_ptr< MolHolderBase > molecules, boost::shared_ptr< FPHolderBase > fingerprints)
| SubstructLibrary (boost::shared_ptr< MolHolderBase > molecules, boost::shared_ptr< KeyHolderBase > keys)
| SubstructLibrary (boost::shared_ptr< MolHolderBase > molecules, boost::shared_ptr< FPHolderBase > fingerprints, boost::shared_ptr< KeyHolderBase > keys)
| SubstructLibrary (const std::string &pickle)
boost::shared_ptr< MolHolderBase > & | getMolHolder ()
| Get the underlying molecule holder implementation.
const boost::shared_ptr< MolHolderBase > & | getMolHolder () const
boost::shared_ptr< FPHolderBase > & | getFpHolder ()
| Get the underlying molecule holder implementation.
const boost::shared_ptr< FPHolderBase > & | getFpHolder () const
| Get the underlying molecule holder implementation.
boost::shared_ptr< KeyHolderBase > & | getKeyHolder ()
| Get the underlying molecule holder implementation.
const boost::shared_ptr< KeyHolderBase > & | getKeyHolder () const
| Get the underlying molecule holder implementation.
const MolHolderBase & | getMolecules () const
FPHolderBase & | getFingerprints ()
| Get the underlying fingerprint implementation.
const FPHolderBase & | getFingerprints () const
KeyHolderBase & | getKeys ()
| Get the underlying key holder implementation.
const KeyHolderBase & | getKeys () const
| Get the underlying key holder implementation.
unsigned int | addMol (const ROMol &mol)
| Add a molecule to the library.
template<class Query>
std::vector< unsigned int > | getMatches (const Query &query, bool recursionPossible=true, bool useChirality=true, bool useQueryQueryMatches=false, int numThreads=-1, int maxResults=-1) const
| Get the matching indices for the query.
template<class Query>
std::vector< unsigned int > | getMatches (const Query &query, const SubstructMatchParameters &params, int numThreads=-1, int maxResults=-1) const
| overload
template<class Query>
std::vector< unsigned int > | getMatches (const Query &query, unsigned int startIdx, unsigned int endIdx, bool recursionPossible=true, bool useChirality=true, bool useQueryQueryMatches=false, int numThreads=-1, int maxResults=-1) const
| Get the matching indices for the query between the given indices.
std::vector< unsigned int > | getMatches (const ROMol &query, unsigned int startIdx, unsigned int endIdx, const SubstructMatchParameters &params, int numThreads=-1, int maxResults=-1) const
| overload
std::vector< unsigned int > | getMatches (const MolBundle &query, unsigned int startIdx, unsigned int endIdx, const SubstructMatchParameters &params, int numThreads=-1, int maxResults=-1) const
| overload
std::vector< unsigned int > | getMatches (const TautomerQuery &query, unsigned int startIdx, unsigned int endIdx, const SubstructMatchParameters &params, int numThreads=-1, int maxResults=-1) const
| overload
std::vector< unsigned int > | getMatches (const ExtendedQueryMol &query, unsigned int startIdx, unsigned int endIdx, const SubstructMatchParameters &params, int numThreads=-1, int maxResults=-1) const
| overload
template<class Query>
unsigned int | countMatches (const Query &query, bool recursionPossible=true, bool useChirality=true, bool useQueryQueryMatches=false, int numThreads=-1) const
| Return the number of matches for the query.
template<class Query>
unsigned int | countMatches (const Query &query, const SubstructMatchParameters &params, int numThreads=-1) const
| overload
template<class Query>
unsigned int | countMatches (const Query &query, unsigned int startIdx, unsigned int endIdx, bool recursionPossible=true, bool useChirality=true, bool useQueryQueryMatches=false, int numThreads=-1) const
| Return the number of matches for the query.
unsigned int | countMatches (const ROMol &query, unsigned int startIdx, unsigned int endIdx, const SubstructMatchParameters &params, int numThreads=-1) const
| overload
unsigned int | countMatches (const TautomerQuery &query, unsigned int startIdx, unsigned int endIdx, const SubstructMatchParameters &params, int numThreads=-1) const
| overload
unsigned int | countMatches (const MolBundle &query, unsigned int startIdx, unsigned int endIdx, const SubstructMatchParameters &params, int numThreads=-1) const
| overload
unsigned int | countMatches (const ExtendedQueryMol &query, unsigned int startIdx, unsigned int endIdx, const SubstructMatchParameters &params, int numThreads=-1) const
| overload
template<class Query>
bool | hasMatch (const Query &query, bool recursionPossible=true, bool useChirality=true, bool useQueryQueryMatches=false, int numThreads=-1) const
| Returns true if any match exists for the query.
template<class Query>
bool | hasMatch (const Query &query, const SubstructMatchParameters &params, int numThreads=-1) const
| overload
template<class Query>
bool | hasMatch (const Query &query, unsigned int startIdx, unsigned int endIdx, bool recursionPossible=true, bool useChirality=true, bool useQueryQueryMatches=false, int numThreads=-1) const
bool | hasMatch (const ROMol &query, unsigned int startIdx, unsigned int endIdx, const SubstructMatchParameters &params, int numThreads=-1) const
| overload
bool | hasMatch (const TautomerQuery &query, unsigned int startIdx, unsigned int endIdx, const SubstructMatchParameters &params, int numThreads=-1) const
| overload
bool | hasMatch (const MolBundle &query, unsigned int startIdx, unsigned int endIdx, const SubstructMatchParameters &params, int numThreads=-1) const
| overload
bool | hasMatch (const ExtendedQueryMol &query, unsigned int startIdx, unsigned int endIdx, const SubstructMatchParameters &params, int numThreads=-1) const
| overload
boost::shared_ptr< ROMol > | getMol (unsigned int idx) const
| Returns the molecule at the given index.
boost::shared_ptr< ROMol > | operator[] (unsigned int idx)
| Returns the molecule at the given index.
unsigned int | size () const
| return the number of molecules in the library
void | setSearchOrder (const std::vector< unsigned int > &order)
| does error checking
const std::vector< unsigned int > & | getSearchOrder () const
std::vector< unsigned int > & | getSearchOrder ()
void | resetHolders ()
| access required for serialization
void | toStream (std::ostream &ss) const
| serializes (pickles) to a stream
std::string | Serialize () const
| returns a string with a serialized (pickled) representation
void | initFromStream (std::istream &ss)
| initializes from a stream pickle
void | initFromString (const std::string &text)
| initializes from a string pickle

## Detailed Description

Substructure Search a library of molecules.

This class allows for multithreaded substructure searches of large datasets.

The implementations can use fingerprints to speed up searches and have molecules cached as binary forms to reduce memory usage.

basic usage:

SubstructLibrary lib;
lib.addMol(mol);
std::vector<unsigned int> results = lib.getMatches(query);
for(std::vector<unsigned int>::const_iterator matchIndex=results.begin();
matchIndex != results.end();
++matchIndex) {
boost::shared_ptr<ROMol> match = lib.getMol(*matchIndex);
}
RDKit::SubstructLibrary::addMol
unsigned int addMol(const ROMol &mol)
Add a molecule to the library.
RDKit::SubstructLibrary::getMol
boost::shared_ptr< ROMol > getMol(unsigned int idx) const
Returns the molecule at the given index.
Definition SubstructLibrary.h:910
RDKit::SubstructLibrary::SubstructLibrary
SubstructLibrary()
Definition SubstructLibrary.h:530
RDKit::SubstructLibrary::getMatches
std::vector< unsigned int > getMatches(const Query &query, bool recursionPossible=true, bool useChirality=true, bool useQueryQueryMatches=false, int numThreads=-1, int maxResults=-1) const
Get the matching indices for the query.
Definition SubstructLibrary.h:680

Using different mol holders and pattern fingerprints.

boost::shared_ptr<CachedTrustedSmilesMolHolder> molHolder = \
boost::make_shared<CachedTrustedSmilesMolHolder>();
boost::shared_ptr<PatternHolder> patternHolder = \
boost::make_shared<PatternHolder>();
SubstructLibrary lib(molHolder, patternHolder);
lib.addMol(mol);

Cached molecule holders create molecules on demand. There are currently three styles of cached molecules.

CachedMolHolder: stores molecules in the rdkit binary format. CachedSmilesMolHolder: stores molecules in smiles format. CachedTrustedSmilesMolHolder: stores molecules in smiles format.

The CachedTrustedSmilesMolHolder is made to add molecules from a trusted source. This makes the basic assumption that RDKit was used to sanitize and canonicalize the smiles string. In practice this is considerably faster than using arbitrary smiles strings since certain assumptions can be made. Molecules generated from trusted smiles do not have ring information (although this is created in the molecule being searched if necessary).

When loading from external data, as opposed to using the "addMol" API, care must be taken to ensure that the pattern fingerprints and smiles are synchronized.

Each pattern holder has an API point for making its fingerprint. This is useful to ensure that the pattern stored in the database will be compatible with the patterns made when analyzing queries.

boost::shared_ptr<CachedTrustedSmilesMolHolder> molHolder = \
boost::make_shared<CachedTrustedSmilesMolHolder>();
boost::shared_ptr<PatternHolder> patternHolder = \
boost::make_shared<PatternHolder>();
// the PatternHolder instance is able to make fingerprints.
// These, of course, can be read from a file. For demonstration
// purposes we construct them here.
const std::string trustedSmiles = "c1ccccc1";
ROMol *m = SmilesToMol(trustedSmiles);
const ExplicitBitVect *bitVector = patternHolder->makeFingerprint(*m);
// The trusted smiles and bitVector can be read from any source.
// This is the fastest way to load a substruct library.
molHolder->addSmiles( trustedSmiles );
patternHolder->addFingerprint( *bitVector );
SubstructLibrary lib(molHolder, patternHolder);
delete m;
delete bitVector;
ExplicitBitVect
a class for bit vectors that are densely occupied
Definition ExplicitBitVect.h:29
RDKit::ROMol
Definition ROMol.h:199
RDKit::v1::SmilesToMol
RDKit::RWMol * SmilesToMol(const std::string &smi, const SmilesParserParams &ps)
Definition SmilesParse.h:118

Finally, using the KeyFromPropHolder will store user ids or keys. By default, it uses RDKit's default _Name prop, but can be changed to any property.

boost::shared_ptr<CachedTrustedSmilesMolHolder> molHolder = \
boost::make_shared<CachedTrustedSmilesMolHolder>();
boost::shared_ptr<KeyFromPropHolder> keyHolder = \
boost::make_shared<KeyFromPropHolder>();
SubstructLibrary lib(molHolder, keyHolder);
...
You can get the keys in multiple through the use of the keyholder
auto key = lib.getKeys().getKey(idx);
auto keys = lib.getKeys().getKeys(lib.GetMatch(query));
RDKit::KeyHolderBase::getKeys
virtual std::vector< std::string > getKeys(const std::vector< unsigned int > &indices) const =0
RDKit::KeyHolderBase::getKey
virtual const std::string & getKey(unsigned int) const =0
RDKit::SubstructLibrary::getKeys
KeyHolderBase & getKeys()
Get the underlying key holder implementation.
Definition SubstructLibrary.h:641

Definition at line 519 of file SubstructLibrary.h.

## Constructor & Destructor Documentation

## ◆ SubstructLibrary() [1/6]

RDKit::SubstructLibrary::SubstructLibrary | ( |  | ) |
| inline

Definition at line 530 of file SubstructLibrary.h.

## ◆ SubstructLibrary() [2/6]

RDKit::SubstructLibrary::SubstructLibrary | ( | boost::shared_ptr< MolHolderBase > | molecules | ) |
| inline

Definition at line 536 of file SubstructLibrary.h.

## ◆ SubstructLibrary() [3/6]

RDKit::SubstructLibrary::SubstructLibrary | ( | boost::shared_ptr< MolHolderBase > | molecules,
|  | boost::shared_ptr< FPHolderBase > | fingerprints )
| inline

Definition at line 543 of file SubstructLibrary.h.

## ◆ SubstructLibrary() [4/6]

RDKit::SubstructLibrary::SubstructLibrary | ( | boost::shared_ptr< MolHolderBase > | molecules,
|  | boost::shared_ptr< KeyHolderBase > | keys )
| inline

Definition at line 556 of file SubstructLibrary.h.

## ◆ SubstructLibrary() [5/6]

RDKit::SubstructLibrary::SubstructLibrary | ( | boost::shared_ptr< MolHolderBase > | molecules,
|  | boost::shared_ptr< FPHolderBase > | fingerprints,
|  | boost::shared_ptr< KeyHolderBase > | keys )
| inline

Definition at line 569 of file SubstructLibrary.h.

## ◆ SubstructLibrary() [6/6]

RDKit::SubstructLibrary::SubstructLibrary | ( | const std::string & | pickle | ) |
| inline

Definition at line 583 of file SubstructLibrary.h.

References initFromString().

## Member Function Documentation

## ◆ addMol()

unsigned int RDKit::SubstructLibrary::addMol | ( | const ROMol & | mol | ) |

Add a molecule to the library.

Parameters

  mol | Molecule to add

returns index for the molecule in the library

## ◆ countMatches() [1/7]

unsigned int RDKit::SubstructLibrary::countMatches | ( | const ExtendedQueryMol & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1 ) const

overload

## ◆ countMatches() [2/7]

unsigned int RDKit::SubstructLibrary::countMatches | ( | const MolBundle & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1 ) const

overload

## ◆ countMatches() [3/7]

template<class Query>

unsigned int RDKit::SubstructLibrary::countMatches | ( | const Query & | query,
|  | bool | recursionPossible = true,
|  | bool | useChirality = true,
|  | bool | useQueryQueryMatches = false,
|  | int | numThreads = -1 ) const
| inline

Return the number of matches for the query.

Parameters

  query | Molecule or Tautomer Query to match against molecules
  recursionPossible | flags whether or not recursive matches are allowed [default true]
  useChirality | use atomic CIP codes as part of the comparison [default true]
  useQueryQueryMatches | if set, the contents of atom and bond queries will be used as part of the matching [default false]
  numThreads | If -1 use all available processors [default -1]

Definition at line 770 of file SubstructLibrary.h.

References countMatches(), RDKit::SubstructMatchParameters::recursionPossible, size(), RDKit::SubstructMatchParameters::useChirality, and RDKit::SubstructMatchParameters::useQueryQueryMatches.

Referenced by countMatches(), countMatches(), and countMatches().

## ◆ countMatches() [4/7]

template<class Query>

unsigned int RDKit::SubstructLibrary::countMatches | ( | const Query & | query,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1 ) const
| inline

overload

Definition at line 782 of file SubstructLibrary.h.

References countMatches(), and size().

## ◆ countMatches() [5/7]

template<class Query>

unsigned int RDKit::SubstructLibrary::countMatches | ( | const Query & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | bool | recursionPossible = true,
|  | bool | useChirality = true,
|  | bool | useQueryQueryMatches = false,
|  | int | numThreads = -1 ) const
| inline

Return the number of matches for the query.

Return the number of matches for the query between the given indices

Parameters

  query | Query to match against molecules
  startIdx | Start index of the search
  endIdx | Ending idx (non-inclusive) of the search.
  recursionPossible | flags whether or not recursive matches are allowed [default true]
  useChirality | use atomic CIP codes as part of the comparison [default true]
  useQueryQueryMatches | if set, the contents of atom and bond queries will be used as part of the matching [default false]
  numThreads | If -1 use all available processors [default -1]

Definition at line 805 of file SubstructLibrary.h.

References countMatches(), RDKit::SubstructMatchParameters::recursionPossible, RDKit::SubstructMatchParameters::useChirality, and RDKit::SubstructMatchParameters::useQueryQueryMatches.

## ◆ countMatches() [6/7]

unsigned int RDKit::SubstructLibrary::countMatches | ( | const ROMol & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1 ) const

overload

## ◆ countMatches() [7/7]

unsigned int RDKit::SubstructLibrary::countMatches | ( | const TautomerQuery & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1 ) const

overload

## ◆ getFingerprints() [1/2]

FPHolderBase & RDKit::SubstructLibrary::getFingerprints | ( |  | ) |
| inline

Get the underlying fingerprint implementation.

Throws a value error if no fingerprints have been set

Definition at line 625 of file SubstructLibrary.h.

## ◆ getFingerprints() [2/2]

const FPHolderBase & RDKit::SubstructLibrary::getFingerprints | ( |  | ) | const
| inline

Definition at line 632 of file SubstructLibrary.h.

## ◆ getFpHolder() [1/2]

boost::shared_ptr< FPHolderBase > & RDKit::SubstructLibrary::getFpHolder | ( |  | ) |
| inline

Get the underlying molecule holder implementation.

Definition at line 603 of file SubstructLibrary.h.

## ◆ getFpHolder() [2/2]

const boost::shared_ptr< FPHolderBase > & RDKit::SubstructLibrary::getFpHolder | ( |  | ) | const
| inline

Get the underlying molecule holder implementation.

Definition at line 606 of file SubstructLibrary.h.

## ◆ getKeyHolder() [1/2]

boost::shared_ptr< KeyHolderBase > & RDKit::SubstructLibrary::getKeyHolder | ( |  | ) |
| inline

Get the underlying molecule holder implementation.

Definition at line 611 of file SubstructLibrary.h.

## ◆ getKeyHolder() [2/2]

const boost::shared_ptr< KeyHolderBase > & RDKit::SubstructLibrary::getKeyHolder | ( |  | ) | const
| inline

Get the underlying molecule holder implementation.

Definition at line 614 of file SubstructLibrary.h.

## ◆ getKeys() [1/2]

KeyHolderBase & RDKit::SubstructLibrary::getKeys | ( |  | ) |
| inline

Get the underlying key holder implementation.

Throws a value error if no keyholder have been set

Definition at line 641 of file SubstructLibrary.h.

## ◆ getKeys() [2/2]

const KeyHolderBase & RDKit::SubstructLibrary::getKeys | ( |  | ) | const
| inline

Get the underlying key holder implementation.

Throws a value error if no keyholder have been set

Definition at line 650 of file SubstructLibrary.h.

## ◆ getMatches() [1/7]

std::vector< unsigned int > RDKit::SubstructLibrary::getMatches | ( | const ExtendedQueryMol & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1,
|  | int | maxResults = -1 ) const

overload

## ◆ getMatches() [2/7]

std::vector< unsigned int > RDKit::SubstructLibrary::getMatches | ( | const MolBundle & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1,
|  | int | maxResults = -1 ) const

overload

## ◆ getMatches() [3/7]

template<class Query>

std::vector< unsigned int > RDKit::SubstructLibrary::getMatches | ( | const Query & | query,
|  | bool | recursionPossible = true,
|  | bool | useChirality = true,
|  | bool | useQueryQueryMatches = false,
|  | int | numThreads = -1,
|  | int | maxResults = -1 ) const
| inline

Get the matching indices for the query.

Parameters

  query | Query or Tautomer Query to match against molecules
  recursionPossible | flags whether or not recursive matches are allowed [default true]
  useChirality | use atomic CIP codes as part of the comparison [default true]
  useQueryQueryMatches | if set, the contents of atom and bond queries will be used as part of the matching [default false]
  numThreads | If -1 use all available processors [default -1]
  maxResults | Maximum results to return, -1 means return all [default -1]

Definition at line 680 of file SubstructLibrary.h.

References getMatches(), RDKit::SubstructMatchParameters::recursionPossible, size(), RDKit::SubstructMatchParameters::useChirality, and RDKit::SubstructMatchParameters::useQueryQueryMatches.

Referenced by getMatches(), getMatches(), and getMatches().

## ◆ getMatches() [4/7]

template<class Query>

std::vector< unsigned int > RDKit::SubstructLibrary::getMatches | ( | const Query & | query,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1,
|  | int | maxResults = -1 ) const
| inline

overload

Definition at line 694 of file SubstructLibrary.h.

References getMatches(), and size().

## ◆ getMatches() [5/7]

template<class Query>

std::vector< unsigned int > RDKit::SubstructLibrary::getMatches | ( | const Query & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | bool | recursionPossible = true,
|  | bool | useChirality = true,
|  | bool | useQueryQueryMatches = false,
|  | int | numThreads = -1,
|  | int | maxResults = -1 ) const
| inline

Get the matching indices for the query between the given indices.

Parameters

  query | Query to match against molecules
  startIdx | Start index of the search
  endIdx | Ending idx (non-inclusive) of the search.
  recursionPossible | flags whether or not recursive matches are allowed [default true]
  useChirality | use atomic CIP codes as part of the comparison [default true]
  useQueryQueryMatches | if set, the contents of atom and bond queries will be used as part of the matching [default false]
  numThreads | If -1 use all available processors [default -1]
  maxResults | Maximum results to return, -1 means return all [default -1]

Definition at line 717 of file SubstructLibrary.h.

References getMatches(), RDKit::SubstructMatchParameters::recursionPossible, RDKit::SubstructMatchParameters::useChirality, and RDKit::SubstructMatchParameters::useQueryQueryMatches.

## ◆ getMatches() [6/7]

std::vector< unsigned int > RDKit::SubstructLibrary::getMatches | ( | const ROMol & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1,
|  | int | maxResults = -1 ) const

overload

## ◆ getMatches() [7/7]

std::vector< unsigned int > RDKit::SubstructLibrary::getMatches | ( | const TautomerQuery & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1,
|  | int | maxResults = -1 ) const

overload

## ◆ getMol()

boost::shared_ptr< ROMol > RDKit::SubstructLibrary::getMol | ( | unsigned int | idx | ) | const
| inline

Returns the molecule at the given index.

Parameters

  idx | Index of the molecule in the library (n.b. could contain null)

Definition at line 910 of file SubstructLibrary.h.

References PRECONDITION.

## ◆ getMolecules()

const MolHolderBase & RDKit::SubstructLibrary::getMolecules | ( |  | ) | const
| inline

Definition at line 618 of file SubstructLibrary.h.

References PRECONDITION.

## ◆ getMolHolder() [1/2]

boost::shared_ptr< MolHolderBase > & RDKit::SubstructLibrary::getMolHolder | ( |  | ) |
| inline

Get the underlying molecule holder implementation.

Definition at line 596 of file SubstructLibrary.h.

## ◆ getMolHolder() [2/2]

const boost::shared_ptr< MolHolderBase > & RDKit::SubstructLibrary::getMolHolder | ( |  | ) | const
| inline

Definition at line 598 of file SubstructLibrary.h.

## ◆ getSearchOrder() [1/2]

std::vector< unsigned int > & RDKit::SubstructLibrary::getSearchOrder | ( |  | ) |
| inline

Definition at line 947 of file SubstructLibrary.h.

## ◆ getSearchOrder() [2/2]

const std::vector< unsigned int > & RDKit::SubstructLibrary::getSearchOrder | ( |  | ) | const
| inline

Definition at line 943 of file SubstructLibrary.h.

## ◆ hasMatch() [1/7]

bool RDKit::SubstructLibrary::hasMatch | ( | const ExtendedQueryMol & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1 ) const

overload

## ◆ hasMatch() [2/7]

bool RDKit::SubstructLibrary::hasMatch | ( | const MolBundle & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1 ) const

overload

## ◆ hasMatch() [3/7]

template<class Query>

bool RDKit::SubstructLibrary::hasMatch | ( | const Query & | query,
|  | bool | recursionPossible = true,
|  | bool | useChirality = true,
|  | bool | useQueryQueryMatches = false,
|  | int | numThreads = -1 ) const
| inline

Returns true if any match exists for the query.

Parameters

  query | Molecule or Tautomer Query to match against molecules
  recursionPossible | flags whether or not recursive matches are allowed [default true]
  useChirality | use atomic CIP codes as part of the comparison [default true]
  useQueryQueryMatches | if set, the contents of atom and bond queries will be used as part of the matching [default false]
  numThreads | If -1 use all available processors [default -1]

Definition at line 851 of file SubstructLibrary.h.

References hasMatch(), RDKit::SubstructMatchParameters::recursionPossible, size(), RDKit::SubstructMatchParameters::useChirality, and RDKit::SubstructMatchParameters::useQueryQueryMatches.

Referenced by hasMatch(), hasMatch(), and hasMatch().

## ◆ hasMatch() [4/7]

template<class Query>

bool RDKit::SubstructLibrary::hasMatch | ( | const Query & | query,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1 ) const
| inline

overload

Definition at line 862 of file SubstructLibrary.h.

References hasMatch(), and size().

## ◆ hasMatch() [5/7]

template<class Query>

bool RDKit::SubstructLibrary::hasMatch | ( | const Query & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | bool | recursionPossible = true,
|  | bool | useChirality = true,
|  | bool | useQueryQueryMatches = false,
|  | int | numThreads = -1 ) const
| inline

Returns true if any match exists for the query between the specified indices

Parameters

  query | Query to match against molecules
  startIdx | Start index of the search
  endIdx | Ending idx (inclusive) of the search.
  recursionPossible | flags whether or not recursive matches are allowed [default true]
  useChirality | use atomic CIP codes as part of the comparison [default true]
  useQueryQueryMatches | if set, the contents of atom and bond queries will be used as part of the matching [default false]
  numThreads | If -1 use all available processors [default -1]

Definition at line 880 of file SubstructLibrary.h.

References hasMatch(), RDKit::SubstructMatchParameters::recursionPossible, RDKit::SubstructMatchParameters::useChirality, and RDKit::SubstructMatchParameters::useQueryQueryMatches.

## ◆ hasMatch() [6/7]

bool RDKit::SubstructLibrary::hasMatch | ( | const ROMol & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1 ) const

overload

## ◆ hasMatch() [7/7]

bool RDKit::SubstructLibrary::hasMatch | ( | const TautomerQuery & | query,
|  | unsigned int | startIdx,
|  | unsigned int | endIdx,
|  | const SubstructMatchParameters & | params,
|  | int | numThreads = -1 ) const

overload

## ◆ initFromStream()

void RDKit::SubstructLibrary::initFromStream | ( | std::istream & | ss | ) |

initializes from a stream pickle

## ◆ initFromString()

void RDKit::SubstructLibrary::initFromString | ( | const std::string & | text | ) |

initializes from a string pickle

Referenced by SubstructLibrary().

## ◆ operator[]()

boost::shared_ptr< ROMol > RDKit::SubstructLibrary::operator[] | ( | unsigned int | idx | ) |
| inline

Returns the molecule at the given index.

Parameters

  idx | Index of the molecule in the library (n.b. could contain null)

Definition at line 921 of file SubstructLibrary.h.

References PRECONDITION.

## ◆ resetHolders()

void RDKit::SubstructLibrary::resetHolders | ( |  | ) |
| inline

access required for serialization

Definition at line 949 of file SubstructLibrary.h.

## ◆ Serialize()

std::string RDKit::SubstructLibrary::Serialize | ( |  | ) | const

returns a string with a serialized (pickled) representation

## ◆ setSearchOrder()

void RDKit::SubstructLibrary::setSearchOrder | ( | const std::vector< unsigned int > & | order | ) |
| inline

does error checking

Definition at line 934 of file SubstructLibrary.h.

## ◆ size()

unsigned int RDKit::SubstructLibrary::size | ( |  | ) | const
| inline

return the number of molecules in the library

Definition at line 928 of file SubstructLibrary.h.

References PRECONDITION, and rdcast.

Referenced by countMatches(), countMatches(), getMatches(), getMatches(), hasMatch(), and hasMatch().

## ◆ toStream()

void RDKit::SubstructLibrary::toStream | ( | std::ostream & | ss | ) | const

serializes (pickles) to a stream

The documentation for this class was generated from the following file:

- SubstructLibrary.h