RDCode: RDKit Namespace Reference

# RDKit Namespace Reference

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

## Classes
class | Atom
| The class for representing atoms. More...
class | atomicData
class | AtomIterator_
| A general random access iterator. More...
class | HeteroatomIterator_
| Iterate over heteroatoms, this is bidirectional. More...
class | AromaticAtomIterator_
| Iterate over aromatic atoms, this is bidirectional. More...
class | QueryAtomIterator_
| Iterate over atoms matching a query. This is bidirectional. More...
struct | vertex_atom_t
class | Bond
| class for representing a bond More...
class | BondIterator_
| iterator for a molecule's bonds, currently BiDirectional, but it theoretically ought to be RandomAccess. More...
class | ConstBondIterator_
| const iterator for a molecule's bonds, currently BiDirectional, but it theoretically ought to be RandomAccess. More...
struct | edge_bond_t
struct | edge_wght_t
class | ChemicalReactionException
| used to indicate an error in the chemical reaction engine More...
class | ChemicalReaction
| This is a class for storing and applying general chemical reactions. More...
class | ChemicalReactionParserException
| used to indicate an error in parsing reaction data More...
class | ConformerException
| used to indicate errors from incorrect confomer access More...
class | Conformer
| The class for representing 2D or 3D conformation of a molecule. More...
class | MolSupplier
class | SDMolSupplier
class | SmilesMolSupplier
| lazy file parser for Smiles tables More...
class | TDTMolSupplier
| lazy file parser for TDT files More...
class | MolWriter
class | SmilesWriter
class | SDWriter
class | TDTWriter
class | FragCatalogEntry
class | FragCatGenerator
class | FragCatParams
| container for user parameters used to create a fragment catalog More...
class | FragFPGenerator
class | MolCatalogEntry
| This class is used to store ROMol objects in a MolCatalog. More...
class | MolCatalogParams
| container for user parameters used to create a mol catalog More...
class | FeatureFileParseException
| class used to indicate errors in parsing feature definition files. More...
class | MolChemicalFeature
class | MolChemicalFeatureDef
class | MolChemicalFeatureFactory
| The class for finding chemical features in molecules. More...
class | MolPicklerException
| used to indicate exceptions whilst pickling (serializing) molecules More...
class | MolPickler
| handles pickling (serializing) molecules More...
class | GasteigerParams
class | PeriodicTable
| singleton class for retrieving information about atoms More...
class | QueryAtom
| Class for storing atomic queries. More...
class | QueryBond
| Class for storing Bond queries. More...
class | AtomRingQuery
class | RecursiveStructureQuery
| allows use of recursive structure queries (e.g. recursive SMARTS) More...
class | RingInfo
| A class to store information about a molecule's rings. More...
class | ROMol
| ROMol is a molecule class that is intended to have a fixed topology. More...
class | RWMol
| RWMol is a molecule class that is intended to be edited. More...
class | MolSanitizeException
| class for flagging sanitization errors More...
class | SmilesParseException
class | DiscreteDistMat
class | DiscreteValueVect
| a class for efficiently storing vectors of discrete values More...
class | SparseIntVect
| a class for efficiently storing sparse vectors of ints More...
class | BadFileException
| used by various file parsing classes to indicate a bad file More...
class | Dict
| The `Dict` class can be used to store objects of arbitrary type keyed by `strings`. More...
class | FileParseException
| used by various file parsing classes to indicate a parse error More...
struct | ltDouble
| functor to compare two doubles with a tolerance More...
struct | larger_of
| functor for returning the larger of two values More...
struct | charptr_functor
| functor for comparing two strings More...
## Namespaces
namespace | Descriptors
namespace | DGeomHelpers
namespace | Local
namespace | MolAlign
namespace | MolOps
| Groups a variety of molecular query and transformation operations.

