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...
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...
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  SLNParseException
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  MorganFingerprints
namespace  SLNParse
namespace  SmartsWrite
namespace  SmilesWrite
namespace  Subgraphs
namespace  UFF

Typedefs

typedef boost::shared_ptr< AtomATOM_SPTR
typedef boost::shared_ptr< ROMolROMOL_SPTR
typedef boost::shared_ptr
< Conformer
CONFORMER_SPTR
typedef std::vector< RWMOL_SPTRRWMOL_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< FeatSPtrFeatSPtrList
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::shared_ptr< BondBOND_SPTR
typedef boost::adjacency_list
< boost::vecS, boost::vecS,
boost::undirectedS, ATOM_SPTR,
BOND_SPTR
MolGraph
 This is the BGL type used to store the topology:.
typedef std::vector< ROMolMOL_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< RWMolRWMOL_SPTR
typedef std::vector< int > PATH_TYPE
typedef std::list< PATH_TYPEPATH_LIST
typedef PATH_LIST::const_iterator PATH_LIST_CI
typedef std::map< int, PATH_LISTINT_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 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_VECTLIST_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_VECTVECT_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< UINTUINT_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_VECTVECT_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_VECTINT_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_DEQUEINT_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

Enumerations

enum  Mol2Type { CORINA = 0 }

Functions

ChemicalReactionRxnBlockToChemicalReaction (const std::string &rxnBlock)
 Parse a text block in MDL rxn format into a ChemicalReaction.
ChemicalReactionRxnFileToChemicalReaction (const std::string &fileName)
 Parse a file in MDL rxn format into a ChemicalReaction.
ChemicalReactionRxnDataStreamToChemicalReaction (std::istream &rxnStream, unsigned int &line)
 Parse a text stream in MDL rxn format into a ChemicalReaction.
ChemicalReactionRxnSmartsToChemicalReaction (const std::string &text)
 Parse a string containing "Reaction SMARTS" into a ChemicalReaction.
