RDKit
Open-source cheminformatics and machine learning.
QueryOps.h File Reference
#include <GraphMol/RDKitBase.h>
#include <Query/QueryObjects.h>
#include <Query/Query.h>

Go to the source code of this file.

Classes

class  RDKit::AtomRingQuery
 
class  RDKit::RecursiveStructureQuery
 allows use of recursive structure queries (e.g. recursive SMARTS) More...
 
class  RDKit::HasPropQuery< TargetPtr >
 
class  RDKit::HasPropWithValueQuery< TargetPtr, T >
 
class  RDKit::HasPropWithValueQuery< TargetPtr, std::string >
 

Namespaces

 RDKit
 Includes a bunch of functionality for handling Atom and Bond queries.
 

Typedefs

typedef Queries::Query< bool, Atom const *, true > RDKit::ATOM_BOOL_QUERY
 
typedef Queries::Query< bool, Bond const *, true > RDKit::BOND_BOOL_QUERY
 
typedef Queries::AndQuery< int, Atom const *, true > RDKit::ATOM_AND_QUERY
 
typedef Queries::AndQuery< int, Bond const *, true > RDKit::BOND_AND_QUERY
 
typedef Queries::OrQuery< int, Atom const *, true > RDKit::ATOM_OR_QUERY
 
typedef Queries::OrQuery< int, Bond const *, true > RDKit::BOND_OR_QUERY
 
typedef Queries::XOrQuery< int, Atom const *, true > RDKit::ATOM_XOR_QUERY
 
typedef Queries::XOrQuery< int, Bond const *, true > RDKit::BOND_XOR_QUERY
 
typedef Queries::EqualityQuery< int, Atom const *, true > RDKit::ATOM_EQUALS_QUERY
 
typedef Queries::EqualityQuery< int, Bond const *, true > RDKit::BOND_EQUALS_QUERY
 
typedef Queries::GreaterQuery< int, Atom const *, true > RDKit::ATOM_GREATER_QUERY
 
typedef Queries::GreaterQuery< int, Bond const *, true > RDKit::BOND_GREATER_QUERY
 
typedef Queries::GreaterEqualQuery< int, Atom const *, true > RDKit::ATOM_GREATEREQUAL_QUERY
 
typedef Queries::GreaterEqualQuery< int, Bond const *, true > RDKit::BOND_GREATEREQUAL_QUERY
 
typedef Queries::LessQuery< int, Atom const *, true > RDKit::ATOM_LESS_QUERY
 
typedef Queries::LessQuery< int, Bond const *, true > RDKit::BOND_LESS_QUERY
 
typedef Queries::LessEqualQuery< int, Atom const *, true > RDKit::ATOM_LESSEQUAL_QUERY
 
typedef Queries::LessEqualQuery< int, Bond const *, true > RDKit::BOND_LESSEQUAL_QUERY
 
typedef Queries::RangeQuery< int, Atom const *, true > RDKit::ATOM_RANGE_QUERY
 
typedef Queries::RangeQuery< int, Bond const *, true > RDKit::BOND_RANGE_QUERY
 
typedef Queries::SetQuery< int, Atom const *, true > RDKit::ATOM_SET_QUERY
 
typedef Queries::SetQuery< int, Bond const *, true > RDKit::BOND_SET_QUERY
 
typedef Queries::Query< int, Bond const *, true > RDKit::BOND_NULL_QUERY
 
typedef Queries::Query< int, Atom const *, true > RDKit::ATOM_NULL_QUERY
 
typedef Atom const * RDKit::ConstAtomPtr
 
typedef Bond const * RDKit::ConstBondPtr
 
typedef Queries::EqualityQuery< int, Atom const *, true > RDKit::ATOM_PROP_QUERY
 
typedef Queries::EqualityQuery< int, Bond const *, true > RDKit::BOND_PROP_QUERY
 

Functions

static int RDKit::queryAtomAromatic (Atom const *at)
 
static int RDKit::queryAtomAliphatic (Atom const *at)
 
static int RDKit::queryAtomExplicitDegree (Atom const *at)
 
static int RDKit::queryAtomTotalDegree (Atom const *at)
 
static int RDKit::queryAtomHeavyAtomDegree (Atom const *at)
 
static int RDKit::queryAtomHCount (Atom const *at)
 
static int RDKit::queryAtomImplicitHCount (Atom const *at)
 
static int RDKit::queryAtomHasImplicitH (Atom const *at)
 
static int RDKit::queryAtomImplicitValence (Atom const *at)
 
static int RDKit::queryAtomExplicitValence (Atom const *at)
 
static int RDKit::queryAtomTotalValence (Atom const *at)
 
static int RDKit::queryAtomUnsaturated (Atom const *at)
 
static int RDKit::queryAtomNum (Atom const *at)
 
static int RDKit::queryAtomMass (Atom const *at)
 