namespace | MolShapes
namespace | SmartsWrite
namespace | SmilesWrite
namespace | Subgraphs
namespace | UFF
## Typedefs
typedef boost::shared_ptr< Atom > | ATOM_SPTR
typedef boost::property < vertex_atom_t, Atom * > | AtomProperty
typedef boost::shared_ptr< Bond > | BOND_SPTR
typedef boost::property < edge_wght_t, double > | BondWeight
typedef boost::property < edge_bond_t, Bond *, BondWeight > | BondProperty
typedef boost::shared_ptr< ROMol > | ROMOL_SPTR
typedef boost::shared_ptr < Conformer > | CONFORMER_SPTR
typedef std::vector< RWMOL_SPTR > | RWMOL_SPTR_VECT
typedef RDCatalog::HierarchCatalog < FragCatalogEntry, FragCatParams, int > | FragCatalog
typedef std::vector < boost::shared_ptr< ROMol > > | MOL_SPTR_VECT
typedef std::vector< std::pair < int, int > > | MatchVectType
| used to return matches from substructure searching, The format is (queryAtomIdx, molAtomIdx)
typedef RDCatalog::HierarchCatalog < MolCatalogEntry, MolCatalogParams, int > | MolCatalog
| a hierarchical catalog for holding molecules
typedef boost::shared_ptr < MolChemicalFeature > | FeatSPtr
typedef std::list< FeatSPtr > | FeatSPtrList
typedef FeatSPtrList::iterator | FeatSPtrList_I
typedef std::vector< double > | INVAR_VECT
typedef INVAR_VECT::iterator | INVAR_VECT_I
typedef INVAR_VECT::const_iterator | INVAR_VECT_CI
typedef boost::tuples::tuple < double, double, double > | DiscrimTuple
| used to return atomic discriminators (three doubles)
typedef Queries::Query< bool, Atom const *, true > | ATOM_BOOL_QUERY
typedef Queries::Query< bool, Bond const *, true > | BOND_BOOL_QUERY
typedef Queries::AndQuery< int, Atom const *, true > | ATOM_AND_QUERY
typedef Queries::AndQuery< int, Bond const *, true > | BOND_AND_QUERY
typedef Queries::OrQuery< int, Atom const *, true > | ATOM_OR_QUERY
typedef Queries::OrQuery< int, Bond const *, true > | BOND_OR_QUERY
typedef Queries::XOrQuery< int, Atom const *, true > | ATOM_XOR_QUERY
typedef Queries::XOrQuery< int, Bond const *, true > | BOND_XOR_QUERY
typedef Queries::EqualityQuery < int, Atom const *, true > | ATOM_EQUALS_QUERY
typedef Queries::EqualityQuery < int, Bond const *, true > | BOND_EQUALS_QUERY
typedef Queries::GreaterQuery < int, Atom const *, true > | ATOM_GREATER_QUERY
typedef Queries::GreaterQuery < int, Bond const *, true > | BOND_GREATER_QUERY
typedef Queries::GreaterEqualQuery < int, Atom const *, true > | ATOM_GREATEREQUAL_QUERY
typedef Queries::GreaterEqualQuery < int, Bond const *, true > | BOND_GREATEREQUAL_QUERY
typedef Queries::LessQuery < int, Atom const *, true > | ATOM_LESS_QUERY
typedef Queries::LessQuery < int, Bond const *, true > | BOND_LESS_QUERY
typedef Queries::LessEqualQuery< int, Atom const *, true > | ATOM_LESSEQUAL_QUERY
typedef Queries::LessEqualQuery< int, Bond const *, true > | BOND_LESSEQUAL_QUERY
typedef Queries::RangeQuery < int, Atom const *, true > | ATOM_RANGE_QUERY
typedef Queries::RangeQuery < int, Bond const *, true > | BOND_RANGE_QUERY
typedef Queries::SetQuery< int, Atom const *, true > | ATOM_SET_QUERY
typedef Queries::SetQuery< int, Bond const *, true > | BOND_SET_QUERY
typedef Queries::Query< int, Bond const *, true > | BOND_NULL_QUERY
typedef Queries::Query< int, Atom const *, true > | ATOM_NULL_QUERY
typedef Atom const * | ConstAtomPtr
typedef boost::adjacency_list < boost::vecS, boost::vecS, boost::undirectedS, AtomProperty, BondProperty > | MolGraph
| This is the BGL type used to store the topology:.
typedef std::vector< ROMol > | MOL_VECT
typedef std::vector< ROMol * > | MOL_PTR_VECT
typedef MOL_PTR_VECT::const_iterator | MOL_PTR_VECT_CI
typedef MOL_PTR_VECT::iterator | MOL_PTR_VECT_I
typedef boost::shared_ptr< RWMol > | RWMOL_SPTR
typedef std::vector< int > | PATH_TYPE
typedef std::list< PATH_TYPE > | PATH_LIST
typedef PATH_LIST::const_iterator | PATH_LIST_CI
typedef std::map< int, PATH_LIST > | INT_PATH_LIST_MAP
typedef INT_PATH_LIST_MAP::const_iterator | INT_PATH_LIST_MAP_CI
typedef INT_PATH_LIST_MAP::iterator | INT_PATH_LIST_MAP_I
typedef VF2MonoState | MatcherState
typedef ARGraph< const Atom, const Bond > | AR_MOLGRAPH
typedef std::vector< std::string > | STR_VECT
typedef long long int | LONGINT
typedef unsigned int | UINT
typedef unsigned short | USHORT
typedef unsigned char | UCHAR
typedef std::vector< int > | INT_VECT
typedef INT_VECT::iterator | INT_VECT_I
typedef INT_VECT::const_iterator | INT_VECT_CI
typedef INT_VECT::reverse_iterator | INT_VECT_RI
typedef INT_VECT::const_reverse_iterator | INT_VECT_CRI
typedef std::list< int > | INT_LIST
typedef INT_LIST::iterator | INT_LIST_I
typedef INT_LIST::const_iterator | INT_LIST_CI
typedef std::list< INT_VECT > | LIST_INT_VECT
typedef LIST_INT_VECT::iterator | LIST_INT_VECT_I
typedef LIST_INT_VECT::const_iterator | LIST_INT_VECT_CI
typedef std::vector< INT_VECT > | VECT_INT_VECT
typedef VECT_INT_VECT::iterator | VECT_INT_VECT_I
typedef VECT_INT_VECT::const_iterator | VECT_INT_VECT_CI
typedef std::vector< UINT > ::const_iterator | UINT_VECT_CI
typedef std::vector< UINT > | UINT_VECT
typedef std::vector < std::string > ::const_iterator | STR_VECT_CI
typedef std::vector < std::string >::iterator | STR_VECT_I
typedef std::vector< double > | DOUBLE_VECT
typedef DOUBLE_VECT::iterator | DOUBLE_VECT_I
typedef DOUBLE_VECT::const_iterator | DOUBLE_VECT_CI
typedef std::vector< DOUBLE_VECT > | VECT_DOUBLE_VECT
typedef VECT_DOUBLE_VECT::iterator | VECT_DOUBLE_VECT_I
typedef VECT_DOUBLE_VECT::const_iterator | VECT_DOUBLE_VECT_CI
typedef std::map< std::string, UINT > | STR_UINT_MAP
typedef std::map< std::string, UINT >::const_iterator | STR_UINT_MAP_CI
typedef std::map< int, INT_VECT > | INT_INT_VECT_MAP
typedef INT_INT_VECT_MAP::const_iterator | INT_INT_VECT_MAP_CI
typedef std::map< int, int > | INT_MAP_INT
typedef INT_MAP_INT::iterator | INT_MAP_INT_I
typedef INT_MAP_INT::const_iterator | INT_MAP_INT_CI
typedef std::deque< int > | INT_DEQUE
typedef INT_DEQUE::iterator | INT_DEQUE_I
typedef INT_DEQUE::const_iterator | INT_DEQUE_CI
typedef std::map< int, INT_DEQUE > | INT_INT_DEQ_MAP
typedef INT_INT_DEQ_MAP::const_iterator | INT_INT_DEQ_MAP_CI
typedef std::set< int > | INT_SET
typedef INT_SET::iterator | INT_SET_I
typedef INT_SET::const_iterator | INT_SET_CI
typedef std::map< double, int, ltDouble > | DOUBLE_INT_MAP
| std::map from double to integer.
typedef boost::minstd_rand | rng_type
typedef boost::uniform_int | uniform_int
typedef boost::uniform_real | uniform_double
typedef boost::variate_generator < rng_type &, uniform_int > | int_source_type
typedef boost::variate_generator < rng_type &, uniform_double > | double_source_type
## Functions
ChemicalReaction * | RxnBlockToChemicalReaction (const std::string &rxnBlock)
| Parse a text block in MDL rxn format into a ChemicalReaction.
ChemicalReaction * | RxnFileToChemicalReaction (const std::string &fileName)
| Parse a file in MDL rxn format into a ChemicalReaction.
ChemicalReaction * | RxnDataStreamToChemicalReaction (std::istream &rxnStream, unsigned int &line)
| Parse a text stream in MDL rxn format into a ChemicalReaction.
ChemicalReaction * | RxnSmartsToChemicalReaction (const std::string &text)
| Parse a string containing "Reaction SMARTS" into a ChemicalReaction.
ROMol * | deleteSubstructs (const ROMol &mol, const ROMol &query, bool replaceAll=false)
| Returns a copy of an ROMol with the atoms and bonds that match a pattern removed.
std::vector< ROMOL_SPTR > | replaceSubstructs (const ROMol &mol, const ROMol &query, const ROMol &replacement, bool replaceAll=false)
| Returns a list of copies of an ROMol with the atoms and bonds that match a pattern replaced with the atoms contained in another molecule.
ROMol * | replaceSidechains (const ROMol &mol, const ROMol &coreQuery)
| Returns a copy of an ROMol with the atoms and bonds that don't fall within a substructure match removed.
ROMol * | replaceCore (const ROMol &mol, const ROMol &coreQuery, bool replaceDummies=true)
| Returns a copy of an ROMol with the atoms and bonds that do fall within a substructure match removed.
std::string | strip (const std::string &orig)
RWMol * | MolDataStreamToMol (std::istream *inStream, unsigned int &line, bool sanitize=true, bool removeHs=true)
RWMol * | MolDataStreamToMol (std::istream &inStream, unsigned int &line, bool sanitize=true, bool removeHs=true)
RWMol * | MolBlockToMol (const std::string &molBlock, bool sanitize=true, bool removeHs=true)
RWMol * | MolFileToMol (std::string fName, bool sanitize=true, bool removeHs=true)
std::string | MolToMolBlock (const ROMol &mol, bool includeStereo=true, int confId=-1)
void | MolToMolFile (const ROMol &mol, std::string fName, bool includeStereo=true, int confId=-1)
RWMol * | TPLDataStreamToMol (std::istream *inStream, unsigned int &line, bool sanitize=true, bool skipFirstConf=false)
| translate TPL data (BioCad format) into a multi-conf molecule
RWMol * | TPLFileToMol (std::string fName, bool sanitize=true, bool skipFirstConf=false)
| construct a multi-conf molecule from a TPL (BioCad format) file
std::string | MolToTPLText (const ROMol &mol, std::string partialChargeProp="_GasteigerCharge", bool writeFirstConfTwice=false)
void | MolToTPLFile (const ROMol &mol, std::string fName, std::string partialChargeProp="_GasteigerCharge", bool writeFirstConfTwice=false)
void | DetectAtomStereoChemistry (RWMol &mol, const Conformer *conf)
void | DetectBondStereoChemistry (ROMol &mol, const Conformer *conf)
void | WedgeMolBonds (ROMol &mol, const Conformer *conf)
INT_MAP_INT | pickBondsToWedge (const ROMol &mol)
void | ClearSingleBondDirFlags (ROMol &mol)
Bond::BondDir | DetermineBondWedgeState (const Bond *bond, const INT_MAP_INT &wedgeBonds, const Conformer *conf)
ExplicitBitVect * | DaylightFingerprintMol (const ROMol &mol, unsigned int minPath=1, unsigned int maxPath=7, unsigned int fpSize=2048, unsigned int nBitsPerHash=4, bool useHs=true, double tgtDensity=0.0, unsigned int minSize=128)
| Generates a topological (Daylight like) fingerprint for a molecule.
ExplicitBitVect * | RDKFingerprintMol (const ROMol &mol, unsigned int minPath=1, unsigned int maxPath=7, unsigned int fpSize=2048, unsigned int nBitsPerHash=4, bool useHs=true, double tgtDensity=0.0, unsigned int minSize=128)
| Generates a topological (Daylight like) fingerprint for a molecule using an alternate (faster) hashing algorithm.
MOL_SPTR_VECT | readFuncGroups (std::string fileName)
MOL_SPTR_VECT | readFuncGroups (std::istream &inStream, int nToRead=-1)
MatchVectType | findFuncGroupsOnMol (const ROMol &mol, const FragCatParams *params, INT_VECT &fgBonds)
ROMol * | prepareMol (const ROMol &mol, const FragCatParams *fparams, MatchVectType &aToFmap)
int | parseFeatureData (const std::string &defnText, MolChemicalFeatureDef::CollectionType &featDefs)
int | parseFeatureData (std::istream &istream, MolChemicalFeatureDef::CollectionType &featDefs)
int | parseFeatureFile (const std::string &fileName, MolChemicalFeatureDef::CollectionType &featDefs)
MolChemicalFeatureFactory * | buildFeatureFactory (std::istream &inStream)
| constructs a MolChemicalFeatureFactory from the data in a stream
MolChemicalFeatureFactory * | buildFeatureFactory (const std::string &featureData)
| constructs a MolChemicalFeatureFactory from the data in a string
void | computeGasteigerCharges (const ROMol *mol, int nIter=12, bool throwOnParamFailure=false)
static int | queryAtomAromatic (Atom const *at)
static int | queryAtomAliphatic (Atom const *at)
static int | queryAtomExplicitDegree (Atom const *at)
static int | queryAtomTotalDegree (Atom const *at)
static int | queryAtomHeavyAtomDegree (Atom const *at)
static int | queryAtomHCount (Atom const *at)
static int | queryAtomImplicitValence (Atom const *at)
static int | queryAtomTotalValence (Atom const *at)
static int | queryAtomUnsaturated (Atom const *at)
static int | queryAtomNum (Atom const *at)
static int | queryAtomMass (Atom const *at)
static int | queryAtomFormalCharge (Atom const *at)
static int | queryAtomHybridization (Atom const *at)
unsigned int | queryAtomBondProduct (Atom const *at)
unsigned int | queryAtomAllBondProduct (Atom const *at)
static int | queryBondOrder (Bond const *bond)
static int | queryBondDir (Bond const *bond)
static int | queryIsBondInNRings (Bond const *at)
static int | queryIsAtomInNRings (Atom const *at)
static int | queryIsAtomInRing (Atom const *at)
static int | queryIsBondInRing (Bond const *bond)
static int | queryAtomMinRingSize (Atom const *at)
static int | queryBondMinRingSize (Bond const *bond)
static int | queryAtomRingBondCount (Atom const *at)
template<int tgt>
int | queryAtomIsInRingOfSize (Atom const *at)
template<int tgt>
int | queryBondIsInRingOfSize (Bond const *bond)
ATOM_EQUALS_QUERY * | makeAtomNumEqualsQuery (int what)
| returns a Query for matching atomic number
ATOM_EQUALS_QUERY * | makeAtomImplicitValenceQuery (int what)
| returns a Query for matching implicit valence
ATOM_EQUALS_QUERY * | makeAtomTotalValenceQuery (int what)
| returns a Query for matching total valence
ATOM_EQUALS_QUERY * | makeAtomExplicitDegreeQuery (int what)
| returns a Query for matching explicit valence
ATOM_EQUALS_QUERY * | makeAtomTotalDegreeQuery (int what)
| returns a Query for matching atomic degree
ATOM_EQUALS_QUERY * | makeAtomHCountQuery (int what)
| returns a Query for matching hydrogen count
ATOM_EQUALS_QUERY * | makeAtomAromaticQuery ()
| returns a Query for matching the `isAromatic` flag
ATOM_EQUALS_QUERY * | makeAtomAliphaticQuery ()
| returns a Query for matching aliphatic atoms
ATOM_EQUALS_QUERY * | makeAtomMassQuery (int what)
| returns a Query for matching atoms with a particular mass (for isotopes)
ATOM_EQUALS_QUERY * | makeAtomFormalChargeQuery (int what)
| returns a Query for matching formal charge
ATOM_EQUALS_QUERY * | makeAtomHybridizationQuery (int what)
| returns a Query for matching hybridization
ATOM_EQUALS_QUERY * | makeAtomUnsaturatedQuery ()
| returns a Query for matching atoms with unsaturation:
ATOM_EQUALS_QUERY * | makeAtomInRingQuery ()
| returns a Query for matching ring atoms
ATOM_EQUALS_QUERY * | makeAtomInNRingsQuery (int what)
| returns a Query for matching atoms in a particular number of rings
ATOM_EQUALS_QUERY * | makeAtomInRingOfSizeQuery (int tgt)
| returns a Query for matching atoms in rings of a particular size
ATOM_EQUALS_QUERY * | makeAtomMinRingSizeQuery (int tgt)
| returns a Query for matching an atom's minimum ring size
ATOM_EQUALS_QUERY * | makeAtomRingBondCountQuery (int what)
| returns a Query for matching atoms with a particular number of ring bonds
BOND_EQUALS_QUERY * | makeBondOrderEqualsQuery (Bond::BondType what)
| returns a Query for matching bond orders
BOND_EQUALS_QUERY * | makeBondDirEqualsQuery (Bond::BondDir what)
| returns a Query for matching bond directions
BOND_EQUALS_QUERY * | makeBondIsInRingQuery ()
| returns a Query for matching ring bonds
BOND_EQUALS_QUERY * | makeBondInRingOfSizeQuery (int what)
| returns a Query for matching bonds in rings of a particular size
BOND_EQUALS_QUERY * | makeBondMinRingSizeQuery (int what)
| returns a Query for matching a bond's minimum ring size
BOND_EQUALS_QUERY * | makeBondInNRingsQuery (int tgt)
| returns a Query for matching bonds in a particular number of rings
BOND_NULL_QUERY * | makeBondNullQuery ()
| returns a Query for matching any bond
ATOM_NULL_QUERY * | makeAtomNullQuery ()
| returns a Query for matching any atom
static int | queryAtomRingMembership (Atom const *at)
template<typename T>
int | nullDataFun (T arg)
template<typename T>
bool | nullQueryFun (T arg)
std::string | MolToSmarts (ROMol &mol, bool doIsomericSmarts=false)
| returns the SMARTS for a molecule
RWMol * | SmilesToMol (std::string smi, int debugParse=0, bool sanitize=1)
RWMol * | SmartsToMol (std::string sma, int debugParse=0, bool mergeHs=false)
std::string | MolToSmiles (ROMol &mol, bool doIsomericSmiles=false, bool doKekule=false, int rootedAtAtom=-1)
| returns canonical SMILES for a molecule
INT_PATH_LIST_MAP | findAllSubgraphsOfLengthsMtoN (const ROMol &mol, unsigned int lowerLen, unsigned int upperLen, bool useHs=false)
| find all subgraphs in a range of sizes
PATH_LIST | findAllSubgraphsOfLengthN (const ROMol &mol, unsigned int targetLen, bool useHs=false)
| find all subgraphs of a particular size
PATH_LIST | findUniqueSubgraphsOfLengthN (const ROMol &mol, unsigned int targetLen, bool useHs=false, bool useBO=true)
| find unique subgraphs of a particular size
PATH_LIST | findAllPathsOfLengthN (const ROMol &mol, unsigned int targetLen, bool useBonds=true, bool useHs=false)
| find all paths of a particular size
AR_MOLGRAPH * | getMolGraph (const ROMol &mol, bool registerIt=false)
| Internal Use Only.
bool | SubstructMatch (const ROMol &mol, const ROMol &query, MatchVectType &matchVect, bool recursionPossible=true, bool useChirality=false, bool registerQuery=false)
| Find a substructure match for a query in a molecule.
bool | SubstructMatch (AR_MOLGRAPH *molG, const ROMol &query, MatchVectType &matchVect, bool recursionPossible=true, bool useChirality=false, bool registerQuery=false)
unsigned int | SubstructMatch (const ROMol &mol, const ROMol &query, std::vector< MatchVectType > &matchVect, bool uniquify=true, bool recursionPossible=true, bool useChirality=false, bool registerQuery=false)
| Find all substructure matches for a query in a molecule.
unsigned int | SubstructMatch (AR_MOLGRAPH *molG, const ROMol &query, std::vector< MatchVectType > &matchVect, bool uniquify=true, bool recursionPossible=true, bool useChirality=false, bool registerQuery=false)
bool | atomCompat (Atom const *a1, Atom const *a2)
bool | chiralAtomCompat (Atom const *a1, Atom const *a2)
bool | bondCompat (Bond const *b1, Bond const *b2)
void | MolToVFGraph (const ROMol &mol, ARGEdit *vgEd)
bool | substructVisitor (int n, node_id ni1[], node_id ni2[], void *mvp)
bool | substructHeadVisitor (int n, node_id ni1[], node_id ni2[], void *mvp)
double | toPrime (const MatchVectType &v)
void | removeDuplicates (std::vector< MatchVectType > &v)
DiscreteDistMat * | getDiscreteDistMat ()
unsigned int | computeL1Norm (const DiscreteValueVect &v1, const DiscreteValueVect &v2)
DiscreteValueVect | operator+ (const DiscreteValueVect &p1, const DiscreteValueVect &p2)
DiscreteValueVect | operator- (const DiscreteValueVect &p1, const DiscreteValueVect &p2)
template<typename IndexType, typename SequenceType>
void | updateFromSequence (SparseIntVect< IndexType > &vect, const SequenceType &seq)
template<typename IndexType>
double | DiceSimilarity (const SparseIntVect< IndexType > &v1, const SparseIntVect< IndexType > &v2, bool returnDistance=false, double bounds=0.0)
void | appendPackedIntToStream (std::stringstream &ss, boost::uint32_t num)
| Packs an integer and outputs it to a stream.
boost::uint32_t | readPackedIntFromStream (std::stringstream &ss)
| Reads an integer from a stream in packed format and returns the result.
boost::uint32_t | pullPackedIntFromString (const char *&text)
template<typename T>
void | streamWrite (std::ostream &ss, const T &val)
| does a binary write of an object to a stream
template<typename T>
void | streamRead (std::istream &ss, T &loc)
| does a binary read of an object from a stream
std::string | getLine (std::istream *inStream)
| grabs the next line from an instream and returns it.
std::string | getLine (std::istream &inStream)
| grabs the next line from an instream and returns it.
void | Union (const INT_VECT &r1, const INT_VECT &r2, INT_VECT &res)
| calculate the union of two INT_VECTs and put the results in a third vector
void | Intersect (const INT_VECT &r1, const INT_VECT &r2, INT_VECT &res)
| calculate the intersection of two INT_VECTs and put the results in a third vector
void | Union (const VECT_INT_VECT &rings, INT_VECT &res, const INT_VECT *exclude=NULL)
| calculating the union of the INT_VECT's in a VECT_INT_VECT
int | nextCombination (INT_VECT &comb, int tot)
| given a current combination of numbers change it to the next possible combination
double | round (double v)
| rounds a value to the closest int
double | computeIntVectPrimesProduct (const INT_VECT &ring)
| compute the product of the set of primes corresponding to the values in an INT_VECT
bool | feq (double v1, double v2, double tol=1e-4)
| floating point comparison with a tolerance
rng_type & | getRandomGenerator (int seed=-1)
| Optionally seed and return a reference to the global (Boost) random generator.
double | getRandomVal (int seed=-1)
template<class T>
unsigned int | countSwapsToInterconvert (const T &ref, T probe)
## Variables
const std::string | periodicTableAtomData
const int | MOLFILE_MAXLINE = 256
static int | defaultConfId = -1
std::string | paramData
const double | IONXH = 20.02
const double | DAMP_SCALE = 0.5
const double | DAMP = 0.5
static int | massIntegerConversionFactor = 1000
const int | ci_RIGHTMOST_ATOM
const int | ci_LEADING_BOND
const int | ci_ATOM_HOLDER
const int | NUM_PRIMES_AVAIL = 1000
| the number of primes available and stored
int | firstThousandPrimes [NUM_PRIMES_AVAIL]
const unsigned int | BITS_PER_INT = 32
const double | MAX_DOUBLE = std::numeric_limits<double>::max()
const double | EPS_DOUBLE = std::numeric_limits<double>::epsilon()
const double | SMALL_DOUBLE = 1.0e-8
const double | MAX_INT = static_cast<double>(std::numeric_limits<int>::max())
const double | MAX_LONGINT = static_cast<double>(std::numeric_limits<LONGINT>::max())
const double | PI = 3.1415926535897931
const int | FILE_MAXLINE = 256
| an assumed maximum length for lines read from files