ROMoldeleteSubstructs (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_SPTRreplaceSubstructs (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.
ROMolreplaceSidechains (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.
ROMolreplaceCore (const ROMol &mol, const ROMol &coreQuery, bool replaceDummies=true, bool labelByIndex=false)
 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)
RWMolMolDataStreamToMol (std::istream *inStream, unsigned int &line, bool sanitize=true, bool removeHs=true)
RWMolMolDataStreamToMol (std::istream &inStream, unsigned int &line, bool sanitize=true, bool removeHs=true)
RWMolMolBlockToMol (const std::string &molBlock, bool sanitize=true, bool removeHs=true)
RWMolMolFileToMol (std::string fName, bool sanitize=true, bool removeHs=true)
std::string MolToMolBlock (const ROMol &mol, bool includeStereo=true, int confId=-1, bool kekulize=true)
void MolToMolFile (const ROMol &mol, std::string fName, bool includeStereo=true, int confId=-1, bool kekulize=true)
RWMolTPLDataStreamToMol (std::istream *inStream, unsigned int &line, bool sanitize=true, bool skipFirstConf=false)
 translate TPL data (BioCad format) into a multi-conf molecule
RWMolTPLFileToMol (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)
RWMolMol2FileToMol (std::string fName, bool sanitize=true, bool removeHs=true, Mol2Type variant=CORINA)
RWMolMol2DataStreamToMol (std::istream *inStream, bool sanitize=true, bool removeHs=true, Mol2Type variant=CORINA)
RWMolMol2DataStreamToMol (std::istream &inStream, bool sanitize=true, bool removeHs=true, Mol2Type variant=CORINA)
RWMolMol2BlockToMol (const std::string &molBlock, bool sanitize=true, bool removeHs=true, Mol2Type variant=CORINA)
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)
ExplicitBitVectDaylightFingerprintMol (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.
ExplicitBitVectRDKFingerprintMol (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)
ExplicitBitVectLayeredFingerprintMol (const ROMol &mol, unsigned int layerFlags=0xFFFFFFFF, unsigned int minPath=1, unsigned int maxPath=7, unsigned int fpSize=2048, double tgtDensity=0.0, unsigned int minSize=128)
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)
ROMolprepareMol (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)
MolChemicalFeatureFactorybuildFeatureFactory (std::istream &inStream)
 constructs a MolChemicalFeatureFactory from the data in a stream
MolChemicalFeatureFactorybuildFeatureFactory (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 queryAtomExplicitValence (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_QUERYmakeAtomNumEqualsQuery (int what)
 returns a Query for matching atomic number
ATOM_EQUALS_QUERYmakeAtomImplicitValenceQuery (int what)
 returns a Query for matching implicit valence
ATOM_EQUALS_QUERYmakeAtomExplicitValenceQuery (int what)
 returns a Query for matching explicit valence
ATOM_EQUALS_QUERYmakeAtomTotalValenceQuery (int what)
 returns a Query for matching total valence
ATOM_EQUALS_QUERYmakeAtomExplicitDegreeQuery (int what)
 returns a Query for matching explicit valence
ATOM_EQUALS_QUERYmakeAtomTotalDegreeQuery (int what)
 returns a Query for matching atomic degree
ATOM_EQUALS_QUERYmakeAtomHCountQuery (int what)
 returns a Query for matching hydrogen count
ATOM_EQUALS_QUERYmakeAtomAromaticQuery ()
 returns a Query for matching the isAromatic flag
ATOM_EQUALS_QUERYmakeAtomAliphaticQuery ()
 returns a Query for matching aliphatic atoms
ATOM_EQUALS_QUERYmakeAtomMassQuery (int what)
 returns a Query for matching atoms with a particular mass (for isotopes)
ATOM_EQUALS_QUERYmakeAtomFormalChargeQuery (int what)
 returns a Query for matching formal charge
ATOM_EQUALS_QUERYmakeAtomHybridizationQuery (int what)
 returns a Query for matching hybridization
ATOM_EQUALS_QUERYmakeAtomUnsaturatedQuery ()
 returns a Query for matching atoms with unsaturation:
ATOM_EQUALS_QUERYmakeAtomInRingQuery ()
 returns a Query for matching ring atoms
ATOM_EQUALS_QUERYmakeAtomInNRingsQuery (int what)
 returns a Query for matching atoms in a particular number of rings
ATOM_EQUALS_QUERYmakeAtomInRingOfSizeQuery (int tgt)
 returns a Query for matching atoms in rings of a particular size
ATOM_EQUALS_QUERYmakeAtomMinRingSizeQuery (int tgt)
 returns a Query for matching an atom's minimum ring size
ATOM_EQUALS_QUERYmakeAtomRingBondCountQuery (int what)
 returns a Query for matching atoms with a particular number of ring bonds
BOND_EQUALS_QUERYmakeBondOrderEqualsQuery (Bond::BondType what)
 returns a Query for matching bond orders
BOND_EQUALS_QUERYmakeBondDirEqualsQuery (Bond::BondDir what)
 returns a Query for matching bond directions
BOND_EQUALS_QUERYmakeBondIsInRingQuery ()
 returns a Query for matching ring bonds
BOND_EQUALS_QUERYmakeBondInRingOfSizeQuery (int what)
 returns a Query for matching bonds in rings of a particular size
BOND_EQUALS_QUERYmakeBondMinRingSizeQuery (int what)
 returns a Query for matching a bond's minimum ring size
BOND_EQUALS_QUERYmakeBondInNRingsQuery (int tgt)
 returns a Query for matching bonds in a particular number of rings
BOND_NULL_QUERYmakeBondNullQuery ()
 returns a Query for matching any bond
ATOM_NULL_QUERYmakeAtomNullQuery ()
 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)
RWMolSLNToMol (std::string smi, bool sanitize=true, int debugParse=0)
RWMolSLNQueryToMol (std::string smi, bool mergeHs=true, int debugParse=0)
std::string MolToSmarts (ROMol &mol, bool doIsomericSmarts=false)
 returns the SMARTS for a molecule
RWMolSmilesToMol (std::string smi, int debugParse=0, bool sanitize=1)
RWMolSmartsToMol (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
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.
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.
double toPrime (const MatchVectType &v)
void removeDuplicates (std::vector< MatchVectType > &v)
bool atomCompat (const ATOM_SPTR a1, const ATOM_SPTR a2)
bool chiralAtomCompat (const ATOM_SPTR a1, const ATOM_SPTR a2)
bool bondCompat (const BOND_SPTR b1, const BOND_SPTR b2)
DiscreteDistMatgetDiscreteDistMat ()
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_typegetRandomGenerator (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
const std::string DaylightFingerprintMolVersion = "2.0.0-deprecated"
const std::string RDKFingerprintMolVersion = "1.0.0"
 Generates a topological (Daylight like) fingerprint for a molecule using an alternate (faster) hashing algorithm.
const std::string LayeredFingerprintMolVersion = "0.2.0"
 Generates a topological (Daylight like) fingerprint for a molecule using an alternate (faster) hashing algorithm.
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 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.

Definition at line 30 of file QueryOps.h.

Definition at line 33 of file QueryOps.h.

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.

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.

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 20 of file Bond.h.

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

Definition at line 27 of file QueryOps.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.

Definition at line 31 of file QueryOps.h.

Definition at line 34 of file QueryOps.h.

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.

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.

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 33 of file ROMol.h.

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

Definition at line 28 of file QueryOps.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 204 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.

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 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 690 of file ROMol.h.

typedef MOL_PTR_VECT::const_iterator RDKit::MOL_PTR_VECT_CI

Definition at line 693 of file ROMol.h.

typedef MOL_PTR_VECT::iterator RDKit::MOL_PTR_VECT_I

Definition at line 694 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 688 of file ROMol.h.

a hierarchical catalog for holding molecules

Definition at line 15 of file MolCatalog.h.

typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS, ATOM_SPTR, BOND_SPTR> RDKit::MolGraph

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

Definition at line 40 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.


Enumeration Type Documentation

Enumerator:
CORINA 

Definition at line 135 of file FileParsers.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 ( const ATOM_SPTR  a1,
const ATOM_SPTR  a2 
)

bool RDKit::bondCompat ( const BOND_SPTR  b1,
const BOND_SPTR  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 ( const ATOM_SPTR  a1,
const ATOM_SPTR  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,
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.

Deprecated:
NOTE: This function is deprecated. Please use RDKFingerprintMol() instead.
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 deleteing 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]

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().

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

ExplicitBitVect* RDKit::LayeredFingerprintMol ( const ROMol &  mol,
unsigned int  layerFlags = 0xFFFFFFFF,
unsigned int  minPath = 1,
unsigned int  maxPath = 7,
unsigned int  fpSize = 2048,
double  tgtDensity = 0.0,
unsigned int  minSize = 128 
)

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::makeAtomExplicitValenceQuery ( 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::Mol2BlockToMol ( const std::string &  molBlock,
bool  sanitize = true,
bool  removeHs = true,
Mol2Type  variant = CORINA 
)

Parameters:
molBlock - string containing the mol block
sanitize - toggles sanitization of the molecule
removeHs - toggles removal of Hs from the molecule. H removal is only done if the molecule is sanitized
variant - the atom type definitions to use

RWMol* RDKit::Mol2DataStreamToMol ( std::istream &  inStream,
bool  sanitize = true,
bool  removeHs = true,
Mol2Type  variant = CORINA 
)

RWMol* RDKit::Mol2DataStreamToMol ( std::istream *  inStream,
bool  sanitize = true,
bool  removeHs = true,
Mol2Type  variant = CORINA 
)

Parameters:
inStream - stream containing the data
sanitize - toggles sanitization of the molecule
removeHs - toggles removal of Hs from the molecule. H removal is only done if the molecule is sanitized
variant - the atom type definitions to use

RWMol* RDKit::Mol2FileToMol ( std::string  fName,
bool  sanitize = true,
bool  removeHs = true,
Mol2Type  variant = CORINA 
)

Parameters:
fName - string containing the file name
sanitize - toggles sanitization of the molecule
removeHs - toggles removal of Hs from the molecule. H removal is only done if the molecule is sanitized
variant - the atom type definitions to use

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,
bool  kekulize = true 
)

Parameters:
mol - the molecule in question
includeStereo - toggles inclusion of stereochemistry information
confId - selects the conformer to be used
kekulize - triggers kekulization of the molecule before it is written

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

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
kekulize - triggers kekulization of the molecule before it is written

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 
)

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 ( arg  )  [inline]

Definition at line 298 of file QueryOps.h.

template<typename T>
bool RDKit::nullQueryFun ( arg  )  [inline]

Definition at line 300 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::queryAtomExplicitValence ( Atom const *  at  )  [static]

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

Definition at line 72 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 75 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]

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

Definition at line 69 of file QueryOps.h.

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

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

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

Definition at line 67 of file QueryOps.h.

References RDKit::Atom::getAtomicNum().

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

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

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]

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

Definition at line 66 of file QueryOps.h.

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

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

Definition at line 84 of file QueryOps.h.

References RDKit::Bond::getBondDir().

template<int tgt>
int RDKit::queryBondIsInRingOfSize ( Bond const *  bond  )  [inline]

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

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

Definition at line 83 of file QueryOps.h.

References RDKit::Bond::getBondType().

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

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

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

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

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 
)

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,
bool  labelByIndex = false 
)

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
labelByIndex - if set, the dummy atoms at attachment points are labelled with the index+1 of the corresponding atom in the core
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::SLNQueryToMol ( std::string  smi,
bool  mergeHs = true,
int  debugParse = 0 
)