static int RDKit::queryAtomIsotope (Atom const *at)
 
static int RDKit::queryAtomFormalCharge (Atom const *at)
 
static int RDKit::queryAtomHybridization (Atom const *at)
 
static int RDKit::queryAtomNumRadicalElectrons (Atom const *at)
 
static int RDKit::queryAtomHasChiralTag (Atom const *at)
 
static int RDKit::queryAtomMissingChiralTag (Atom const *at)
 
unsigned int RDKit::queryAtomBondProduct (Atom const *at)
 
unsigned int RDKit::queryAtomAllBondProduct (Atom const *at)
 
static int RDKit::queryBondOrder (Bond const *bond)
 
static int RDKit::queryBondDir (Bond const *bond)
 
static int RDKit::queryIsBondInNRings (Bond const *at)
 
static int RDKit::queryBondHasStereo (Bond const *bnd)
 
static int RDKit::queryIsAtomInNRings (Atom const *at)
 
static int RDKit::queryIsAtomInRing (Atom const *at)
 
static int RDKit::queryAtomHasRingBond (Atom const *at)
 
static int RDKit::queryIsBondInRing (Bond const *bond)
 
static int RDKit::queryAtomMinRingSize (Atom const *at)
 
static int RDKit::queryBondMinRingSize (Bond const *bond)
 
static int RDKit::queryAtomRingBondCount (Atom const *at)
 
template<int tgt>
int RDKit::queryAtomIsInRingOfSize (Atom const *at)
 
template<int tgt>
int RDKit::queryBondIsInRingOfSize (Bond const *bond)
 
template<class T >
T * RDKit::makeAtomSimpleQuery (int what, int func(Atom const *), const std::string &description="Atom Simple")
 
template<class T >
T * RDKit::makeAtomNumQuery (int what, const std::string &descr)
 returns a Query for matching atomic number More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomNumQuery (int what)
 
template<class T >
T * RDKit::makeAtomImplicitValenceQuery (int what, const std::string &descr)
 returns a Query for matching implicit valence More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomImplicitValenceQuery (int what)
 
template<class T >
T * RDKit::makeAtomExplicitValenceQuery (int what, const std::string &descr)
 returns a Query for matching explicit valence More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomExplicitValenceQuery (int what)
 
template<class T >
T * RDKit::makeAtomTotalValenceQuery (int what, const std::string &descr)
 returns a Query for matching total valence More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomTotalValenceQuery (int what)
 
template<class T >
T * RDKit::makeAtomExplicitDegreeQuery (int what, const std::string &descr)
 returns a Query for matching explicit degree More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomExplicitDegreeQuery (int what)
 
template<class T >
T * RDKit::makeAtomTotalDegreeQuery (int what, const std::string &descr)
 returns a Query for matching atomic degree More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomTotalDegreeQuery (int what)
 
template<class T >
T * RDKit::makeAtomHCountQuery (int what, const std::string &descr)
 returns a Query for matching hydrogen count More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomHCountQuery (int what)
 
template<class T >
T * RDKit::makeAtomHasImplicitHQuery (const std::string &descr)
 returns a Query for matching ring atoms More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomHasImplicitHQuery ()
 
template<class T >
T * RDKit::makeAtomImplicitHCountQuery (int what, const std::string &descr)
 returns a Query for matching implicit hydrogen count More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomImplicitHCountQuery (int what)
 
template<class T >
T * RDKit::makeAtomAromaticQuery (const std::string &descr)
 returns a Query for matching the isAromatic flag More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomAromaticQuery ()
 
template<class T >
T * RDKit::makeAtomAliphaticQuery (const std::string &descr)
 returns a Query for matching aliphatic atoms More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomAliphaticQuery ()
 
template<class T >
T * RDKit::makeAtomMassQuery (int what, const std::string &descr)
 returns a Query for matching atoms with a particular mass More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomMassQuery (int what)
 
template<class T >
T * RDKit::makeAtomIsotopeQuery (int what, const std::string &descr)
 returns a Query for matching atoms with a particular isotope More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomIsotopeQuery (int what)
 
template<class T >
T * RDKit::makeAtomFormalChargeQuery (int what, const std::string &descr)
 returns a Query for matching formal charge More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomFormalChargeQuery (int what)
 
template<class T >
T * RDKit::makeAtomHybridizationQuery (int what, const std::string &descr)
 returns a Query for matching hybridization More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomHybridizationQuery (int what)
 
template<class T >
T * RDKit::makeAtomNumRadicalElectronsQuery (int what, const std::string &descr)
 returns a Query for matching the number of radical electrons More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomNumRadicalElectronsQuery (int what)
 
template<class T >
T * RDKit::makeAtomHasChiralTagQuery (const std::string &descr)
 
ATOM_EQUALS_QUERY * RDKit::makeAtomHasChiralTagQuery ()
 