## Detailed Description

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

Std stuff.

## Typedef Documentation

typedef ARGraph<const Atom, const Bond> RDKit::AR_MOLGRAPH

Definition at line 28 of file SubstructMatch.h.

typedef Queries::AndQuery<int,Atom const *,true> RDKit::ATOM_AND_QUERY

Definition at line 21 of file QueryOps.h.

typedef Queries::Query<bool,Atom const *,true> RDKit::ATOM_BOOL_QUERY

Definition at line 18 of file QueryOps.h.

typedef Queries::EqualityQuery<int,Atom const *,true> RDKit::ATOM_EQUALS_QUERY

Definition at line 30 of file QueryOps.h.

typedef Queries::GreaterQuery<int,Atom const *,true> RDKit::ATOM_GREATER_QUERY

Definition at line 33 of file QueryOps.h.

typedef Queries::GreaterEqualQuery<int,Atom const *,true> RDKit::ATOM_GREATEREQUAL_QUERY

Definition at line 36 of file QueryOps.h.

typedef Queries::LessQuery<int,Atom const *,true> RDKit::ATOM_LESS_QUERY

Definition at line 39 of file QueryOps.h.

typedef Queries::LessEqualQuery<int,Atom const *,true> RDKit::ATOM_LESSEQUAL_QUERY

Definition at line 42 of file QueryOps.h.

typedef Queries::Query<int,Atom const *,true> RDKit::ATOM_NULL_QUERY

Definition at line 52 of file QueryOps.h.

typedef Queries::OrQuery<int,Atom const *,true> RDKit::ATOM_OR_QUERY