RWMol* RDKit::SLNToMol ( std::string  smi,
bool  sanitize = true,
int  debugParse = 0 
)

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  ) 

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 ( 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

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 and stereochemistry perception 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 and stereochemistry perception 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]

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 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.

const std::string RDKit::DaylightFingerprintMolVersion = "2.0.0-deprecated"

Definition at line 11 of file Fingerprints.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.

Definition at line 17 of file utils.h.

const double RDKit::IONXH = 20.02

Definition at line 18 of file GasteigerParams.h.

const std::string RDKit::LayeredFingerprintMolVersion = "0.2.0"

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

Experimental: This function is experimental. The API or results may change from release to release.

Parameters:
mol,: the molecule to be fingerprinted
layers,: the layers to be included (see below)
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
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 deleteing the result

Layer definitions:

  • 0x01: pure topology
  • 0x02: bond order
  • 0x04: atom types
  • 0x08: presence of rings
  • 0x10: ring sizes

Definition at line 100 of file Fingerprints.h.

Definition at line 68 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 std::string RDKit::RDKFingerprintMolVersion = "1.0.0"

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 deleteing the result

Definition at line 64 of file Fingerprints.h.

const double RDKit::SMALL_DOUBLE = 1.0e-8

Definition at line 51 of file types.h.


Generated on Fri Apr 3 06:03:03 2009 for RDCode by  doxygen 1.5.6