template<class T >
T * RDKit::makeAtomMissingChiralTagQuery (const std::string &descr)
 
ATOM_EQUALS_QUERY * RDKit::makeAtomMissingChiralTagQuery ()
 
template<class T >
T * RDKit::makeAtomUnsaturatedQuery (const std::string &descr)
 returns a Query for matching atoms with unsaturation: More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomUnsaturatedQuery ()
 
template<class T >
T * RDKit::makeAtomInRingQuery (const std::string &descr)
 returns a Query for matching ring atoms More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomInRingQuery ()
 
template<class T >
T * RDKit::makeAtomInNRingsQuery (int what, const std::string &descr)
 returns a Query for matching atoms in a particular number of rings More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomInNRingsQuery (int what)
 
ATOM_EQUALS_QUERY * RDKit::makeAtomInRingOfSizeQuery (int tgt)
 returns a Query for matching atoms in rings of a particular size More...
 
template<class T >
T * RDKit::makeAtomMinRingSizeQuery (int tgt, const std::string &descr)
 returns a Query for matching an atom's minimum ring size More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomMinRingSizeQuery (int tgt)
 
template<class T >
T * RDKit::makeAtomRingBondCountQuery (int what, const std::string &descr)
 returns a Query for matching atoms with a particular number of ring bonds More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomRingBondCountQuery (int what)
 
ATOM_EQUALS_QUERY * RDKit::makeAAtomQuery ()
 returns a Query for matching generic A atoms (heavy atoms) More...
 
ATOM_EQUALS_QUERY * RDKit::makeAHAtomQuery ()
 returns a Query for matching generic AH atoms (any atom) More...
 
ATOM_OR_QUERY * RDKit::makeQAtomQuery ()
 returns a Query for matching generic Q atoms (heteroatoms) More...
 
ATOM_EQUALS_QUERY * RDKit::makeQHAtomQuery ()
 returns a Query for matching generic QH atoms (heteroatom or H) More...
 
ATOM_OR_QUERY * RDKit::makeXAtomQuery ()
 returns a Query for matching generic X atoms (halogens) More...
 
ATOM_OR_QUERY * RDKit::makeXHAtomQuery ()
 returns a Query for matching generic XH atoms (halogen or H) More...
 
ATOM_OR_QUERY * RDKit::makeMAtomQuery ()
 returns a Query for matching generic M atoms (metals) More...
 
ATOM_OR_QUERY * RDKit::makeMHAtomQuery ()
 returns a Query for matching generic MH atoms (metals or H) More...
 
template<class T >
T * RDKit::makeAtomHasRingBondQuery (const std::string &descr)
 returns a Query for matching atoms that have ring bonds More...
 
ATOM_EQUALS_QUERY * RDKit::makeAtomHasRingBondQuery ()
 
BOND_EQUALS_QUERY * RDKit::makeBondOrderEqualsQuery (Bond::BondType what)
 returns a Query for matching bond orders More...
 
BOND_EQUALS_QUERY * RDKit::makeBondDirEqualsQuery (Bond::BondDir what)
 returns a Query for matching bond directions More...
 
BOND_EQUALS_QUERY * RDKit::makeBondHasStereoQuery ()
 returns a Query for matching bonds with stereo set More...
 
BOND_EQUALS_QUERY * RDKit::makeBondIsInRingQuery ()
 returns a Query for matching ring bonds More...
 
BOND_EQUALS_QUERY * RDKit::makeBondInRingOfSizeQuery (int what)
 returns a Query for matching bonds in rings of a particular size More...
 
BOND_EQUALS_QUERY * RDKit::makeBondMinRingSizeQuery (int what)
 returns a Query for matching a bond's minimum ring size More...
 
BOND_EQUALS_QUERY * RDKit::makeBondInNRingsQuery (int tgt)
 returns a Query for matching bonds in a particular number of rings More...
 
BOND_NULL_QUERY * RDKit::makeBondNullQuery ()
 returns a Query for matching any bond More...
 
ATOM_NULL_QUERY * RDKit::makeAtomNullQuery ()
 returns a Query for matching any atom More...
 
static int RDKit::queryAtomRingMembership (Atom const *at)
 
template<typename T >
int RDKit::nullDataFun (T)
 
template<typename T >
bool RDKit::nullQueryFun (T)
 
template<class Target >
Queries::EqualityQuery< int, const Target *, true > * RDKit::makeHasPropQuery (const std::string &property)
 returns a Query for matching atoms that have a particular property More...
 
template<class Target , class T >
Queries::EqualityQuery< int, const Target *, true > * RDKit::makePropQuery (const std::string &propname, const T &val, const T &tolerance=T())
 
bool RDKit::isComplexQuery (const Bond *b)
 
bool RDKit::isComplexQuery (const Atom *a)
 
bool RDKit::isAtomAromatic (const Atom *a)
 

Variables

const int RDKit::massIntegerConversionFactor = 1000