Definition at line 24 of file QueryOps.h.

typedef Queries::RangeQuery<int,Atom const *,true> RDKit::ATOM_RANGE_QUERY

Definition at line 45 of file QueryOps.h.

typedef Queries::SetQuery<int,Atom const *,true> RDKit::ATOM_SET_QUERY

Definition at line 48 of file QueryOps.h.

typedef boost::shared_ptr< Atom > RDKit::ATOM_SPTR

Definition at line 21 of file AtomProps.h.

typedef Queries::XOrQuery<int,Atom const *,true> RDKit::ATOM_XOR_QUERY

Definition at line 27 of file QueryOps.h.

typedef boost::property<vertex_atom_t,Atom *> RDKit::AtomProperty

Definition at line 29 of file AtomProps.h.

typedef Queries::AndQuery<int,Bond const *,true> RDKit::BOND_AND_QUERY

Definition at line 22 of file QueryOps.h.

typedef Queries::Query<bool,Bond const *,true> RDKit::BOND_BOOL_QUERY

Definition at line 19 of file QueryOps.h.

typedef Queries::EqualityQuery<int,Bond const *,true> RDKit::BOND_EQUALS_QUERY

Definition at line 31 of file QueryOps.h.

typedef Queries::GreaterQuery<int,Bond const *,true> RDKit::BOND_GREATER_QUERY

Definition at line 34 of file QueryOps.h.

typedef Queries::GreaterEqualQuery<int,Bond const *,true> RDKit::BOND_GREATEREQUAL_QUERY

Definition at line 37 of file QueryOps.h.

typedef Queries::LessQuery<int,Bond const *,true> RDKit::BOND_LESS_QUERY

Definition at line 40 of file QueryOps.h.

typedef Queries::LessEqualQuery<int,Bond const *,true> RDKit::BOND_LESSEQUAL_QUERY

Definition at line 43 of file QueryOps.h.

typedef Queries::Query<int,Bond const *,true> RDKit::BOND_NULL_QUERY

Definition at line 51 of file QueryOps.h.

typedef Queries::OrQuery<int,Bond const *,true> RDKit::BOND_OR_QUERY

Definition at line 25 of file QueryOps.h.

typedef Queries::RangeQuery<int,Bond const *,true> RDKit::BOND_RANGE_QUERY

Definition at line 46 of file QueryOps.h.

typedef Queries::SetQuery<int,Bond const *,true> RDKit::BOND_SET_QUERY

Definition at line 49 of file QueryOps.h.

typedef boost::shared_ptr< Bond > RDKit::BOND_SPTR

Definition at line 23 of file BondProps.h.

typedef Queries::XOrQuery<int,Bond const *,true> RDKit::BOND_XOR_QUERY

Definition at line 28 of file QueryOps.h.

typedef boost::property<edge_bond_t,Bond *,BondWeight> RDKit::BondProperty

Definition at line 34 of file BondProps.h.

typedef boost::property<edge_wght_t,double> RDKit::BondWeight

Definition at line 33 of file BondProps.h.

typedef boost::shared_ptr<Conformer> RDKit::CONFORMER_SPTR

Definition at line 131 of file Conformer.h.

typedef Atom const* RDKit::ConstAtomPtr

Definition at line 202 of file QueryOps.h.

typedef boost::tuples::tuple<double,double,double> RDKit::DiscrimTuple

used to return atomic discriminators (three doubles)

Definition at line 25 of file MolOps.h.

typedef std::map<double, int, ltDouble> RDKit::DOUBLE_INT_MAP

std::map from double to integer.

Definition at line 131 of file types.h.

typedef boost::variate_generator<rng_type &,uniform_double> RDKit::double_source_type

Definition at line 32 of file utils.h.

typedef std::vector<double> RDKit::DOUBLE_VECT

Definition at line 86 of file types.h.

typedef DOUBLE_VECT::const_iterator RDKit::DOUBLE_VECT_CI

Definition at line 88 of file types.h.

typedef DOUBLE_VECT::iterator RDKit::DOUBLE_VECT_I

Definition at line 87 of file types.h.

typedef boost::shared_ptr<MolChemicalFeature> RDKit::FeatSPtr

Definition at line 14 of file MolChemicalFeatureFactory.h.

typedef std::list< FeatSPtr > RDKit::FeatSPtrList

Definition at line 16 of file MolChemicalFeatureFactory.h.

typedef FeatSPtrList::iterator RDKit::FeatSPtrList_I

Definition at line 17 of file MolChemicalFeatureFactory.h.

typedef RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int > RDKit::FragCatalog

Definition at line 15 of file FragCatGenerator.h.

typedef std::deque<int> RDKit::INT_DEQUE

Definition at line 103 of file types.h.

typedef INT_DEQUE::const_iterator RDKit::INT_DEQUE_CI

Definition at line 105 of file types.h.

typedef INT_DEQUE::iterator RDKit::INT_DEQUE_I

Definition at line 104 of file types.h.

typedef std::map<int, INT_DEQUE> RDKit::INT_INT_DEQ_MAP

Definition at line 107 of file types.h.

typedef INT_INT_DEQ_MAP::const_iterator RDKit::INT_INT_DEQ_MAP_CI

Definition at line 108 of file types.h.

typedef std::map<int, INT_VECT> RDKit::INT_INT_VECT_MAP

Definition at line 96 of file types.h.

typedef INT_INT_VECT_MAP::const_iterator RDKit::INT_INT_VECT_MAP_CI

Definition at line 97 of file types.h.

typedef std::list<int> RDKit::INT_LIST

Definition at line 66 of file types.h.

typedef INT_LIST::const_iterator RDKit::INT_LIST_CI

Definition at line 68 of file types.h.

typedef INT_LIST::iterator RDKit::INT_LIST_I

Definition at line 67 of file types.h.

typedef std::map<int, int> RDKit::INT_MAP_INT

Definition at line 99 of file types.h.

typedef INT_MAP_INT::const_iterator RDKit::INT_MAP_INT_CI

Definition at line 101 of file types.h.

typedef INT_MAP_INT::iterator RDKit::INT_MAP_INT_I

Definition at line 100 of file types.h.

typedef std::map<int, PATH_LIST> RDKit::INT_PATH_LIST_MAP

Definition at line 41 of file Subgraphs.h.

typedef INT_PATH_LIST_MAP::const_iterator RDKit::INT_PATH_LIST_MAP_CI

Definition at line 42 of file Subgraphs.h.

typedef INT_PATH_LIST_MAP::iterator RDKit::INT_PATH_LIST_MAP_I

Definition at line 43 of file Subgraphs.h.

typedef std::set<int> RDKit::INT_SET

Definition at line 110 of file types.h.

typedef INT_SET::const_iterator RDKit::INT_SET_CI

Definition at line 112 of file types.h.

typedef INT_SET::iterator RDKit::INT_SET_I

Definition at line 111 of file types.h.

typedef boost::variate_generator<rng_type &,uniform_int> RDKit::int_source_type

Definition at line 31 of file utils.h.

typedef std::vector<int> RDKit::INT_VECT

Definition at line 60 of file types.h.

typedef INT_VECT::const_iterator RDKit::INT_VECT_CI

Definition at line 62 of file types.h.

typedef INT_VECT::const_reverse_iterator RDKit::INT_VECT_CRI

Definition at line 64 of file types.h.

typedef INT_VECT::iterator RDKit::INT_VECT_I

Definition at line 61 of file types.h.

typedef INT_VECT::reverse_iterator RDKit::INT_VECT_RI

Definition at line 63 of file types.h.

typedef std::vector<double> RDKit::INVAR_VECT

Definition at line 18 of file MolOps.h.

typedef INVAR_VECT::const_iterator RDKit::INVAR_VECT_CI

Definition at line 21 of file MolOps.h.

typedef INVAR_VECT::iterator RDKit::INVAR_VECT_I

Definition at line 20 of file MolOps.h.

typedef std::list<INT_VECT> RDKit::LIST_INT_VECT

Definition at line 70 of file types.h.

typedef LIST_INT_VECT::const_iterator RDKit::LIST_INT_VECT_CI

Definition at line 72 of file types.h.

typedef LIST_INT_VECT::iterator RDKit::LIST_INT_VECT_I

Definition at line 71 of file types.h.

typedef long long int RDKit::LONGINT

Definition at line 38 of file types.h.

typedef VF2MonoState RDKit::MatcherState

Definition at line 26 of file SubstructMatch.h.

typedef std::vector< std::pair< int, int > > RDKit::MatchVectType

used to return matches from substructure searching, The format is (queryAtomIdx, molAtomIdx)

Definition at line 18 of file FragFPGenerator.h.

typedef std::vector<ROMol *> RDKit::MOL_PTR_VECT

Definition at line 700 of file ROMol.h.

typedef MOL_PTR_VECT::const_iterator RDKit::MOL_PTR_VECT_CI

Definition at line 703 of file ROMol.h.

typedef MOL_PTR_VECT::iterator RDKit::MOL_PTR_VECT_I

Definition at line 704 of file ROMol.h.

typedef std::vector< ROMOL_SPTR > RDKit::MOL_SPTR_VECT

Definition at line 16 of file FragCatParams.h.

typedef std::vector<ROMol> RDKit::MOL_VECT

Definition at line 698 of file ROMol.h.

typedef RDCatalog::HierarchCatalog<MolCatalogEntry, MolCatalogParams, int> RDKit::MolCatalog

a hierarchical catalog for holding molecules

Definition at line 15 of file MolCatalog.h.

typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS, AtomProperty, BondProperty> RDKit::MolGraph

This is the BGL type used to store the topology:.

Definition at line 34 of file ROMol.h.

typedef std::list< PATH_TYPE > RDKit::PATH_LIST

Definition at line 38 of file Subgraphs.h.

typedef PATH_LIST::const_iterator RDKit::PATH_LIST_CI

Definition at line 39 of file Subgraphs.h.

typedef std::vector<int> RDKit::PATH_TYPE

Definition at line 33 of file Subgraphs.h.

typedef boost::minstd_rand RDKit::rng_type

Definition at line 28 of file utils.h.

typedef boost::shared_ptr< ROMol > RDKit::ROMOL_SPTR

Definition at line 13 of file ChemTransforms.h.

typedef boost::shared_ptr<RWMol> RDKit::RWMOL_SPTR

Definition at line 209 of file RWMol.h.

typedef std::vector< RWMOL_SPTR > RDKit::RWMOL_SPTR_VECT

Definition at line 26 of file FileParsers.h.

typedef std::map<std::string, UINT> RDKit::STR_UINT_MAP

Definition at line 93 of file types.h.

typedef std::map<std::string, UINT>::const_iterator RDKit::STR_UINT_MAP_CI

Definition at line 94 of file types.h.

typedef std::vector< std::string > RDKit::STR_VECT

Definition at line 22 of file Dict.h.

typedef std::vector<std::string>::const_iterator RDKit::STR_VECT_CI

Definition at line 81 of file types.h.

typedef std::vector<std::string>::iterator RDKit::STR_VECT_I

Definition at line 82 of file types.h.

typedef unsigned char RDKit::UCHAR

Definition at line 58 of file types.h.

typedef unsigned int RDKit::UINT

Definition at line 56 of file types.h.

typedef std::vector<UINT> RDKit::UINT_VECT

Definition at line 79 of file types.h.

typedef std::vector<UINT>::const_iterator RDKit::UINT_VECT_CI

Definition at line 78 of file types.h.

typedef boost::uniform_real RDKit::uniform_double

Definition at line 30 of file utils.h.

typedef boost::uniform_int RDKit::uniform_int

Definition at line 29 of file utils.h.

typedef unsigned short RDKit::USHORT

Definition at line 57 of file types.h.

typedef std::vector<DOUBLE_VECT> RDKit::VECT_DOUBLE_VECT

Definition at line 89 of file types.h.

typedef VECT_DOUBLE_VECT::const_iterator RDKit::VECT_DOUBLE_VECT_CI

Definition at line 91 of file types.h.

typedef VECT_DOUBLE_VECT::iterator RDKit::VECT_DOUBLE_VECT_I

Definition at line 90 of file types.h.

typedef std::vector<INT_VECT> RDKit::VECT_INT_VECT

Definition at line 74 of file types.h.

typedef VECT_INT_VECT::const_iterator RDKit::VECT_INT_VECT_CI

Definition at line 76 of file types.h.

typedef VECT_INT_VECT::iterator RDKit::VECT_INT_VECT_I

Definition at line 75 of file types.h.

## Function Documentation

void RDKit::appendPackedIntToStream | ( | std::stringstream & | ss,
|  | boost::uint32_t | num |
| ) |  |  | `[inline]`

Packs an integer and outputs it to a stream.

Definition at line 20 of file StreamOps.h.

References CHECK_INVARIANT.

bool RDKit::atomCompat | ( | Atom const * | a1,
|  | Atom const * | a2 |
| ) |  |  |

bool RDKit::bondCompat | ( | Bond const * | b1,
|  | Bond const * | b2 |
| ) |  |  |

MolChemicalFeatureFactory* RDKit::buildFeatureFactory | ( | const std::string & | featureData | ) |

constructs a MolChemicalFeatureFactory from the data in a string

MolChemicalFeatureFactory* RDKit::buildFeatureFactory | ( | std::istream & | inStream | ) |

constructs a MolChemicalFeatureFactory from the data in a stream

bool RDKit::chiralAtomCompat | ( | Atom const * | a1,
|  | Atom const * | a2 |
| ) |  |  |

void RDKit::ClearSingleBondDirFlags | ( | ROMol & | mol | ) |

void RDKit::computeGasteigerCharges | ( | const ROMol * | mol,
|  | int | nIter = `12`,
|  | bool | throwOnParamFailure = `false` |
| ) |  |  |

double RDKit::computeIntVectPrimesProduct | ( | const INT_VECT & | ring | ) |

compute the product of the set of primes corresponding to the values in an INT_VECT

unsigned int RDKit::computeL1Norm | ( | const DiscreteValueVect & | v1,
|  | const DiscreteValueVect & | v2 |
| ) |  |  |

template<class T>

unsigned int RDKit::countSwapsToInterconvert | ( | const T & | ref,
|  | T | probe |
| ) |  |  | `[inline]`

Definition at line 43 of file utils.h.

References CHECK_INVARIANT, and PRECONDITION.

ExplicitBitVect* RDKit::DaylightFingerprintMol | ( | const ROMol & | mol,
|  | unsigned int | minPath = `1`,
|  | unsigned int | maxPath = `7`,
|  | unsigned int | fpSize = `2048`,
|  | unsigned int | nBitsPerHash = `4`,
|  | bool | useHs = `true`,
|  | double | tgtDensity = `0.0`,
|  | unsigned int | minSize = `128` |
| ) |  |  |

Generates a topological (Daylight like) fingerprint for a molecule.

Parameters:

  | mol,: | the molecule to be fingerprinted
  | minPath,: | the minimum path length (in bonds) to be included
  | maxPath,: | the minimum path length (in bonds) to be included
  | fpSize,: | the size of the fingerprint
  | nBitsPerHash,: | the number of bits to be set by each path
  | useHs,: | toggles inclusion of Hs in distinguishing paths from each other.
  | tgtDensity,: | if the generated fingerprint is below this density, it will be folded until the density is reached.
  | minSize,: | the minimum size to which the fingerprint will be folded

Returns:
  the molecular fingerprint, as an ExplicitBitVect

Notes:

- the caller is responsible for `delete`ing the result

ROMol* RDKit::deleteSubstructs | ( | const ROMol & | mol,
|  | const ROMol & | query,
|  | bool | replaceAll = `false` |
| ) |  |  |

Returns a copy of an ROMol with the atoms and bonds that match a pattern removed.

Parameters:

  | mol | the ROMol of interest
  | query | the query ROMol
  | replaceAll | if this is set all matches of the query to the substructure will be removed. Default is to only remove the first.

Returns:
  a copy of `mol` with the matching atoms and bonds (if any) removed.

void RDKit::DetectAtomStereoChemistry | ( | RWMol & | mol,
|  | const Conformer * | conf |
| ) |  |  |

void RDKit::DetectBondStereoChemistry | ( | ROMol & | mol,
|  | const Conformer * | conf |
| ) |  |  |

Bond::BondDir RDKit::DetermineBondWedgeState | ( | const Bond * | bond,
|  | const INT_MAP_INT & | wedgeBonds,
|  | const Conformer * | conf |
| ) |  |  |

template<typename IndexType>

double RDKit::DiceSimilarity | ( | const SparseIntVect< IndexType > & | v1,
|  | const SparseIntVect< IndexType > & | v2,
|  | bool | returnDistance = `false`,
|  | double | bounds = `0.0` |
| ) |  |  | `[inline]`

Definition at line 342 of file SparseIntVect.h.

References RDKit::SparseIntVect< IndexType >::getLength(), RDKit::SparseIntVect< IndexType >::getNonzeroElements(), and RDKit::SparseIntVect< IndexType >::getTotalVal().

bool RDKit::feq | ( | double | v1,
|  | double | v2,
|  | double | tol = `1e-4` |
| ) |  |  |

floating point comparison with a tolerance

Referenced by RDPickers::MaxMinPicker::lazyPick().

PATH_LIST RDKit::findAllPathsOfLengthN | ( | const ROMol & | mol,
|  | unsigned int | targetLen,
|  | bool | useBonds = `true`,
|  | bool | useHs = `false` |
| ) |  |  |

find all paths of a particular size

Parameters:

  | mol | - the molecule to be considered
  | targetLen | - the length of the paths to be returned
  | useBonds | - if set, the path indices will be bond indices, not atom indices
  | useHs | - if set, hydrogens in the graph will be considered eligible to be in paths. NOTE: this will not add Hs to the graph.

PATH_LIST RDKit::findAllSubgraphsOfLengthN | ( | const ROMol & | mol,
|  | unsigned int | targetLen,
|  | bool | useHs = `false` |
| ) |  |  |

find all subgraphs of a particular size

Parameters:

  | mol | - the molecule to be considered
  | targetLen | - the length of the subgraphs to be returned
  | useHs | - if set, hydrogens in the graph will be considered eligible to be in paths. NOTE: this will not add Hs to the graph.

INT_PATH_LIST_MAP RDKit::findAllSubgraphsOfLengthsMtoN | ( | const ROMol & | mol,
|  | unsigned int | lowerLen,
|  | unsigned int | upperLen,
|  | bool | useHs = `false` |
| ) |  |  |

find all subgraphs in a range of sizes

Parameters:

  | mol | - the molecule to be considered
  | lowerLen | - the minimum subgraph size to find
  | upperLen | - the maximum subgraph size to find
  | useHs | - if set, hydrogens in the graph will be considered eligible to be in paths. NOTE: this will not add Hs to the graph.

MatchVectType RDKit::findFuncGroupsOnMol | ( | const ROMol & | mol,
|  | const FragCatParams * | params,
|  | INT_VECT & | fgBonds |
| ) |  |  |

PATH_LIST RDKit::findUniqueSubgraphsOfLengthN | ( | const ROMol & | mol,
|  | unsigned int | targetLen,
|  | bool | useHs = `false`,
|  | bool | useBO = `true` |
| ) |  |  |

find unique subgraphs of a particular size

Parameters:

  | mol | - the molecule to be considered
  | targetLen | - the length of the subgraphs to be returned
  | useHs | - if set, hydrogens in the graph will be considered eligible to be in paths. NOTE: this will not add Hs to the graph.
  | useBO | - if set, bond orders will be considered when uniquifying the paths

DiscreteDistMat* RDKit::getDiscreteDistMat | ( |  | ) |

std::string RDKit::getLine | ( | std::istream & | inStream | ) | `[inline]`

grabs the next line from an instream and returns it.

Definition at line 170 of file StreamOps.h.

References getLine().

std::string RDKit::getLine | ( | std::istream * | inStream | ) | `[inline]`

grabs the next line from an instream and returns it.

Definition at line 161 of file StreamOps.h.

Referenced by getLine().

AR_MOLGRAPH* RDKit::getMolGraph | ( | const ROMol & | mol,
|  | bool | registerIt = `false` |
| ) |  |  |

Internal Use Only.

rng_type& RDKit::getRandomGenerator | ( | int | seed = `-1` | ) |

Optionally seed and return a reference to the global (Boost) random generator.

double RDKit::getRandomVal | ( | int | seed = `-1` | ) |

Return a random double value between 0.0 and 1.0 Optionally seed the random number generator

void RDKit::Intersect | ( | const INT_VECT & | r1,
|  | const INT_VECT & | r2,
|  | INT_VECT & | res |
| ) |  |  |

calculate the intersection of two INT_VECTs and put the results in a third vector

ATOM_EQUALS_QUERY* RDKit::makeAtomAliphaticQuery | ( |  | ) |

returns a Query for matching aliphatic atoms

ATOM_EQUALS_QUERY* RDKit::makeAtomAromaticQuery | ( |  | ) |

returns a Query for matching the `isAromatic` flag

ATOM_EQUALS_QUERY* RDKit::makeAtomExplicitDegreeQuery | ( | int | what | ) |

returns a Query for matching explicit valence

ATOM_EQUALS_QUERY* RDKit::makeAtomFormalChargeQuery | ( | int | what | ) |

returns a Query for matching formal charge

ATOM_EQUALS_QUERY* RDKit::makeAtomHCountQuery | ( | int | what | ) |

returns a Query for matching hydrogen count

ATOM_EQUALS_QUERY* RDKit::makeAtomHybridizationQuery | ( | int | what | ) |

returns a Query for matching hybridization

ATOM_EQUALS_QUERY* RDKit::makeAtomImplicitValenceQuery | ( | int | what | ) |

returns a Query for matching implicit valence

ATOM_EQUALS_QUERY* RDKit::makeAtomInNRingsQuery | ( | int | what | ) |

returns a Query for matching atoms in a particular number of rings

ATOM_EQUALS_QUERY* RDKit::makeAtomInRingOfSizeQuery | ( | int | tgt | ) |

returns a Query for matching atoms in rings of a particular size

ATOM_EQUALS_QUERY* RDKit::makeAtomInRingQuery | ( |  | ) |

returns a Query for matching ring atoms

ATOM_EQUALS_QUERY* RDKit::makeAtomMassQuery | ( | int | what | ) |

returns a Query for matching atoms with a particular mass (for isotopes)

ATOM_EQUALS_QUERY* RDKit::makeAtomMinRingSizeQuery | ( | int | tgt | ) |

returns a Query for matching an atom's minimum ring size

ATOM_NULL_QUERY* RDKit::makeAtomNullQuery | ( |  | ) |

returns a Query for matching any atom

ATOM_EQUALS_QUERY* RDKit::makeAtomNumEqualsQuery | ( | int | what | ) |

returns a Query for matching atomic number

ATOM_EQUALS_QUERY* RDKit::makeAtomRingBondCountQuery | ( | int | what | ) |

returns a Query for matching atoms with a particular number of ring bonds

ATOM_EQUALS_QUERY* RDKit::makeAtomTotalDegreeQuery | ( | int | what | ) |

returns a Query for matching atomic degree

ATOM_EQUALS_QUERY* RDKit::makeAtomTotalValenceQuery | ( | int | what | ) |

returns a Query for matching total valence

ATOM_EQUALS_QUERY* RDKit::makeAtomUnsaturatedQuery | ( |  | ) |

returns a Query for matching atoms with unsaturation:

BOND_EQUALS_QUERY* RDKit::makeBondDirEqualsQuery | ( | Bond::BondDir | what | ) |

returns a Query for matching bond directions

BOND_EQUALS_QUERY* RDKit::makeBondInNRingsQuery | ( | int | tgt | ) |

returns a Query for matching bonds in a particular number of rings

BOND_EQUALS_QUERY* RDKit::makeBondInRingOfSizeQuery | ( | int | what | ) |

returns a Query for matching bonds in rings of a particular size

BOND_EQUALS_QUERY* RDKit::makeBondIsInRingQuery | ( |  | ) |

returns a Query for matching ring bonds

BOND_EQUALS_QUERY* RDKit::makeBondMinRingSizeQuery | ( | int | what | ) |

returns a Query for matching a bond's minimum ring size

BOND_NULL_QUERY* RDKit::makeBondNullQuery | ( |  | ) |

returns a Query for matching any bond

BOND_EQUALS_QUERY* RDKit::makeBondOrderEqualsQuery | ( | Bond::BondType | what | ) |

returns a Query for matching bond orders

RWMol* RDKit::MolBlockToMol | ( | const std::string & | molBlock,
|  | bool | sanitize = `true`,
|  | bool | removeHs = `true` |
| ) |  |  |

Parameters:

  | molBlock | - string containing the mol block
  | sanitize | - toggles sanitization and stereochemistry perception of the molecule
  | removeHs | - toggles removal of Hs from the molecule. H removal is only done if the molecule is sanitized

RWMol* RDKit::MolDataStreamToMol | ( | std::istream & | inStream,
|  | unsigned int & | line,
|  | bool | sanitize = `true`,
|  | bool | removeHs = `true` |
| ) |  |  |

RWMol* RDKit::MolDataStreamToMol | ( | std::istream * | inStream,
|  | unsigned int & | line,
|  | bool | sanitize = `true`,
|  | bool | removeHs = `true` |
| ) |  |  |

Parameters:

  | inStream | - stream containing the data
  | line | - current line number (used for error reporting)
  | sanitize | - toggles sanitization and stereochemistry perception of the molecule
  | removeHs | - toggles removal of Hs from the molecule. H removal is only done if the molecule is sanitized

RWMol* RDKit::MolFileToMol | ( | std::string | fName,
|  | bool | sanitize = `true`,
|  | bool | removeHs = `true` |
| ) |  |  |

Parameters:

  | fName | - string containing the file name
  | sanitize | - toggles sanitization and stereochemistry perception of the molecule
  | removeHs | - toggles removal of Hs from the molecule. H removal is only done if the molecule is sanitized

std::string RDKit::MolToMolBlock | ( | const ROMol & | mol,
|  | bool | includeStereo = `true`,
|  | int | confId = `-1` |
| ) |  |  |

Parameters:

  | mol | - the molecule in question
  | includeStereo | - toggles inclusion of stereochemistry information
  | confId | - selects the conformer to be used

void RDKit::MolToMolFile | ( | const ROMol & | mol,
|  | std::string | fName,
|  | bool | includeStereo = `true`,
|  | int | confId = `-1` |
| ) |  |  |

Parameters:

  | mol | - the molecule in question
  | fName | - the name of the file to use
  | includeStereo | - toggles inclusion of stereochemistry information
  | confId | - selects the conformer to be used

std::string RDKit::MolToSmarts | ( | ROMol & | mol,
|  | bool | doIsomericSmarts = `false` |
| ) |  |  |

returns the SMARTS for a molecule

std::string RDKit::MolToSmiles | ( | ROMol & | mol,
|  | bool | doIsomericSmiles = `false`,
|  | bool | doKekule = `false`,
|  | int | rootedAtAtom = `-1` |
| ) |  |  |

returns canonical SMILES for a molecule

Parameters:

  | mol | : the molecule in question. NOTE that the molecule may be modified as part of the canonicalization process.
  | doIsomericSmiles | : include stereochemistry and isotope information in the SMILES
  | doKekule | : do Kekule smiles (i.e. don't use aromatic bonds)
  | rootedAtAtom | : make sure the SMILES starts at the specified atom. The resulting SMILES is not, of course, canonical.

void RDKit::MolToTPLFile | ( | const ROMol & | mol,
|  | std::string | fName,
|  | std::string | partialChargeProp = `"_GasteigerCharge"`,
|  | bool | writeFirstConfTwice = `false` |
| ) |  |  |

std::string RDKit::MolToTPLText | ( | const ROMol & | mol,
|  | std::string | partialChargeProp = `"_GasteigerCharge"`,
|  | bool | writeFirstConfTwice = `false` |
| ) |  |  |

void RDKit::MolToVFGraph | ( | const ROMol & | mol,
|  | ARGEdit * | vgEd |
| ) |  |  |

int RDKit::nextCombination | ( | INT_VECT & | comb,
|  | int | tot |
| ) |  |  |

given a current combination of numbers change it to the next possible combination

Parameters:

  | comb | the sorted vector to consider
  | tot | the maximum number possible in the vector

Returns:
  -1 on failure, the index of the last number changed on success. Example: for all combinations 3 of numbers between 0 and tot=5 given (0,1,2) the function wil return (0,1,3) etc.

template<typename T>

int RDKit::nullDataFun | ( | T | arg | ) | `[inline]`

Definition at line 296 of file QueryOps.h.

template<typename T>

bool RDKit::nullQueryFun | ( | T | arg | ) | `[inline]`

Definition at line 298 of file QueryOps.h.

DiscreteValueVect RDKit::operator+ | ( | const DiscreteValueVect & | p1,
|  | const DiscreteValueVect & | p2 |
| ) |  |  |

DiscreteValueVect RDKit::operator- | ( | const DiscreteValueVect & | p1,
|  | const DiscreteValueVect & | p2 |
| ) |  |  |

int RDKit::parseFeatureData | ( | std::istream & | istream,
|  | MolChemicalFeatureDef::CollectionType & | featDefs |
| ) |  |  |

int RDKit::parseFeatureData | ( | const std::string & | defnText,
|  | MolChemicalFeatureDef::CollectionType & | featDefs |
| ) |  |  |

int RDKit::parseFeatureFile | ( | const std::string & | fileName,
|  | MolChemicalFeatureDef::CollectionType & | featDefs |
| ) |  |  |

INT_MAP_INT RDKit::pickBondsToWedge | ( | const ROMol & | mol | ) |

ROMol* RDKit::prepareMol | ( | const ROMol & | mol,
|  | const FragCatParams * | fparams,
|  | MatchVectType & | aToFmap |
| ) |  |  |

boost::uint32_t RDKit::pullPackedIntFromString | ( | const char *& | text | ) | `[inline]`

Reads an integer from a char * in packed format and returns the result. The argument is advanced

Definition at line 104 of file StreamOps.h.

static int RDKit::queryAtomAliphatic | ( | Atom const * | at | ) | `[static]`

Definition at line 58 of file QueryOps.h.

References RDKit::Atom::getIsAromatic().

unsigned int RDKit::queryAtomAllBondProduct | ( | Atom const * | at | ) |

static int RDKit::queryAtomAromatic | ( | Atom const * | at | ) | `[static]`

Definition at line 57 of file QueryOps.h.

References RDKit::Atom::getIsAromatic().

unsigned int RDKit::queryAtomBondProduct | ( | Atom const * | at | ) |

static int RDKit::queryAtomExplicitDegree | ( | Atom const * | at | ) | `[static]`

Definition at line 59 of file QueryOps.h.

References RDKit::Atom::getDegree().

static int RDKit::queryAtomFormalCharge | ( | Atom const * | at | ) | `[static]`

Definition at line 71 of file QueryOps.h.

References RDKit::Atom::getFormalCharge().

static int RDKit::queryAtomHCount | ( | Atom const * | at | ) | `[static]`

Definition at line 62 of file QueryOps.h.

References RDKit::Atom::getTotalNumHs().

static int RDKit::queryAtomHeavyAtomDegree | ( | Atom const * | at | ) | `[static]`

Definition at line 61 of file QueryOps.h.

References RDKit::Atom::getDegree().

static int RDKit::queryAtomHybridization | ( | Atom const * | at | ) | `[static]`

Definition at line 74 of file QueryOps.h.

References RDKit::Atom::getHybridization().

static int RDKit::queryAtomImplicitValence | ( | Atom const * | at | ) | `[static]`

Definition at line 63 of file QueryOps.h.

References RDKit::Atom::getImplicitValence().

template<int tgt>

int RDKit::queryAtomIsInRingOfSize | ( | Atom const * | at | ) | `[inline]`

Definition at line 123 of file QueryOps.h.

References RDKit::Atom::getIdx(), RDKit::Atom::getOwningMol(), RDKit::ROMol::getRingInfo(), and RDKit::RingInfo::isAtomInRingOfSize().

static int RDKit::queryAtomMass | ( | Atom const * | at | ) | `[static]`

Definition at line 68 of file QueryOps.h.

References RDKit::Atom::getMass(), massIntegerConversionFactor, and round().

static int RDKit::queryAtomMinRingSize | ( | Atom const * | at | ) | `[static]`

Definition at line 100 of file QueryOps.h.

References RDKit::Atom::getIdx(), RDKit::Atom::getOwningMol(), RDKit::ROMol::getRingInfo(), and RDKit::RingInfo::minAtomRingSize().

static int RDKit::queryAtomNum | ( | Atom const * | at | ) | `[static]`

Definition at line 66 of file QueryOps.h.

References RDKit::Atom::getAtomicNum().

static int RDKit::queryAtomRingBondCount | ( | Atom const * | at | ) | `[static]`

Definition at line 107 of file QueryOps.h.

References RDKit::ROMol::getAtomBonds(), RDKit::ROMol::getBondPMap(), RDKit::Atom::getOwningMol(), RDKit::ROMol::getRingInfo(), and RDKit::RingInfo::numBondRings().

static int RDKit::queryAtomRingMembership | ( | Atom const * | at | ) | `[static]`

Definition at line 194 of file QueryOps.h.

References RDKit::Atom::getIdx(), RDKit::Atom::getOwningMol(), RDKit::ROMol::getRingInfo(), and RDKit::RingInfo::numAtomRings().

Referenced by RDKit::AtomRingQuery::AtomRingQuery().

static int RDKit::queryAtomTotalDegree | ( | Atom const * | at | ) | `[static]`

Definition at line 60 of file QueryOps.h.

References RDKit::Atom::getDegree(), and RDKit::Atom::getImplicitValence().

static int RDKit::queryAtomTotalValence | ( | Atom const * | at | ) | `[static]`

Definition at line 64 of file QueryOps.h.

References RDKit::Atom::getExplicitValence(), and RDKit::Atom::getImplicitValence().

static int RDKit::queryAtomUnsaturated | ( | Atom const * | at | ) | `[static]`

Definition at line 65 of file QueryOps.h.

References RDKit::Atom::getDegree(), and RDKit::Atom::getExplicitValence().

static int RDKit::queryBondDir | ( | Bond const * | bond | ) | `[static]`

Definition at line 83 of file QueryOps.h.

References RDKit::Bond::getBondDir().

template<int tgt>

int RDKit::queryBondIsInRingOfSize | ( | Bond const * | bond | ) | `[inline]`

Definition at line 131 of file QueryOps.h.

References RDKit::Bond::getIdx(), RDKit::Bond::getOwningMol(), RDKit::ROMol::getRingInfo(), and RDKit::RingInfo::isBondInRingOfSize().

static int RDKit::queryBondMinRingSize | ( | Bond const * | bond | ) | `[static]`

Definition at line 103 of file QueryOps.h.

References RDKit::Bond::getIdx(), RDKit::Bond::getOwningMol(), RDKit::ROMol::getRingInfo(), and RDKit::RingInfo::minBondRingSize().

static int RDKit::queryBondOrder | ( | Bond const * | bond | ) | `[static]`

Definition at line 82 of file QueryOps.h.

References RDKit::Bond::getBondType().

static int RDKit::queryIsAtomInNRings | ( | Atom const * | at | ) | `[static]`

Definition at line 91 of file QueryOps.h.

References RDKit::Atom::getIdx(), RDKit::Atom::getOwningMol(), RDKit::ROMol::getRingInfo(), and RDKit::RingInfo::numAtomRings().

static int RDKit::queryIsAtomInRing | ( | Atom const * | at | ) | `[static]`

Definition at line 94 of file QueryOps.h.

References RDKit::Atom::getIdx(), RDKit::Atom::getOwningMol(), RDKit::ROMol::getRingInfo(), and RDKit::RingInfo::numAtomRings().

static int RDKit::queryIsBondInNRings | ( | Bond const * | at | ) | `[static]`

Definition at line 84 of file QueryOps.h.

References RDKit::Bond::getIdx(), RDKit::Bond::getOwningMol(), RDKit::ROMol::getRingInfo(), and RDKit::RingInfo::numBondRings().

static int RDKit::queryIsBondInRing | ( | Bond const * | bond | ) | `[static]`

Definition at line 97 of file QueryOps.h.

References RDKit::Bond::getIdx(), RDKit::Bond::getOwningMol(), RDKit::ROMol::getRingInfo(), and RDKit::RingInfo::numBondRings().

ExplicitBitVect* RDKit::RDKFingerprintMol | ( | const ROMol & | mol,
|  | unsigned int | minPath = `1`,
|  | unsigned int | maxPath = `7`,
|  | unsigned int | fpSize = `2048`,
|  | unsigned int | nBitsPerHash = `4`,
|  | bool | useHs = `true`,
|  | double | tgtDensity = `0.0`,
|  | unsigned int | minSize = `128` |
| ) |  |  |

Generates a topological (Daylight like) fingerprint for a molecule using an alternate (faster) hashing algorithm.

Parameters:

  | mol,: | the molecule to be fingerprinted
  | minPath,: | the minimum path length (in bonds) to be included
  | maxPath,: | the minimum path length (in bonds) to be included
  | fpSize,: | the size of the fingerprint
  | nBitsPerHash,: | the number of bits to be set by each path
  | useHs,: | toggles inclusion of Hs in distinguishing paths from each other.
  | tgtDensity,: | if the generated fingerprint is below this density, it will be folded until the density is reached.
  | minSize,: | the minimum size to which the fingerprint will be folded

Returns:
  the molecular fingerprint, as an ExplicitBitVect

Notes:

- the caller is responsible for `delete`ing the result

MOL_SPTR_VECT RDKit::readFuncGroups | ( | std::istream & | inStream,
|  | int | nToRead = `-1` |
| ) |  |  |

MOL_SPTR_VECT RDKit::readFuncGroups | ( | std::string | fileName | ) |

boost::uint32_t RDKit::readPackedIntFromStream | ( | std::stringstream & | ss | ) | `[inline]`

Reads an integer from a stream in packed format and returns the result.

Definition at line 64 of file StreamOps.h.

void RDKit::removeDuplicates | ( | std::vector< MatchVectType > & | v | ) |

ROMol* RDKit::replaceCore | ( | const ROMol & | mol,
|  | const ROMol & | coreQuery,
|  | bool | replaceDummies = `true` |
| ) |  |  |

Returns a copy of an ROMol with the atoms and bonds that do fall within a substructure match removed.

dummy atoms are left to indicate attachment points.

Note that this is essentially identical to the replaceSidechains function, except we invert the query and replace the atoms that *do* match the query.

Parameters:

  | mol | - the ROMol of interest
  | coreQuery | - a query ROMol to be used to match the core
  | replaceDummies | - if set, atoms matching dummies in the core will also be replaced

Returns:
  a copy of `mol` with the non-matching atoms and bonds (if any) removed and dummies at the connection points. The client is responsible for deleting this molecule

ROMol* RDKit::replaceSidechains | ( | const ROMol & | mol,
|  | const ROMol & | coreQuery |
| ) |  |  |

Returns a copy of an ROMol with the atoms and bonds that don't fall within a substructure match removed.

dummy atoms are left to indicate attachment points.

Parameters:

  | mol | the ROMol of interest
  | coreQuery | a query ROMol to be used to match the core

Returns:
  a copy of `mol` with the non-matching atoms and bonds (if any) removed and dummies at the connection points.

std::vector<ROMOL_SPTR> RDKit::replaceSubstructs | ( | const ROMol & | mol,
|  | const ROMol & | query,
|  | const ROMol & | replacement,
|  | bool | replaceAll = `false` |
| ) |  |  |

Returns a list of copies of an ROMol with the atoms and bonds that match a pattern replaced with the atoms contained in another molecule.

Bonds are created between the joining atom in the existing molecule and the atoms in the new molecule. So, using SMILES instead of molecules: replaceSubstructs('OC(=O)NCCNC(=O)O','C(=O)O','[X]') -> ['[X]NCCNC(=O)O','OC(=O)NCCN[X]'] replaceSubstructs('OC(=O)NCCNC(=O)O','C(=O)O','[X]',true) -> ['[X]NCCN[X]'] Chains should be handled "correctly": replaceSubstructs('CC(=O)C','C(=O)','[X]') -> ['C[X]C'] As should rings: replaceSubstructs('C1C(=O)C1','C(=O)','[X]') -> ['C1[X]C1'] And higher order branches: replaceSubstructs('CC(=O)(C)C','C(=O)','[X]') -> ['C[X](C)C'] Note that the client is responsible for making sure that the resulting molecule actually makes sense - this function does not perform sanitization.

Parameters:

  | mol | the ROMol of interest
  | query | the query ROMol
  | replacement | the ROMol to be inserted
  | replaceAll | if this is true, only a single result, with all occurances of the substructure replaced, will be returned.

Returns:
  a vector of pointers to copies of `mol` with the matching atoms and bonds (if any) replaced

double RDKit::round | ( | double | v | ) |

rounds a value to the closest int

Referenced by queryAtomMass().

ChemicalReaction* RDKit::RxnBlockToChemicalReaction | ( | const std::string & | rxnBlock | ) |

Parse a text block in MDL rxn format into a ChemicalReaction.

ChemicalReaction* RDKit::RxnDataStreamToChemicalReaction | ( | std::istream & | rxnStream,
|  | unsigned int & | line |
| ) |  |  |

Parse a text stream in MDL rxn format into a ChemicalReaction.

ChemicalReaction* RDKit::RxnFileToChemicalReaction | ( | const std::string & | fileName | ) |

Parse a file in MDL rxn format into a ChemicalReaction.

ChemicalReaction* RDKit::RxnSmartsToChemicalReaction | ( | const std::string & | text | ) |

Parse a string containing "Reaction SMARTS" into a ChemicalReaction.

Our definition of Reaction SMARTS is something that looks a lot like reaction SMILES, except that SMARTS queries are allowed on the reactant side and that atom-map numbers are required (at least for now)

RWMol* RDKit::SmartsToMol | ( | std::string | sma,
|  | int | debugParse = `0`,
|  | bool | mergeHs = `false` |
| ) |  |  |

RWMol* RDKit::SmilesToMol | ( | std::string | smi,
|  | int | debugParse = `0`,
|  | bool | sanitize = `1` |
| ) |  |  |

template<typename T>

void RDKit::streamRead | ( | std::istream & | ss,
|  | T & | loc |
| ) |  |  | `[inline]`

does a binary read of an object from a stream

Definition at line 156 of file StreamOps.h.

Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::initFromStream().

template<typename T>

void RDKit::streamWrite | ( | std::ostream & | ss,
|  | const T & | val |
| ) |  |  | `[inline]`

does a binary write of an object to a stream

Definition at line 151 of file StreamOps.h.

Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::toStream(), and RDKit::SparseIntVect< IndexType >::toString().

std::string RDKit::strip | ( | const std::string & | orig | ) |

bool RDKit::substructHeadVisitor | ( | int | n,
|  | node_id | ni1[],
|  | node_id | ni2[],
|  | void * | mvp |
| ) |  |  |

unsigned int RDKit::SubstructMatch | ( | AR_MOLGRAPH * | molG,
|  | const ROMol & | query,
|  | std::vector< MatchVectType > & | matchVect,
|  | bool | uniquify = `true`,
|  | bool | recursionPossible = `true`,
|  | bool | useChirality = `false`,
|  | bool | registerQuery = `false` |
| ) |  |  |

unsigned int RDKit::SubstructMatch | ( | const ROMol & | mol,
|  | const ROMol & | query,
|  | std::vector< MatchVectType > & | matchVect,
|  | bool | uniquify = `true`,
|  | bool | recursionPossible = `true`,
|  | bool | useChirality = `false`,
|  | bool | registerQuery = `false` |
| ) |  |  |

Find all substructure matches for a query in a molecule.

Parameters:

  | mol | The ROMol to be searched
  | query | The query ROMol
  | matchVect | Used to return the matches (pre-existing contents will be deleted)
  | uniquify | Toggles uniquification (by atom index) of the results
  | recursionPossible | flags whether or not recursive matches are allowed
  | useChirality | use atomic CIP codes as part of the comparison
  | registerQuery | cache the query (uses more memory but speeds up searches)

Returns:
  the number of matches found

bool RDKit::SubstructMatch | ( | AR_MOLGRAPH * | molG,
|  | const ROMol & | query,
|  | MatchVectType & | matchVect,
|  | bool | recursionPossible = `true`,
|  | bool | useChirality = `false`,
|  | bool | registerQuery = `false` |
| ) |  |  |

bool RDKit::SubstructMatch | ( | const ROMol & | mol,
|  | const ROMol & | query,
|  | MatchVectType & | matchVect,
|  | bool | recursionPossible = `true`,
|  | bool | useChirality = `false`,
|  | bool | registerQuery = `false` |
| ) |  |  |

Find a substructure match for a query in a molecule.

Parameters:

  | mol | The ROMol to be searched
  | query | The query ROMol
  | matchVect | Used to return the match (pre-existing contents will be deleted)
  | recursionPossible | flags whether or not recursive matches are allowed
  | useChirality | use atomic CIP codes as part of the comparison
  | registerQuery | cache the query (uses more memory but speeds up searches)

Returns:
  whether or not a match was found

bool RDKit::substructVisitor | ( | int | n,
|  | node_id | ni1[],
|  | node_id | ni2[],
|  | void * | mvp |
| ) |  |  |

double RDKit::toPrime | ( | const MatchVectType & | v | ) |

RWMol* RDKit::TPLDataStreamToMol | ( | std::istream * | inStream,
|  | unsigned int & | line,
|  | bool | sanitize = `true`,
|  | bool | skipFirstConf = `false` |
| ) |  |  |

translate TPL data (BioCad format) into a multi-conf molecule

Parameters:

  | inStream,: | the stream from which to read
  | line,: | used to track the line number of errors
  | sanitize,: | toggles sanitization of the molecule
  | skipFirstConf,: | according to the TPL format description, the atomic coords in the atom-information block describe the first conformation and the first conf block describes second conformation. The CombiCode, on the other hand, writes the first conformation data both to the atom-information block and to the first conf block. We want to be able to read CombiCode-style tpls, so we'll allow this mis-feature to be parsed when this flag is set.

RWMol* RDKit::TPLFileToMol | ( | std::string | fName,
|  | bool | sanitize = `true`,
|  | bool | skipFirstConf = `false` |
| ) |  |  |

construct a multi-conf molecule from a TPL (BioCad format) file

Parameters:

  | fName,: | the name of the file from which to read
  | sanitize,: | toggles sanitization of the molecule
  | skipFirstConf,: | according to the TPL format description, the atomic coords in the atom-information block describe the first conformation and the first conf block describes second conformation. The CombiCode, on the other hand, writes the first conformation data both to the atom-information block and to the first conf block. We want to be able to read CombiCode-style tpls, so we'll allow this mis-feature to be parsed when this flag is set.

void RDKit::Union | ( | const VECT_INT_VECT & | rings,
|  | INT_VECT & | res,
|  | const INT_VECT * | exclude = `NULL` |
| ) |  |  |

calculating the union of the INT_VECT's in a VECT_INT_VECT

Parameters:

  | rings | the INT_VECT's to consider
  | res | used to return results
  | exclude | any values in this optional INT_VECT will be excluded from the union.

void RDKit::Union | ( | const INT_VECT & | r1,
|  | const INT_VECT & | r2,
|  | INT_VECT & | res |
| ) |  |  |

calculate the union of two INT_VECTs and put the results in a third vector

template<typename IndexType, typename SequenceType>

void RDKit::updateFromSequence | ( | SparseIntVect< IndexType > & | vect,
|  | const SequenceType & | seq |
| ) |  |  | `[inline]`

Definition at line 331 of file SparseIntVect.h.

References RDKit::SparseIntVect< IndexType >::getVal(), and RDKit::SparseIntVect< IndexType >::setVal().

void RDKit::WedgeMolBonds | ( | ROMol & | mol,
|  | const Conformer * | conf |
| ) |  |  |

## Variable Documentation

const unsigned int RDKit::BITS_PER_INT = 32

Definition at line 16 of file DiscreteValueVect.h.

Referenced by RDKit::DiscreteValueVect::DiscreteValueVect().

const int RDKit::ci_ATOM_HOLDER

const int RDKit::ci_LEADING_BOND

const int RDKit::ci_RIGHTMOST_ATOM

const double RDKit::DAMP = 0.5

Definition at line 21 of file GasteigerParams.h.

const double RDKit::DAMP_SCALE = 0.5

Definition at line 20 of file GasteigerParams.h.

int RDKit::defaultConfId = -1`[static]`

Definition at line 18 of file MolWriters.h.

const double RDKit::EPS_DOUBLE = std::numeric_limits<double>::epsilon()

Definition at line 50 of file types.h.

const int RDKit::FILE_MAXLINE = 256

an assumed maximum length for lines read from files

Definition at line 19 of file utils.h.

int RDKit::firstThousandPrimes

Definition at line 17 of file utils.h.

const double RDKit::IONXH = 20.02

Definition at line 18 of file GasteigerParams.h.

int RDKit::massIntegerConversionFactor = 1000`[static]`

Definition at line 67 of file QueryOps.h.

Referenced by queryAtomMass().

const double RDKit::MAX_DOUBLE = std::numeric_limits<double>::max()

Definition at line 49 of file types.h.

Referenced by RDPickers::MaxMinPicker::lazyPick().

const double RDKit::MAX_INT = static_cast<double>(std::numeric_limits<int>::max())

Definition at line 52 of file types.h.

const double RDKit::MAX_LONGINT = static_cast<double>(std::numeric_limits<LONGINT>::max())

Definition at line 53 of file types.h.

const int RDKit::MOLFILE_MAXLINE = 256

Definition at line 20 of file FileParsers.h.

const int RDKit::NUM_PRIMES_AVAIL = 1000

the number of primes available and stored

Definition at line 10 of file primes.h.

std::string RDKit::paramData

const std::string RDKit::periodicTableAtomData

const double RDKit::PI = 3.1415926535897931

Definition at line 54 of file types.h.

Referenced by RDDepict::computeSubAngle(), and RDDepict::rotationDir().

const double RDKit::SMALL_DOUBLE = 1.0e-8

Definition at line 51 of file types.h.