RDKit
Open-source cheminformatics and machine learning.
RDKit Namespace Reference

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

Namespaces

 AtomPairs
 
 Canon
 
 common_properties
 
 constants
 
 Descriptors
 
 detail
 
 DGeomHelpers
 
 Drawing
 
 EnumerationStrategyPickler
 
 EnumerationTypes
 
 FileParserUtils
 
 FilterMatchOps
 
 FMCS
 
 Local
 
 MACCSFingerprints
 
 MMFF
 
 MMPA
 
 MolAlign
 
 MolDraw2D_detail
 
 MolDraw2DUtils
 
 MolFragmenter
 
 MolHash
 
 MolOps
 Groups a variety of molecular query and transformation operations.
 
 MolShapes
 
 MorganFingerprints
 
 RDTypeTag
 
 ReactionRunnerUtils
 
 ReducedGraphs
 
 RxnOps
 
 SLNParse
 
 SmartsWrite
 
 SmilesWrite
 
 StructureCheck
 
 Subgraphs
 
 UFF
 
 Utils
 

Classes

class  AromaticAtomIterator_
 Iterate over aromatic atoms, this is bidirectional. More...
 
class  Atom
 The class for representing atoms. More...
 
class  atomicData
 
class  AtomIterator_
 A general random access iterator. More...
 
class  AtomMonomerInfo
 The abstract base class for atom-level monomer info. More...
 
class  AtomPDBResidueInfo
 Captures atom-level information about peptide residues. More...
 
class  AtomRingQuery
 
class  BadFileException
 used by various file parsing classes to indicate a bad file 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  CartesianProductStrategy
 This is a class for enumerating reagents using Cartesian Products of. More...
 
struct  charptr_functor
 functor for comparing two strings More...
 
class  ChemicalReaction
 This is a class for storing and applying general chemical reactions. More...
 
class  ChemicalReactionException
 used to indicate an error in the chemical reaction engine More...
 
class  ChemicalReactionParserException
 used to indicate an error in parsing reaction data More...
 
class  Conformer
 The class for representing 2D or 3D conformation of a molecule. More...
 
class  ConformerException
 used to indicate errors from incorrect confomer access More...
 
class  ConstBondIterator_
 const iterator for a molecule's bonds, currently BiDirectional, but it theoretically ought to be RandomAccess. More...
 
class  Dict
 The Dict class can be used to store objects of arbitrary type keyed by strings. More...
 
class  DiscreteDistMat
 
class  DiscreteValueVect
 a class for efficiently storing vectors of discrete values More...
 
class  EnumerateLibrary
 This is a class for running reactions on sets of reagents. More...
 
class  EnumerateLibraryBase
 Base class for enumerating chemical reactions from collections of. More...
 
struct  EnumerationParams
 This is a class for providing enumeration options that control. More...
 
class  EnumerationStrategyBase
 
class  EnumerationStrategyException
 class for flagging enumeration strategy errors More...
 
class  EvenSamplePairsStrategy
 EvenSamplePairsStrategy. More...
 
class  ExclusionList
 
class  FeatureFileParseException
 class used to indicate errors in parsing feature definition files. More...
 
class  FileParseException
 used by various file parsing classes to indicate a parse error More...
 
class  FilterCatalog
 
class  FilterCatalogEntry
 
class  FilterCatalogParams
 
struct  FilterData_t
 
class  FilterHierarchyMatcher
 
struct  FilterMatch
 Holds the atomPairs matched by the underlying matcher. More...
 
class  FilterMatcherBase
 
struct  FilterProperty_t
 
class  ForwardSDMolSupplier
 
class  FPBReader
 class for reading and searching FPB files More...
 
class  FragCatalogEntry
 
class  FragCatGenerator
 
class  FragCatParams
 container for user parameters used to create a fragment catalog More...
 
class  FragFPGenerator
 
class  GasteigerParams
 
class  HasPropQuery
 
class  HasPropWithValueQuery
 
class  HasPropWithValueQuery< TargetPtr, std::string >
 
class  HeteroatomIterator_
 Iterate over heteroatoms, this is bidirectional. More...
 
struct  larger_of
 functor for returning the larger of two values More...
 
struct  ltDouble
 functor to compare two doubles with a tolerance More...
 
class  MatchingAtomIterator_
 Iterate over atoms matching a query function. This is bidirectional. More...
 
struct  MCSAtomCompareParameters
 
struct  MCSBondCompareParameters
 
struct  MCSParameters
 
struct  MCSProgressData
 
struct  MCSResult
 
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  MolChemicalFeature
 
class  MolChemicalFeatureDef
 
class  MolChemicalFeatureFactory
 The class for finding chemical features in molecules. More...
 
class  MolDraw2D
 
class  MolDraw2DCairo
 
class  MolDraw2DQt
 
class  MolDraw2DSVG
 
class  MolDraw2Dwx
 
struct  MolDrawOptions
 
class  MolPickler
 handles pickling (serializing) molecules More...
 
class  MolPicklerException
 used to indicate exceptions whilst pickling (serializing) molecules More...
 
class  MolSanitizeException
 class for flagging sanitization errors More...
 
class  MolSupplier
 
class  MolWriter
 
class  MultiFPBReader
 class for reading and searching multiple FPB files More...
 
class  MultiMolDraw2D
 
class  PDBMolSupplier
 lazy file parser for PDB files More...
 
class  PDBWriter
 
class  PeriodicTable
 singleton class for retrieving information about atoms More...
 
class  QueryAtom
 Class for storing atomic queries. More...
 
class  QueryAtomIterator_
 Iterate over atoms matching a query. This is bidirectional. More...
 
class  QueryBond
 Class for storing Bond queries. More...
 
class  RandomSampleAllBBsStrategy
 This is a class for randomly enumerating reagents that ensures all reagents. More...
 
class  RandomSampleStrategy
 This is a class for fully randomly sampling reagents. More...
 
struct  RDAny
 
class  RDProps
 
struct  RDValue
 
struct  ReactionFingerprintParams
 
class  ReactionPickler
 handles pickling (serializing) reactions More...
 
class  ReactionPicklerException
 used to indicate exceptions whilst pickling (serializing) reactions More...
 
class  RecursiveStructureQuery
 allows use of recursive structure queries (e.g. recursive SMARTS) More...
 
class  ResonanceMolSupplier
 
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  RxnSanitizeException
 class for flagging sanitization errors More...
 
class  SDMolSupplier
 
class  SDWriter
 
class  SLNParseException
 
class  SmartsMatcher
 
class  SmilesMolSupplier
 lazy file parser for Smiles tables More...
 
class  SmilesParseException
 
class  SmilesWriter
 
class  Snapshot
 
class  SparseIntVect
 a class for efficiently storing sparse vectors of ints More...
 
class  TDTMolSupplier
 lazy file parser for TDT files More...
 
class  TDTWriter
 
class  Trajectory
 

Typedefs

typedef boost::shared_ptr< AtomATOM_SPTR
 
typedef boost::shared_ptr< ROMolROMOL_SPTR
 
typedef boost::shared_ptr< ConformerCONFORMER_SPTR
 
typedef boost::uint16_t atomindex_t
 
typedef std::vector< RWMOL_SPTRRWMOL_SPTR_VECT
 
typedef RDCatalog::Catalog< FilterCatalogEntry, FilterCatalogParamsFCatalog
 
typedef std::map< std::string, std::string > STRING_PROPS
 
typedef bool(* MCSFinalMatchCheckFunction) (const short unsigned c1[], const short unsigned c2[], const ROMol &mol1, const FMCS::Graph &query, const ROMol &mol2, const FMCS::Graph &target, const MCSParameters *p)
 
typedef bool(* MCSAtomCompareFunction) (const MCSAtomCompareParameters &p, const ROMol &mol1, unsigned int atom1, const ROMol &mol2, unsigned int atom2, void *userData)
 
typedef bool(* MCSBondCompareFunction) (const MCSBondCompareParameters &p, const ROMol &mol1, unsigned int bond1, const ROMol &mol2, unsigned int bond2, void *userData)
 
typedef bool(* MCSProgressCallback) (const MCSProgressData &stat, const MCSParameters &params, void *userData)
 
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) More...
 
typedef RDCatalog::HierarchCatalog< MolCatalogEntry, MolCatalogParams, int > MolCatalog
 a hierarchical catalog for holding molecules More...
 
typedef boost::shared_ptr< MolChemicalFeatureFeatSPtr
 
typedef std::list< FeatSPtrFeatSPtrList
 
typedef FeatSPtrList::iterator FeatSPtrList_I
 
typedef boost::tuple< float, float, float > DrawColour
 
typedef std::vector< unsigned int > DashPattern
 
typedef std::vector< double > INVAR_VECT
 
typedef INVAR_VECT::iterator INVAR_VECT_I
 
typedef INVAR_VECT::const_iterator INVAR_VECT_CI
 
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 Bond const * ConstBondPtr
 
typedef Queries::EqualityQuery< int, Atom const *, true > ATOM_PROP_QUERY
 
typedef Queries::EqualityQuery< int, Bond const *, true > BOND_PROP_QUERY
 
typedef std::map< unsigned int, BondElectrons * > ConjBondMap
 
typedef std::map< unsigned int, AtomElectrons * > ConjAtomMap
 
typedef std::vector< ConjElectrons * > CEVect
 
typedef std::vector< CEVect2 * > CEVect3
 
typedef std::vector< boost::uint8_t > ConjFP
 
typedef boost::unordered_map< std::size_t, ConjElectrons * > CEMap
 
typedef boost::shared_ptr< BondBOND_SPTR
 
typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS, ATOM_SPTR, BOND_SPTRMolGraph
 This is the BGL type used to store the topology: More...
 
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< SnapshotSnapshotVect
 
typedef std::vector< std::string > STR_VECT
 
typedef RDValue RDValue_cast_t
 
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, UINTSTR_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, ltDoubleDOUBLE_INT_MAP
 std::map from double to integer. More...
 
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_intint_source_type
 
typedef boost::variate_generator< rng_type &, uniform_doubledouble_source_type
 

Enumerations

enum  FingerprintType {
  AtomPairFP = 1, TopologicalTorsion, MorganFP, RDKitFP,
  PatternFP
}
 
enum  ReactionMoleculeType { Reactant, Product, Agent }
 
enum  Mol2Type { CORINA = 0 }
 
enum  AtomComparator { AtomCompareAny, AtomCompareElements, AtomCompareIsotopes }
 
enum  BondComparator { BondCompareAny, BondCompareOrder, BondCompareOrderExact }
 
enum  EEndian { LITTLE_ENDIAN_ORDER, BIG_ENDIAN_ORDER }
 

Functions

void setAtomRLabel (Atom *atm, int rlabel)
 Set the atom's MDL integer RLabel. More...
 
int getAtomRLabel (const Atom *atm)
 
void setAtomAlias (Atom *atom, const std::string &alias)
 Set the atom's MDL atom alias. More...
 
std::string getAtomAlias (const Atom *atom)
 
void setAtomValue (Atom *atom, const std::string &value)
 Set the atom's MDL atom value. More...
 
std::string getAtomValue (const Atom *atom)
 
void setSupplementalSmilesLabel (Atom *atom, const std::string &label)
 Sets the supplemental label that will follow the atom when writing. More...
 
std::string getSupplementalSmilesLabel (const Atom *atom)
 
EnumerationTypes::BBS removeNonmatchingReagents (const ChemicalReaction &rxn, EnumerationTypes::BBS bbs, const EnumerationParams &params=EnumerationParams())
 Helper function, remove reagents that are incompatible. More...
 
bool EnumerateLibraryCanSerialize ()
 
template<class T >
EnumerationTypes::RGROUPS getSizesFromBBs (const std::vector< std::vector< T > > &bbs)
 Return the number of elements per input vector. More...
 
EnumerationTypes::RGROUPS getSizesFromReactants (const std::vector< MOL_SPTR_VECT > &bbs)
 
MOL_SPTR_VECT getReactantsFromRGroups (const std::vector< MOL_SPTR_VECT > &bbs, const EnumerationTypes::RGROUPS &rgroups)
 
boost::uint64_t computeNumProducts (const EnumerationTypes::RGROUPS &sizes)
 
bool preprocessReaction (ChemicalReaction &rxn, const std::string &propName=common_properties::molFileValue)
 
bool preprocessReaction (ChemicalReaction &rxn, unsigned int &numWarnings, unsigned int &numErrors, std::vector< std::vector< std::pair< unsigned int, std::string > > > &reactantLabels, const std::string &propName=common_properties::molFileValue)
 
bool preprocessReaction (ChemicalReaction &rxn, const std::map< std::string, ROMOL_SPTR > &queries, const std::string &propName=common_properties::molFileValue)
 
bool preprocessReaction (ChemicalReaction &rxn, unsigned int &numWarnings, unsigned int &numErrors, std::vector< std::vector< std::pair< unsigned int, std::string > > > &reactantLabels, const std::map< std::string, ROMOL_SPTR > &queries, const std::string &propName=common_properties::molFileValue)
 
bool isMoleculeReactantOfReaction (const ChemicalReaction &rxn, const ROMol &mol, unsigned int &which)
 
bool isMoleculeReactantOfReaction (const ChemicalReaction &rxn, const ROMol &mol)
 
bool isMoleculeProductOfReaction (const ChemicalReaction &rxn, const ROMol &mol, unsigned int &which)
 
bool isMoleculeProductOfReaction (const ChemicalReaction &rxn, const ROMol &mol)
 
bool isMoleculeAgentOfReaction (const ChemicalReaction &rxn, const ROMol &mol, unsigned int &which)
 
bool isMoleculeAgentOfReaction (const ChemicalReaction &rxn, const ROMol &mol)
 
VECT_INT_VECT getReactingAtoms (const ChemicalReaction &rxn, bool mappedAtomsOnly=false)
 
void addRecursiveQueriesToReaction (ChemicalReaction &rxn, const std::map< std::string, ROMOL_SPTR > &queries, const std::string &propName, std::vector< std::vector< std::pair< unsigned int, std::string > > > *reactantLabels=NULL)
 add the recursive queries to the reactants of a reaction More...
 
const ReactionFingerprintParams DefaultStructuralFPParams (true, 0.2, 1, 1, 4096, PatternFP)
 
const ReactionFingerprintParams DefaultDifferenceFPParams (true, 0.0, 10, 1, 2048, AtomPairFP)
 
ExplicitBitVectStructuralFingerprintChemReaction (const ChemicalReaction &rxn, const ReactionFingerprintParams &params=DefaultStructuralFPParams)
 
SparseIntVect< boost::uint32_t > * DifferenceFingerprintChemReaction (const ChemicalReaction &rxn, const ReactionFingerprintParams &params=DefaultDifferenceFPParams)
 
ChemicalReactionRxnBlockToChemicalReaction (const std::string &rxnBlock)
 Parse a text block in MDL rxn format into a ChemicalReaction. More...
 
ChemicalReactionRxnFileToChemicalReaction (const std::string &fileName)
 Parse a file in MDL rxn format into a ChemicalReaction. More...
 
ChemicalReactionRxnDataStreamToChemicalReaction (std::istream &rxnStream, unsigned int &line)
 Parse a text stream in MDL rxn format into a ChemicalReaction. More...
 
ChemicalReactionRxnSmartsToChemicalReaction (const std::string &text, std::map< std::string, std::string > *replacements=0, bool useSmiles=false)
 Parse a string containing "Reaction SMARTS" into a ChemicalReaction. More...
 
ChemicalReactionRxnMolToChemicalReaction (const ROMol &mol)
 Parse a ROMol into a ChemicalReaction, RXN role must be set before. More...
 
std::string ChemicalReactionToRxnSmarts (const ChemicalReaction &rxn)
 returns the reaction SMARTS for a reaction More...
 
std::string ChemicalReactionToRxnSmiles (const ChemicalReaction &rxn, bool canonical=true)
 returns the reaction SMILES for a reaction More...
 
std::string ChemicalReactionToRxnBlock (const ChemicalReaction &rxn, bool separateAgents=false)
 returns an RXN block for a reaction More...
 
ROMolChemicalReactionToRxnMol (const ChemicalReaction &rxn)
 returns a ROMol with RXN roles used to describe the reaction More...
 
std::vector< MOL_SPTR_VECTrun_Reactants (const ChemicalReaction &rxn, const MOL_SPTR_VECT &reactants)
 Runs the reaction on a set of reactants. More...
 
std::vector< MOL_SPTR_VECTrun_Reactant (const ChemicalReaction &rxn, const ROMOL_SPTR &reactant, unsigned int reactantIdx)
 Runs a single reactant against a single reactant template. More...
 
ROMolreduceProductToSideChains (const ROMOL_SPTR &product, bool addDummyAtoms=true)
 Reduce the product generated by run_Reactants or run_Reactant to. More...
 
MOL_SPTR_VECT::const_iterator getStartIterator (const ChemicalReaction &rxn, ReactionMoleculeType t)
 
MOL_SPTR_VECT::const_iterator getEndIterator (const ChemicalReaction &rxn, ReactionMoleculeType t)
 
bool hasReactantTemplateSubstructMatch (const ChemicalReaction &rxn, const ChemicalReaction &query_rxn)
 
bool hasProductTemplateSubstructMatch (const ChemicalReaction &rxn, const ChemicalReaction &query_rxn)
 
bool hasAgentTemplateSubstructMatch (const ChemicalReaction &rxn, const ChemicalReaction &query_rxn)
 
bool hasReactionSubstructMatch (const ChemicalReaction &rxn, const ChemicalReaction &query_rxn, bool includeAgents=false)
 
bool hasReactionAtomMapping (const ChemicalReaction &rxn)
 
bool isReactionTemplateMoleculeAgent (const ROMol &mol, double agentThreshold)
 
void updateProductsStereochem (ChemicalReaction *rxn)
 
void removeMappingNumbersFromReactions (const ChemicalReaction &rxn)
 
ROMoldeleteSubstructs (const ROMol &mol, const ROMol &query, bool onlyFrags=false, bool useChirality=false)
 Returns a copy of an ROMol with the atoms and bonds that match a pattern removed. More...
 
std::vector< ROMOL_SPTRreplaceSubstructs (const ROMol &mol, const ROMol &query, const ROMol &replacement, bool replaceAll=false, unsigned int replacementConnectionPoint=0, bool useChirality=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. More...
 
ROMolreplaceSidechains (const ROMol &mol, const ROMol &coreQuery, bool useChirality=false)
 Returns a copy of an ROMol with the atoms and bonds that don't fall within a substructure match removed. More...
 
ROMolreplaceCore (const ROMol &mol, const ROMol &core, const MatchVectType &matchVect, bool replaceDummies=true, bool labelByIndex=false, bool requireDummyMatch=false)
 Returns a copy of an ROMol with the atoms and bonds that are referenced by the MatchVector removed. MatchVector must be defined between mol and the specified core. More...
 
ROMolreplaceCore (const ROMol &mol, const ROMol &coreQuery, bool replaceDummies=true, bool labelByIndex=false, bool requireDummyMatch=false, bool useChirality=false)
 Returns a copy of an ROMol with the atoms and bonds that do fall within a substructure match removed. More...
 
ROMolMurckoDecompose (const ROMol &mol)
 Carries out a Murcko decomposition on the molecule provided. More...
 
ROMolcombineMols (const ROMol &mol1, const ROMol &mol2, RDGeom::Point3D offset=RDGeom::Point3D(0, 0, 0))
 Combined two molecules to create a new one. More...
 
void addRecursiveQueries (ROMol &mol, const std::map< std::string, ROMOL_SPTR > &queries, const std::string &propName, std::vector< std::pair< unsigned int, std::string > > *reactantLabels=NULL)
 Adds named recursive queries to a molecule's atoms based on atom. More...
 
void parseQueryDefFile (const std::string &filename, std::map< std::string, ROMOL_SPTR > &queryDefs, bool standardize=true, const std::string &delimiter="\t", const std::string &comment="//", unsigned int nameColumn=0, unsigned int smartsColumn=1)
 parses a query definition file and sets up a set of definitions suitable for use by addRecursiveQueries() More...
 
void parseQueryDefFile (std::istream *inStream, std::map< std::string, ROMOL_SPTR > &queryDefs, bool standardize=true, const std::string &delimiter="\t", const std::string &comment="//", unsigned int nameColumn=0, unsigned int smartsColumn=1)
 
void parseQueryDefText (const std::string &queryDefText, std::map< std::string, ROMOL_SPTR > &queryDefs, bool standardize=true, const std::string &delimiter="\t", const std::string &comment="//", unsigned int nameColumn=0, unsigned int smartsColumn=1)
 equivalent to parseQueryDefFile() but the query definitions are More...
 
std::string strip (const std::string &orig)
 
RWMolMolDataStreamToMol (std::istream *inStream, unsigned int &line, bool sanitize=true, bool removeHs=true, bool strictParsing=true)
 
RWMolMolDataStreamToMol (std::istream &inStream, unsigned int &line, bool sanitize=true, bool removeHs=true, bool strictParsing=true)
 
RWMolMolBlockToMol (const std::string &molBlock, bool sanitize=true, bool removeHs=true, bool strictParsing=true)
 
RWMolMolFileToMol (const std::string &fName, bool sanitize=true, bool removeHs=true, bool strictParsing=true)
 
std::string MolToMolBlock (const ROMol &mol, bool includeStereo=true, int confId=-1, bool kekulize=true, bool forceV3000=false)
 
void MolToMolFile (const ROMol &mol, const std::string &fName, bool includeStereo=true, int confId=-1, bool kekulize=true, bool forceV3000=false)
 
RWMolTPLDataStreamToMol (std::istream *inStream, unsigned int &line, bool sanitize=true, bool skipFirstConf=false)
 translate TPL data (BioCad format) into a multi-conf molecule More...
 
RWMolTPLFileToMol (const std::string &fName, bool sanitize=true, bool skipFirstConf=false)
 construct a multi-conf molecule from a TPL (BioCad format) file More...
 
std::string MolToTPLText (const ROMol &mol, const std::string &partialChargeProp="_GasteigerCharge", bool writeFirstConfTwice=false)
 
void MolToTPLFile (const ROMol &mol, const std::string &fName, const std::string &partialChargeProp="_GasteigerCharge", bool writeFirstConfTwice=false)
 
RWMolMol2FileToMol (const 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)
 
RWMolPDBBlockToMol (const char *str, bool sanitize=true, bool removeHs=true, unsigned int flavor=0)
 
RWMolPDBBlockToMol (const std::string &str, bool sanitize=true, bool removeHs=true, unsigned int flavor=0)
 
RWMolPDBDataStreamToMol (std::istream *inStream, bool sanitize=true, bool removeHs=true, unsigned int flavor=0)
 
RWMolPDBDataStreamToMol (std::istream &inStream, bool sanitize=true, bool removeHs=true, unsigned int flavor=0)
 
RWMolPDBFileToMol (const std::string &fname, bool sanitize=true, bool removeHs=true, unsigned int flavor=0)
 
std::string MolToPDBBlock (const ROMol &mol, int confId=-1, unsigned int flavor=0)
 
void MolToPDBFile (const ROMol &mol, const std::string &fname, int confId=-1, unsigned int flavor=0)
 
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)
 
void ConnectTheDots (RWMol *mol)
 
void StandardPDBResidueBondOrders (RWMol *mol)
 
RWMolSequenceToMol (const char *seq, bool sanitize, bool lowerD)
 
RWMolSequenceToMol (const std::string &seq, bool sanitize, bool lowerD)
 
RWMolSequenceToMol (const char *seq, bool sanitize=true, int flavor=0)
 
RWMolSequenceToMol (const std::string &seq, bool sanitize=true, int flavor=0)
 
RWMolFASTAToMol (const char *seq, bool sanitize, bool lowerD)
 
RWMolFASTAToMol (const std::string &seq, bool sanitize, bool lowerD)
 
RWMolFASTAToMol (const char *seq, bool sanitize=true, int flavor=0)
 
RWMolFASTAToMol (const std::string &seq, bool sanitize=true, int flavor=0)
 
RWMolHELMToMol (const char *helm, bool sanitize=true)
 
RWMolHELMToMol (const std::string &helm, bool sanitize=true)
 
std::string MolToSequence (const ROMol &mol)
 
std::string MolToFASTA (const ROMol &mol)
 
std::string MolToHELM (const ROMol &mol)
 
bool FilterCatalogCanSerialize ()
 
unsigned int GetNumEntries (FilterCatalogParams::FilterCatalogs catalog)
 
const FilterData_tGetFilterData (FilterCatalogParams::FilterCatalogs catalog)
 
unsigned int GetNumPropertyEntries (FilterCatalogParams::FilterCatalogs catalog)
 
const FilterProperty_tGetFilterProperties (FilterCatalogParams::FilterCatalogs catalog)
 
FilterCatalogEntryMakeFilterCatalogEntry (const FilterData_t &, unsigned int num_props=0, const FilterProperty_t *props=0)
 
const FilterCatalogGetFunctionalGroupHierarchy ()
 Return the functional group hierarchy as a FilterCatalog. More...
 
const std::map< std::string, ROMOL_SPTR > & GetFlattenedFunctionalGroupHierarchy (bool normalized=false)
 
ExplicitBitVectRDKFingerprintMol (const ROMol &mol, unsigned int minPath=1, unsigned int maxPath=7, unsigned int fpSize=2048, unsigned int nBitsPerHash=2, bool useHs=true, double tgtDensity=0.0, unsigned int minSize=128, bool branchedPaths=true, bool useBondOrder=true, std::vector< boost::uint32_t > *atomInvariants=0, const std::vector< boost::uint32_t > *fromAtoms=0, std::vector< std::vector< boost::uint32_t > > *atomBits=0, std::map< boost::uint32_t, std::vector< std::vector< int > > > *bitInfo=0)
 Generates a topological (Daylight like) fingerprint for a molecule using an alternate (faster) hashing algorithm. More...
 
ExplicitBitVectLayeredFingerprintMol (const ROMol &mol, unsigned int layerFlags=0xFFFFFFFF, unsigned int minPath=1, unsigned int maxPath=7, unsigned int fpSize=2048, std::vector< unsigned int > *atomCounts=0, ExplicitBitVect *setOnlyBits=0, bool branchedPaths=true, const std::vector< boost::uint32_t > *fromAtoms=0)
 Generates a topological (Daylight like) fingerprint for a molecule using a layer-based hashing algorithm. More...
 
ExplicitBitVectPatternFingerprintMol (const ROMol &mol, unsigned int fpSize=2048, std::vector< unsigned int > *atomCounts=0, ExplicitBitVect *setOnlyBits=0)
 Generates a topological fingerprint for a molecule using a series of pre-defined structural patterns. More...
 
SparseIntVect< boost::uint64_t > * getUnfoldedRDKFingerprintMol (const ROMol &mol, unsigned int minPath=1, unsigned int maxPath=7, bool useHs=true, bool branchedPaths=true, bool useBondOrder=true, std::vector< boost::uint32_t > *atomInvariants=0, const std::vector< boost::uint32_t > *fromAtoms=0, std::vector< std::vector< boost::uint64_t > > *atomBits=0, std::map< boost::uint64_t, std::vector< std::vector< int > > > *bitInfo=0)
 
RDKIT_WRAP_DECL bool MCSAtomCompareAny (const MCSAtomCompareParameters &p, const ROMol &mol1, unsigned int atom1, const ROMol &mol2, unsigned int atom2, void *userData)
 
RDKIT_WRAP_DECL bool MCSAtomCompareElements (const MCSAtomCompareParameters &p, const ROMol &mol1, unsigned int atom1, const ROMol &mol2, unsigned int atom2, void *userData)
 
RDKIT_WRAP_DECL bool MCSAtomCompareIsotopes (const MCSAtomCompareParameters &p, const ROMol &mol1, unsigned int atom1, const ROMol &mol2, unsigned int atom2, void *userData)
 
RDKIT_WRAP_DECL bool MCSBondCompareAny (const MCSBondCompareParameters &p, const ROMol &mol1, unsigned int bond1, const ROMol &mol2, unsigned int bond2, void *userData)
 
RDKIT_WRAP_DECL bool MCSBondCompareOrder (const MCSBondCompareParameters &p, const ROMol &mol1, unsigned int bond1, const ROMol &mol2, unsigned int bond2, void *userData)
 
RDKIT_WRAP_DECL bool MCSBondCompareOrderExact (const MCSBondCompareParameters &p, const ROMol &mol1, unsigned int bond1, const ROMol &mol2, unsigned int bond2, void *userData)
 
bool MCSProgressCallbackTimeout (const MCSProgressData &stat, const MCSParameters &params, void *userData)
 
void parseMCSParametersJSON (const char *json, MCSParameters *params)
 
MCSResult findMCS (const std::vector< ROMOL_SPTR > &mols, const MCSParameters *params=0)
 
MCSResult findMCS_P (const std::vector< ROMOL_SPTR > &mols, const char *params_json)
 
MCSResult findMCS (const std::vector< ROMOL_SPTR > &mols, bool maximizeBonds, double threshold=1.0, unsigned timeout=3600, bool verbose=false, bool matchValences=false, bool ringMatchesRingOnly=false, bool completeRingsOnly=false, bool matchChiralTag=false, AtomComparator atomComp=AtomCompareElements, BondComparator bondComp=BondCompareOrder)
 
bool FinalChiralityCheckFunction (const short unsigned c1[], const short unsigned c2[], const ROMol &mol1, const FMCS::Graph &query, const ROMol &mol2, const FMCS::Graph &target, const MCSParameters *p)
 
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 More...
 
MolChemicalFeatureFactorybuildFeatureFactory (const std::string &featureData)
 constructs a MolChemicalFeatureFactory from the data in a string More...
 
void computeGasteigerCharges (const ROMol *mol, int nIter=12, bool throwOnParamFailure=false)
 
void computeGasteigerCharges (const ROMol &mol, int nIter=12, bool throwOnParamFailure=false)
 
void computeGasteigerCharges (const ROMol &mol, std::vector< double > &charges, 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 queryAtomImplicitHCount (Atom const *at)
 
static int queryAtomHasImplicitH (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 queryAtomIsotope (Atom const *at)
 
static int queryAtomFormalCharge (Atom const *at)
 
static int queryAtomHybridization (Atom const *at)
 
static int queryAtomNumRadicalElectrons (Atom const *at)
 
static int queryAtomHasChiralTag (Atom const *at)
 
static int queryAtomMissingChiralTag (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 queryBondHasStereo (Bond const *bnd)
 
static int queryIsAtomInNRings (Atom const *at)
 
static int queryIsAtomInRing (Atom const *at)
 
static int queryAtomHasRingBond (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)
 
template<class T >
T * makeAtomSimpleQuery (int what, int func(Atom const *), const std::string &description="Atom Simple")
 
template<class T >
T * makeAtomNumQuery (int what, const std::string &descr)
 returns a Query for matching atomic number More...
 
ATOM_EQUALS_QUERYmakeAtomNumQuery (int what)
 
template<class T >
T * makeAtomImplicitValenceQuery (int what, const std::string &descr)
 returns a Query for matching implicit valence More...
 
ATOM_EQUALS_QUERYmakeAtomImplicitValenceQuery (int what)
 
template<class T >
T * makeAtomExplicitValenceQuery (int what, const std::string &descr)
 returns a Query for matching explicit valence More...
 
ATOM_EQUALS_QUERYmakeAtomExplicitValenceQuery (int what)
 
template<class T >
T * makeAtomTotalValenceQuery (int what, const std::string &descr)
 returns a Query for matching total valence More...
 
ATOM_EQUALS_QUERYmakeAtomTotalValenceQuery (int what)
 
template<class T >
T * makeAtomExplicitDegreeQuery (int what, const std::string &descr)
 returns a Query for matching explicit degree More...
 
ATOM_EQUALS_QUERYmakeAtomExplicitDegreeQuery (int what)
 
template<class T >
T * makeAtomTotalDegreeQuery (int what, const std::string &descr)
 returns a Query for matching atomic degree More...
 
ATOM_EQUALS_QUERYmakeAtomTotalDegreeQuery (int what)
 
template<class T >
T * makeAtomHCountQuery (int what, const std::string &descr)
 returns a Query for matching hydrogen count More...
 
ATOM_EQUALS_QUERYmakeAtomHCountQuery (int what)
 
template<class T >
T * makeAtomHasImplicitHQuery (const std::string &descr)
 returns a Query for matching ring atoms More...
 
ATOM_EQUALS_QUERYmakeAtomHasImplicitHQuery ()
 
template<class T >
T * makeAtomImplicitHCountQuery (int what, const std::string &descr)
 returns a Query for matching implicit hydrogen count More...
 
ATOM_EQUALS_QUERYmakeAtomImplicitHCountQuery (int what)
 
template<class T >
T * makeAtomAromaticQuery (const std::string &descr)
 returns a Query for matching the isAromatic flag More...
 
ATOM_EQUALS_QUERYmakeAtomAromaticQuery ()
 
template<class T >
T * makeAtomAliphaticQuery (const std::string &descr)
 returns a Query for matching aliphatic atoms More...
 
ATOM_EQUALS_QUERYmakeAtomAliphaticQuery ()
 
template<class T >
T * makeAtomMassQuery (int what, const std::string &descr)
 returns a Query for matching atoms with a particular mass More...
 
ATOM_EQUALS_QUERYmakeAtomMassQuery (int what)
 
template<class T >
T * makeAtomIsotopeQuery (int what, const std::string &descr)
 returns a Query for matching atoms with a particular isotope More...
 
ATOM_EQUALS_QUERYmakeAtomIsotopeQuery (int what)
 
template<class T >
T * makeAtomFormalChargeQuery (int what, const std::string &descr)
 returns a Query for matching formal charge More...
 
ATOM_EQUALS_QUERYmakeAtomFormalChargeQuery (int what)
 
template<class T >
T * makeAtomHybridizationQuery (int what, const std::string &descr)
 returns a Query for matching hybridization More...
 
ATOM_EQUALS_QUERYmakeAtomHybridizationQuery (int what)
 
template<class T >
T * makeAtomNumRadicalElectronsQuery (int what, const std::string &descr)
 returns a Query for matching the number of radical electrons More...
 
ATOM_EQUALS_QUERYmakeAtomNumRadicalElectronsQuery (int what)
 
template<class T >
T * makeAtomHasChiralTagQuery (const std::string &descr)
 
ATOM_EQUALS_QUERYmakeAtomHasChiralTagQuery ()
 
template<class T >
T * makeAtomMissingChiralTagQuery (const std::string &descr)
 
ATOM_EQUALS_QUERYmakeAtomMissingChiralTagQuery ()
 
template<class T >
T * makeAtomUnsaturatedQuery (const std::string &descr)
 returns a Query for matching atoms with unsaturation: More...
 
ATOM_EQUALS_QUERYmakeAtomUnsaturatedQuery ()
 
template<class T >
T * makeAtomInRingQuery (const std::string &descr)
 returns a Query for matching ring atoms More...
 
ATOM_EQUALS_QUERYmakeAtomInRingQuery ()
 
template<class T >
T * makeAtomInNRingsQuery (int what, const std::string &descr)
 returns a Query for matching atoms in a particular number of rings More...
 
ATOM_EQUALS_QUERYmakeAtomInNRingsQuery (int what)
 
ATOM_EQUALS_QUERYmakeAtomInRingOfSizeQuery (int tgt)
 returns a Query for matching atoms in rings of a particular size More...
 
template<class T >
T * makeAtomMinRingSizeQuery (int tgt, const std::string &descr)
 returns a Query for matching an atom's minimum ring size More...
 
ATOM_EQUALS_QUERYmakeAtomMinRingSizeQuery (int tgt)
 
template<class T >
T * makeAtomRingBondCountQuery (int what, const std::string &descr)
 returns a Query for matching atoms with a particular number of ring bonds More...
 
ATOM_EQUALS_QUERYmakeAtomRingBondCountQuery (int what)
 
template<class T >
T * makeAtomHasRingBondQuery (const std::string &descr)
 returns a Query for matching atoms with a particular number of ring bonds More...
 
ATOM_EQUALS_QUERYmakeAtomHasRingBondQuery ()
 
BOND_EQUALS_QUERYmakeBondOrderEqualsQuery (Bond::BondType what)
 returns a Query for matching bond orders More...
 
BOND_EQUALS_QUERYmakeBondDirEqualsQuery (Bond::BondDir what)
 returns a Query for matching bond directions More...
 
BOND_EQUALS_QUERYmakeBondHasStereoQuery ()
 returns a Query for matching bonds with stereo set More...
 
BOND_EQUALS_QUERYmakeBondIsInRingQuery ()
 returns a Query for matching ring bonds More...
 
BOND_EQUALS_QUERYmakeBondInRingOfSizeQuery (int what)
 returns a Query for matching bonds in rings of a particular size More...
 
BOND_EQUALS_QUERYmakeBondMinRingSizeQuery (int what)
 returns a Query for matching a bond's minimum ring size More...
 
BOND_EQUALS_QUERYmakeBondInNRingsQuery (int tgt)
 returns a Query for matching bonds in a particular number of rings More...
 
BOND_NULL_QUERYmakeBondNullQuery ()
 returns a Query for matching any bond More...
 
ATOM_NULL_QUERYmakeAtomNullQuery ()
 returns a Query for matching any atom More...
 
static int queryAtomRingMembership (Atom const *at)
 
template<typename T >
int nullDataFun (T)
 
template<typename T >
bool nullQueryFun (T)
 
template<class Target >
Queries::EqualityQuery< int, const Target *, true > * makeHasPropQuery (const std::string &property)
 returns a Query for matching atoms that have a particular property More...
 
template<class Target , class T >
Queries::EqualityQuery< int, const Target *, true > * makePropQuery (const std::string &propname, const T &val, const T &tolerance=T())
 
bool isComplexQuery (const Bond *b)
 
bool isComplexQuery (const Atom *a)
 
bool isAtomAromatic (const Atom *a)
 
RWMolSLNToMol (const std::string &smi, bool sanitize=true, int debugParse=0)
 
RWMolSLNQueryToMol (const std::string &smi, bool mergeHs=true, int debugParse=0)
 
std::string MolToSmarts (ROMol &mol, bool doIsomericSmarts=false)
 returns the SMARTS for a molecule More...
 
RWMolSmilesToMol (const std::string &smi, int debugParse=0, bool sanitize=1, std::map< std::string, std::string > *replacements=0)
 Construct a molecule from a SMILES string. More...
 
RWMolSmartsToMol (const std::string &sma, int debugParse=0, bool mergeHs=false, std::map< std::string, std::string > *replacements=0)
 Construct a molecule from a SMARTS string. More...
 
std::string MolToSmiles (const ROMol &mol, bool doIsomericSmiles=false, bool doKekule=false, int rootedAtAtom=-1, bool canonical=true, bool allBondsExplicit=false, bool allHsExplicit=false)
 returns canonical SMILES for a molecule More...
 
std::string MolFragmentToSmiles (const ROMol &mol, const std::vector< int > &atomsToUse, const std::vector< int > *bondsToUse=0, const std::vector< std::string > *atomSymbols=0, const std::vector< std::string > *bondSymbols=0, bool doIsomericSmiles=false, bool doKekule=false, int rootedAtAtom=-1, bool canonical=true, bool allBondsExplicit=false, bool allHsExplicit=false)
 returns canonical SMILES for part of a molecule More...
 
INT_PATH_LIST_MAP findAllSubgraphsOfLengthsMtoN (const ROMol &mol, unsigned int lowerLen, unsigned int upperLen, bool useHs=false, int rootedAtAtom=-1)
 find all bond subgraphs in a range of sizes More...
 
PATH_LIST findAllSubgraphsOfLengthN (const ROMol &mol, unsigned int targetLen, bool useHs=false, int rootedAtAtom=-1)
 find all bond subgraphs of a particular size More...
 
PATH_LIST findUniqueSubgraphsOfLengthN (const ROMol &mol, unsigned int targetLen, bool useHs=false, bool useBO=true, int rootedAtAtom=-1)
 find unique bond subgraphs of a particular size More...
 
PATH_LIST findAllPathsOfLengthN (const ROMol &mol, unsigned int targetLen, bool useBonds=true, bool useHs=false, int rootedAtAtom=-1)
 find all paths of a particular size More...
 
INT_PATH_LIST_MAP findAllPathsOfLengthsMtoN (const ROMol &mol, unsigned int lowerLen, unsigned int upperLen, bool useBonds=true, bool useHs=false, int rootedAtAtom=-1)
 
PATH_TYPE findAtomEnvironmentOfRadiusN (const ROMol &mol, unsigned int radius, unsigned int rootedAtAtom, bool useHs=false)
 find bond subgraphs of a particular radius around an atom More...
 
bool SubstructMatch (const ROMol &mol, const ROMol &query, MatchVectType &matchVect, bool recursionPossible=true, bool useChirality=false, bool useQueryQueryMatches=false)
 Find a substructure match for a query in a molecule. More...
 
bool SubstructMatch (ResonanceMolSupplier &resMolSuppl, const ROMol &query, MatchVectType &matchVect, bool recursionPossible=true, bool useChirality=false, bool useQueryQueryMatches=false)
 Find a substructure match for a query in a ResonanceMolSupplier object. More...
 
unsigned int SubstructMatch (const ROMol &mol, const ROMol &query, std::vector< MatchVectType > &matchVect, bool uniquify=true, bool recursionPossible=true, bool useChirality=false, bool useQueryQueryMatches=false, unsigned int maxMatches=1000)
 Find all substructure matches for a query in a molecule. More...
 
unsigned int SubstructMatch (ResonanceMolSupplier &resMolSuppl, const ROMol &query, std::vector< MatchVectType > &matchVect, bool uniquify=false, bool recursionPossible=true, bool useChirality=false, bool useQueryQueryMatches=false, unsigned int maxMatches=1000, int numThreads=1)
 Find all substructure matches for a query in a ResonanceMolSupplier object. More...
 
double toPrime (const MatchVectType &v)
 
void removeDuplicates (std::vector< MatchVectType > &v, unsigned int nAtoms)
 
bool atomCompat (const ATOM_SPTR &a1, const ATOM_SPTR &a2, bool useQueryQueryMatches=false)
 
bool chiralAtomCompat (const ATOM_SPTR &a1, const ATOM_SPTR &a2)
 
bool bondCompat (const BOND_SPTR &b1, const BOND_SPTR &b2, bool useQueryQueryMatches=false)
 
unsigned int readAmberTrajectory (const std::string &fName, Trajectory &traj)
 Reads coordinates from an AMBER trajectory file into the traj Trajectory object. More...
 
unsigned int readGromosTrajectory (const std::string &fName, Trajectory &traj)
 Reads coordinates from a GROMOS trajectory file into the traj Trajectory object. More...
 
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)
 
template<typename IndexType >
double TverskySimilarity (const SparseIntVect< IndexType > &v1, const SparseIntVect< IndexType > &v2, double a, double b, bool returnDistance=false, double bounds=0.0)
 
template<typename IndexType >
double TanimotoSimilarity (const SparseIntVect< IndexType > &v1, const SparseIntVect< IndexType > &v2, bool returnDistance=false, double bounds=0.0)
 
template<typename CompareFunc >
bool hanoi (int *base, int nel, int *temp, int *count, int *changed, CompareFunc compar)
 
template<typename CompareFunc >
void hanoisort (int *base, int nel, int *count, int *changed, CompareFunc compar)
 
template<class T >
const T rdany_cast (const RDAny &d)
 
template<class T >
rdany_cast (RDAny &d)
 
template<class T >
boost::enable_if< boost::is_arithmetic< T >, T >::type from_rdany (const RDAny &arg)
 
template<class T >
boost::disable_if< boost::is_arithmetic< T >, T >::type from_rdany (const RDAny &arg)
 
unsigned int getNumThreadsToUse (int target)
 
void copy_rdvalue (RDValue &dest, const RDValue &src)
 
template<class T >
bool rdvalue_is (RDValue v)
 
template<>
bool rdvalue_is< double > (RDValue v)
 
template<>
bool rdvalue_is< const double & > (RDValue v)
 
template<class T >
rdvalue_cast (RDValue v)
 
template<>
double rdvalue_cast< double > (RDValue v)
 
template<>
float rdvalue_cast< float > (RDValue v)
 
template<>
int rdvalue_cast< int > (RDValue v)
 
template<>
unsigned int rdvalue_cast< unsigned int > (RDValue v)
 
template<>
bool rdvalue_cast< bool > (RDValue v)
 
template<>
std::string rdvalue_cast< std::string > (RDValue_cast_t v)
 
template<>
std::string & rdvalue_cast< std::string & > (RDValue_cast_t v)
 
template<>
std::vector< double > rdvalue_cast< std::vector< double > > (RDValue_cast_t v)
 
template<>
std::vector< double > & rdvalue_cast< std::vector< double > & > (RDValue_cast_t v)
 
template<>
std::vector< float > rdvalue_cast< std::vector< float > > (RDValue_cast_t v)
 
template<>
std::vector< float > & rdvalue_cast< std::vector< float > & > (RDValue_cast_t v)
 
template<>
std::vector< std::string > rdvalue_cast< std::vector< std::string > > (RDValue_cast_t v)
 
template<>
std::vector< std::string > & rdvalue_cast< std::vector< std::string > & > (RDValue_cast_t v)
 
template<>
std::vector< int > rdvalue_cast< std::vector< int > > (RDValue_cast_t v)
 
template<>
std::vector< int > & rdvalue_cast< std::vector< int > & > (RDValue_cast_t v)
 
template<>
std::vector< unsigned int > rdvalue_cast< std::vector< unsigned int > > (RDValue_cast_t v)
 
template<>
std::vector< unsigned int > & rdvalue_cast< std::vector< unsigned int > & > (RDValue_cast_t v)
 
template<>
boost::any rdvalue_cast< boost::any > (RDValue_cast_t v)
 
template<>
boost::any & rdvalue_cast< boost::any & > (RDValue_cast_t v)
 
template<>
const boost::any & rdvalue_cast< const boost::any & > (RDValue_cast_t v)
 
template<class T >
std::string vectToString (RDValue val)
 
bool rdvalue_tostring (RDValue_cast_t val, std::string &res)
 
template<class T >
boost::enable_if< boost::is_arithmetic< T >, T >::type from_rdvalue (RDValue_cast_t arg)
 
template<class T >
boost::disable_if< boost::is_arithmetic< T >, T >::type from_rdvalue (RDValue_cast_t arg)
 
template<class T , unsigned int size>
SwapBytes (T value)
 
template<EEndian from, EEndian to, class T >
EndianSwapBytes (T value)
 
template<EEndian from, EEndian to>
char EndianSwapBytes (char value)
 
template<EEndian from, EEndian to>
unsigned char EndianSwapBytes (unsigned char value)
 
template<EEndian from, EEndian to>
signed char EndianSwapBytes (signed char value)
 
void appendPackedIntToStream (std::stringstream &ss, boost::uint32_t num)
 Packs an integer and outputs it to a stream. More...
 
boost::uint32_t readPackedIntFromStream (std::stringstream &ss)
 Reads an integer from a stream in packed format and returns the result. More...
 
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 More...
 
template<typename T >
void streamRead (std::istream &ss, T &loc)
 does a binary read of an object from a stream More...
 
std::string getLine (std::istream *inStream)
 grabs the next line from an instream and returns it. More...
 
std::string getLine (std::istream &inStream)
 grabs the next line from an instream and returns it. More...
 
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 More...
 
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 More...
 
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 More...
 
int nextCombination (INT_VECT &comb, int tot)
 given a current combination of numbers change it to the next possible More...
 
double round (double v)
 rounds a value to the closest int More...
 
double computeIntVectPrimesProduct (const INT_VECT &ring)
 compute the product of the set of primes corresponding to the values in an INT_VECT More...
 
bool feq (double v1, double v2, double tol=1e-4)
 floating point comparison with a tolerance More...
 
rng_typegetRandomGenerator (int seed=-1)
 Optionally seed and return a reference to the global (Boost) random. More...
 
double getRandomVal (int seed=-1)
 
double_source_typegetDoubleRandomSource ()
 return a reference to the global (Boost) random source More...
 
template<class T >
unsigned int countSwapsToInterconvert (const T &ref, T probe)
 

Variables

const std::string periodicTableAtomData
 
const std::string isotopesAtomData []
 
const int MOLFILE_MAXLINE = 256
 
static int defaultConfId = -1
 
const char * DEFAULT_FILTERMATCHERBASE_NAME
 
const char * SMARTS_MATCH_NAME_DEFAULT
 
const std::string RDKFingerprintMolVersion = "2.0.0"
 
const unsigned int maxFingerprintLayers = 10
 
const std::string LayeredFingerprintMolVersion = "0.7.0"
 
const unsigned int substructLayers = 0x07
 
std::string paramData
 
std::string additionalParamData
 
const double IONXH = 20.02
 
const double DAMP_SCALE = 0.5
 
const double DAMP = 0.5
 
const 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 More...
 
int firstThousandPrimes [NUM_PRIMES_AVAIL]
 
const unsigned int BITS_PER_INT = 32
 
const double MAX_DOUBLE
 
const double EPS_DOUBLE
 
const double SMALL_DOUBLE
 
const double MAX_INT
 
const double MAX_LONGINT
 
const int FILE_MAXLINE
 an assumed maximum length for lines read from files More...
 
const char * rdkitVersion
 
const char * boostVersion
 
const char * rdkitBuild
 

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 32 of file QueryOps.h.

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

Definition at line 29 of file QueryOps.h.

Definition at line 41 of file QueryOps.h.

Definition at line 44 of file QueryOps.h.

Definition at line 48 of file QueryOps.h.

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

Definition at line 52 of file QueryOps.h.

Definition at line 55 of file QueryOps.h.

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

Definition at line 65 of file QueryOps.h.

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

Definition at line 35 of file QueryOps.h.

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

Definition at line 598 of file QueryOps.h.

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

Definition at line 58 of file QueryOps.h.

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

Definition at line 61 of file QueryOps.h.

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

Definition at line 27 of file Bond.h.

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

Definition at line 38 of file QueryOps.h.

typedef boost::uint16_t RDKit::atomindex_t

Definition at line 13 of file details.h.

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

Definition at line 33 of file QueryOps.h.

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

Definition at line 30 of file QueryOps.h.

Definition at line 42 of file QueryOps.h.

Definition at line 45 of file QueryOps.h.

Definition at line 50 of file QueryOps.h.

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

Definition at line 53 of file QueryOps.h.

Definition at line 56 of file QueryOps.h.

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

Definition at line 64 of file QueryOps.h.

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

Definition at line 36 of file QueryOps.h.

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

Definition at line 599 of file QueryOps.h.

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

Definition at line 59 of file QueryOps.h.

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

Definition at line 62 of file QueryOps.h.

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

Definition at line 42 of file ROMol.h.

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

Definition at line 39 of file QueryOps.h.

typedef boost::unordered_map<std::size_t, ConjElectrons *> RDKit::CEMap

Definition at line 31 of file Resonance.h.

typedef std::vector<ConjElectrons *> RDKit::CEVect

Definition at line 28 of file Resonance.h.

typedef std::vector<CEVect2 *> RDKit::CEVect3

Definition at line 29 of file Resonance.h.

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

Definition at line 135 of file Conformer.h.

typedef std::map<unsigned int, AtomElectrons *> RDKit::ConjAtomMap

Definition at line 27 of file Resonance.h.

typedef std::map<unsigned int, BondElectrons *> RDKit::ConjBondMap

Definition at line 25 of file Resonance.h.

typedef std::vector<boost::uint8_t> RDKit::ConjFP

Definition at line 30 of file Resonance.h.

typedef Atom const* RDKit::ConstAtomPtr

Definition at line 451 of file QueryOps.h.

typedef Bond const* RDKit::ConstBondPtr

Definition at line 561 of file QueryOps.h.

typedef std::vector<unsigned int> RDKit::DashPattern

Definition at line 38 of file MolDraw2D.h.

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

std::map from double to integer.

Definition at line 258 of file types.h.

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

Definition at line 39 of file utils.h.

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

Definition at line 213 of file types.h.

typedef DOUBLE_VECT::const_iterator RDKit::DOUBLE_VECT_CI

Definition at line 215 of file types.h.

typedef DOUBLE_VECT::iterator RDKit::DOUBLE_VECT_I

Definition at line 214 of file types.h.

typedef boost::tuple<float, float, float> RDKit::DrawColour

Definition at line 37 of file MolDraw2D.h.

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

Definition at line 18 of file MolChemicalFeatureFactory.h.

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

Definition at line 20 of file MolChemicalFeatureFactory.h.

typedef FeatSPtrList::iterator RDKit::FeatSPtrList_I

Definition at line 21 of file MolChemicalFeatureFactory.h.

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

Definition at line 230 of file types.h.

typedef INT_DEQUE::const_iterator RDKit::INT_DEQUE_CI

Definition at line 232 of file types.h.

typedef INT_DEQUE::iterator RDKit::INT_DEQUE_I

Definition at line 231 of file types.h.

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

Definition at line 234 of file types.h.

typedef INT_INT_DEQ_MAP::const_iterator RDKit::INT_INT_DEQ_MAP_CI

Definition at line 235 of file types.h.

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

Definition at line 223 of file types.h.

typedef INT_INT_VECT_MAP::const_iterator RDKit::INT_INT_VECT_MAP_CI

Definition at line 224 of file types.h.

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

Definition at line 194 of file types.h.

typedef INT_LIST::const_iterator RDKit::INT_LIST_CI

Definition at line 196 of file types.h.

typedef INT_LIST::iterator RDKit::INT_LIST_I

Definition at line 195 of file types.h.

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

Definition at line 226 of file types.h.

typedef INT_MAP_INT::const_iterator RDKit::INT_MAP_INT_CI

Definition at line 228 of file types.h.

typedef INT_MAP_INT::iterator RDKit::INT_MAP_INT_I

Definition at line 227 of file types.h.

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

Definition at line 44 of file Subgraphs.h.

typedef INT_PATH_LIST_MAP::const_iterator RDKit::INT_PATH_LIST_MAP_CI

Definition at line 45 of file Subgraphs.h.

typedef INT_PATH_LIST_MAP::iterator RDKit::INT_PATH_LIST_MAP_I

Definition at line 46 of file Subgraphs.h.

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

Definition at line 237 of file types.h.

typedef INT_SET::const_iterator RDKit::INT_SET_CI

Definition at line 239 of file types.h.

typedef INT_SET::iterator RDKit::INT_SET_I

Definition at line 238 of file types.h.

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

Definition at line 38 of file utils.h.

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

Definition at line 188 of file types.h.

typedef INT_VECT::const_iterator RDKit::INT_VECT_CI

Definition at line 190 of file types.h.

typedef INT_VECT::const_reverse_iterator RDKit::INT_VECT_CRI

Definition at line 192 of file types.h.

typedef INT_VECT::iterator RDKit::INT_VECT_I

Definition at line 189 of file types.h.

typedef INT_VECT::reverse_iterator RDKit::INT_VECT_RI

Definition at line 191 of file types.h.

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

Definition at line 26 of file MolOps.h.

typedef INVAR_VECT::const_iterator RDKit::INVAR_VECT_CI

Definition at line 29 of file MolOps.h.

typedef INVAR_VECT::iterator RDKit::INVAR_VECT_I

Definition at line 28 of file MolOps.h.

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

Definition at line 198 of file types.h.

typedef LIST_INT_VECT::const_iterator RDKit::LIST_INT_VECT_CI

Definition at line 200 of file types.h.

typedef LIST_INT_VECT::iterator RDKit::LIST_INT_VECT_I

Definition at line 199 of file types.h.

typedef long long int RDKit::LONGINT

Definition at line 167 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 23 of file FragFPGenerator.h.

typedef bool(* RDKit::MCSAtomCompareFunction) (const MCSAtomCompareParameters &p, const ROMol &mol1, unsigned int atom1, const ROMol &mol2, unsigned int atom2, void *userData)

Definition at line 47 of file FMCS.h.

typedef bool(* RDKit::MCSBondCompareFunction) (const MCSBondCompareParameters &p, const ROMol &mol1, unsigned int bond1, const ROMol &mol2, unsigned int bond2, void *userData)

Definition at line 51 of file FMCS.h.

typedef bool(* RDKit::MCSFinalMatchCheckFunction) (const short unsigned c1[], const short unsigned c2[], const ROMol &mol1, const FMCS::Graph &query, const ROMol &mol2, const FMCS::Graph &target, const MCSParameters *p)

Definition at line 43 of file FMCS.h.

typedef bool(* RDKit::MCSProgressCallback) (const MCSProgressData &stat, const MCSParameters &params, void *userData)

Definition at line 91 of file FMCS.h.

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

Definition at line 664 of file ROMol.h.

typedef MOL_PTR_VECT::const_iterator RDKit::MOL_PTR_VECT_CI

Definition at line 667 of file ROMol.h.

typedef MOL_PTR_VECT::iterator RDKit::MOL_PTR_VECT_I

Definition at line 668 of file ROMol.h.

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

Definition at line 19 of file FragCatParams.h.

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

Definition at line 662 of file ROMol.h.

a hierarchical catalog for holding molecules

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

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

Definition at line 41 of file Subgraphs.h.

typedef PATH_LIST::const_iterator RDKit::PATH_LIST_CI

Definition at line 42 of file Subgraphs.h.

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

Definition at line 36 of file Subgraphs.h.

Definition at line 357 of file RDValue-doublemagic.h.

typedef boost::minstd_rand RDKit::rng_type

Definition at line 35 of file utils.h.

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

Definition at line 21 of file ChemTransforms.h.

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

Definition at line 238 of file RWMol.h.

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

Definition at line 30 of file FileParsers.h.

typedef std::vector<Snapshot> RDKit::SnapshotVect

Definition at line 18 of file Snapshot.h.

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

Definition at line 220 of file types.h.

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

Definition at line 221 of file types.h.

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

Definition at line 26 of file Dict.h.

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

Definition at line 209 of file types.h.

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

Definition at line 210 of file types.h.

typedef std::map<std::string, std::string> RDKit::STRING_PROPS

Definition at line 52 of file FilterCatalogEntry.h.

typedef unsigned char RDKit::UCHAR

Definition at line 186 of file types.h.

typedef unsigned int RDKit::UINT

Definition at line 184 of file types.h.

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

Definition at line 207 of file types.h.

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

Definition at line 206 of file types.h.

typedef boost::uniform_real RDKit::uniform_double

Definition at line 37 of file utils.h.

typedef boost::uniform_int RDKit::uniform_int

Definition at line 36 of file utils.h.

typedef unsigned short RDKit::USHORT

Definition at line 185 of file types.h.

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

Definition at line 216 of file types.h.

typedef VECT_DOUBLE_VECT::const_iterator RDKit::VECT_DOUBLE_VECT_CI

Definition at line 218 of file types.h.

typedef VECT_DOUBLE_VECT::iterator RDKit::VECT_DOUBLE_VECT_I

Definition at line 217 of file types.h.

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

Definition at line 202 of file types.h.

typedef VECT_INT_VECT::const_iterator RDKit::VECT_INT_VECT_CI

Definition at line 204 of file types.h.

typedef VECT_INT_VECT::iterator RDKit::VECT_INT_VECT_I

Definition at line 203 of file types.h.

Enumeration Type Documentation

Enumerator
AtomCompareAny 
AtomCompareElements 
AtomCompareIsotopes 

Definition at line 146 of file FMCS.h.

Enumerator
BondCompareAny 
BondCompareOrder 
BondCompareOrderExact 

Definition at line 151 of file FMCS.h.

Enumerator
LITTLE_ENDIAN_ORDER 
BIG_ENDIAN_ORDER 

Definition at line 24 of file StreamOps.h.

Enumerator
AtomPairFP 
TopologicalTorsion 
MorganFP 
RDKitFP 
PatternFP 

Definition at line 42 of file ReactionFingerprints.h.

Enumerator
CORINA 

Definition at line 159 of file FileParsers.h.

Enumerator
Reactant 
Product 
Agent 

Definition at line 40 of file ReactionUtils.h.

Function Documentation

void RDKit::addRecursiveQueries ( ROMol mol,
const std::map< std::string, ROMOL_SPTR > &  queries,
const std::string &  propName,
std::vector< std::pair< unsigned int, std::string > > *  reactantLabels = NULL 
)

Adds named recursive queries to a molecule's atoms based on atom.

Parameters
mol- the molecule to be modified
queries- the dictionary of named queries to add
propName- the atom property to use to get query names
reactantLabels- to store pairs of (atom index, query string)

NOTES:

  • existing query information, if present, will be supplemented (AND logic)
  • non-query atoms will be replaced with query atoms using only the query logic
  • query names can be present as comma separated lists, they will then be combined using OR logic.
  • throws a KeyErrorException if a particular query name is not present in queries
void RDKit::addRecursiveQueriesToReaction ( ChemicalReaction rxn,
const std::map< std::string, ROMOL_SPTR > &  queries,
const std::string &  propName,
std::vector< std::vector< std::pair< unsigned int, std::string > > > *  reactantLabels = NULL 
)

add the recursive queries to the reactants of a reaction

This does its work using RDKit::addRecursiveQueries()

Parameters
rxnthe reaction we are interested in
queries- the dictionary of named queries to add
propName- the atom property to use to get query names optional:
reactantLabels- to store pairs of (atom index, query string) per reactant

NOTES:

  • existing query information, if present, will be supplemented (AND logic)
  • non-query atoms will be replaced with query atoms using only the query logic
  • query names can be present as comma separated lists, they will then be combined using OR logic.
  • throws a KeyErrorException if a particular query name is not present in queries

Referenced by RDKit::ChemicalReaction::setImplicitPropertiesFlag().

void RDKit::appendPackedIntToStream ( std::stringstream &  ss,
boost::uint32_t  num 
)
inline

Packs an integer and outputs it to a stream.

Definition at line 93 of file StreamOps.h.

References CHECK_INVARIANT.

bool RDKit::atomCompat ( const ATOM_SPTR a1,
const ATOM_SPTR a2,
bool  useQueryQueryMatches = false 
)
bool RDKit::bondCompat ( const BOND_SPTR b1,
const BOND_SPTR b2,
bool  useQueryQueryMatches = false 
)
MolChemicalFeatureFactory* RDKit::buildFeatureFactory ( std::istream &  inStream)

constructs a MolChemicalFeatureFactory from the data in a stream

Referenced by RDKit::MolChemicalFeatureFactory::addFeatureDef().

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

constructs a MolChemicalFeatureFactory from the data in a string

std::string RDKit::ChemicalReactionToRxnBlock ( const ChemicalReaction rxn,
bool  separateAgents = false 
)

returns an RXN block for a reaction

Parameters
rxnchemical reaction
separateAgentsflag to decide if agents were put in a seperate block, otherwise they were included in the reactants block (default)

Referenced by RDKit::ChemicalReactionParserException::~ChemicalReactionParserException().

ROMol* RDKit::ChemicalReactionToRxnMol ( const ChemicalReaction rxn)

returns a ROMol with RXN roles used to describe the reaction

Referenced by RDKit::ChemicalReactionParserException::~ChemicalReactionParserException().

std::string RDKit::ChemicalReactionToRxnSmarts ( const ChemicalReaction rxn)

returns the reaction SMARTS for a reaction

Referenced by RDKit::ChemicalReactionParserException::~ChemicalReactionParserException().

std::string RDKit::ChemicalReactionToRxnSmiles ( const ChemicalReaction rxn,
bool  canonical = true 
)

returns the reaction SMILES for a reaction

Referenced by RDKit::ChemicalReactionParserException::~ChemicalReactionParserException().

bool RDKit::chiralAtomCompat ( const ATOM_SPTR a1,
const ATOM_SPTR a2 
)
void RDKit::ClearSingleBondDirFlags ( ROMol mol)
ROMol* RDKit::combineMols ( const ROMol mol1,
const ROMol mol2,
RDGeom::Point3D  offset = RDGeom::Point3D(0, 0, 0) 
)

Combined two molecules to create a new one.

Parameters
mol1- the first ROMol to be combined
mol2- the second ROMol to be combined
offset- a constant offset to be added to every atom position in mol2
Returns
a new ROMol with the two molecules combined. The new molecule has not been sanitized. The client is responsible for deleting this molecule.
void RDKit::computeGasteigerCharges ( const ROMol mol,
int  nIter = 12,
bool  throwOnParamFailure = false 
)
void RDKit::computeGasteigerCharges ( const ROMol mol,
int  nIter = 12,
bool  throwOnParamFailure = false 
)
void RDKit::computeGasteigerCharges ( const ROMol mol,
std::vector< double > &  charges,
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 
)
boost::uint64_t RDKit::computeNumProducts ( const EnumerationTypes::RGROUPS sizes)

computeNumProducts Returns the number of possible product combination from The given numbers of building blocks for each rgroup or EnumerationStrategyBase::EnumerationOverflow if the number will not fit into the machines integer type. n.b. An overflow simply means there are a lot of products not that they cannot be enumerated

Referenced by getSizesFromBBs(), RDKit::EnumerationStrategyBase::initialize(), and RDKit::EnumerationStrategyBase::internalInitialize().

void RDKit::ConnectTheDots ( RWMol mol)
template<class T >
unsigned int RDKit::countSwapsToInterconvert ( const T &  ref,
probe 
)

Definition at line 53 of file utils.h.

References CHECK_INVARIANT, and PRECONDITION.

const ReactionFingerprintParams RDKit::DefaultDifferenceFPParams ( true  ,
0.  0,
10  ,
,
2048  ,
AtomPairFP   
)
const ReactionFingerprintParams RDKit::DefaultStructuralFPParams ( true  ,
0.  2,
,
,
4096  ,
PatternFP   
)
ROMol* RDKit::deleteSubstructs ( const ROMol mol,
const ROMol query,
bool  onlyFrags = false,
bool  useChirality = false 
)

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

Parameters
molthe ROMol of interest
querythe query ROMol
onlyFragsif this is set, atoms will only be removed if the entire fragment in which they are found is matched by the query.
useChirality- if set, match the coreQuery using chirality
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 
)
SparseIntVect<boost::uint32_t>* RDKit::DifferenceFingerprintChemReaction ( const ChemicalReaction rxn,
const ReactionFingerprintParams params = DefaultDifferenceFPParams 
)

Generates a difference fingerprint for a reaction to use in similarity search of reactions

A difference fingerprint is generated as a SparseIntVect to use for similarity search of reactions. By default the fingerprint is generated as 2048 bit hashed fingerprint subtracting AtompairFP of the reactants from the products' AtompairFP and tentatively the agent AtompairFP is added

Parameters
rxnthe reaction to be fingerprinted
paramsspecific settings to manipulate fingerprint generation
Returns
the reaction fingerprint, as an SparseIntVec

Notes:

  • the caller is responsible for deleteing the result
template<EEndian from, EEndian to, class T >
T RDKit::EndianSwapBytes ( value)
inline

Definition at line 64 of file StreamOps.h.

template<EEndian from, EEndian to>
char RDKit::EndianSwapBytes ( char  value)
inline

Definition at line 79 of file StreamOps.h.

template<EEndian from, EEndian to>
unsigned char RDKit::EndianSwapBytes ( unsigned char  value)
inline

Definition at line 83 of file StreamOps.h.

template<EEndian from, EEndian to>
signed char RDKit::EndianSwapBytes ( signed char  value)
inline

Definition at line 87 of file StreamOps.h.

bool RDKit::EnumerateLibraryCanSerialize ( )
RWMol* RDKit::FASTAToMol ( const char *  seq,
bool  sanitize,
bool  lowerD 
)
Parameters
seq- the string to be processed
sanitize- toggles sanitization and stereochemistry perception of the molecule
lowerD- if set, lower case letters will be parsed as the d form of the corresponding amino acid
RWMol* RDKit::FASTAToMol ( const std::string &  seq,
bool  sanitize,
bool  lowerD 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

RWMol* RDKit::FASTAToMol ( const char *  seq,
bool  sanitize = true,
int  flavor = 0 
)
Parameters
seq- the string to be processed
sanitize- toggles sanitization and stereochemistry perception of the molecule
flavor- 0 & 1 protein, 2, 3, 4, & 5 RNA, 6, 7, 8 & 9 DNA
RWMol* RDKit::FASTAToMol ( const std::string &  seq,
bool  sanitize = true,
int  flavor = 0 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

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

floating point comparison with a tolerance

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

bool RDKit::FilterCatalogCanSerialize ( )
bool RDKit::FinalChiralityCheckFunction ( const short unsigned  c1[],
const short unsigned  c2[],
const ROMol mol1,
const FMCS::Graph query,
const ROMol mol2,
const FMCS::Graph target,
const MCSParameters p 
)
PATH_LIST RDKit::findAllPathsOfLengthN ( const ROMol mol,
unsigned int  targetLen,
bool  useBonds = true,
bool  useHs = false,
int  rootedAtAtom = -1 
)

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.
rootedAtAtom- if non-negative, only subgraphs that start at this atom will be returned.

The result is a list of paths (i.e. list of list of bond indices)

INT_PATH_LIST_MAP RDKit::findAllPathsOfLengthsMtoN ( const ROMol mol,
unsigned int  lowerLen,
unsigned int  upperLen,
bool  useBonds = true,
bool  useHs = false,
int  rootedAtAtom = -1 
)
PATH_LIST RDKit::findAllSubgraphsOfLengthN ( const ROMol mol,
unsigned int  targetLen,
bool  useHs = false,
int  rootedAtAtom = -1 
)

find all bond 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.
rootedAtAtom- if non-negative, only subgraphs that start at this atom will be returned.

The result is a list of paths (i.e. list of list of bond indices)

INT_PATH_LIST_MAP RDKit::findAllSubgraphsOfLengthsMtoN ( const ROMol mol,
unsigned int  lowerLen,
unsigned int  upperLen,
bool  useHs = false,
int  rootedAtAtom = -1 
)

find all bond 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.
rootedAtAtom- if non-negative, only subgraphs that start at this atom will be returned.

The result is a map from subgraph size -> list of paths (i.e. list of list of bond indices)

PATH_TYPE RDKit::findAtomEnvironmentOfRadiusN ( const ROMol mol,
unsigned int  radius,
unsigned int  rootedAtAtom,
bool  useHs = false 
)

find bond subgraphs of a particular radius around an atom

Parameters
mol- the molecule to be considered
radius- the radius of the subgraphs to be considered
rootedAtAtom- the atom to consider
useHs- if set, hydrogens in the graph will be considered eligible to be in paths. NOTE: this will not add Hs to the graph.

The result is a path (a vector of bond indices)

MatchVectType RDKit::findFuncGroupsOnMol ( const ROMol mol,
const FragCatParams params,
INT_VECT fgBonds 
)
MCSResult RDKit::findMCS ( const std::vector< ROMOL_SPTR > &  mols,
const MCSParameters params = 0 
)
MCSResult RDKit::findMCS ( const std::vector< ROMOL_SPTR > &  mols,
bool  maximizeBonds,
double  threshold = 1.0,
unsigned  timeout = 3600,
bool  verbose = false,
bool  matchValences = false,
bool  ringMatchesRingOnly = false,
bool  completeRingsOnly = false,
bool  matchChiralTag = false,
AtomComparator  atomComp = AtomCompareElements,
BondComparator  bondComp = BondCompareOrder 
)
MCSResult RDKit::findMCS_P ( const std::vector< ROMOL_SPTR > &  mols,
const char *  params_json 
)
PATH_LIST RDKit::findUniqueSubgraphsOfLengthN ( const ROMol mol,
unsigned int  targetLen,
bool  useHs = false,
bool  useBO = true,
int  rootedAtAtom = -1 
)

find unique bond 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
rootedAtAtom- if non-negative, only subgraphs that start at this atom will be returned.

The result is a list of paths (i.e. list of list of bond indices)

template<class T >
boost::enable_if<boost::is_arithmetic<T>, T>::type RDKit::from_rdany ( const RDAny arg)
template<class T >
boost::disable_if<boost::is_arithmetic<T>, T>::type RDKit::from_rdany ( const RDAny arg)

Definition at line 210 of file RDAny.h.

References rdany_cast().

template<class T >
boost::enable_if<boost::is_arithmetic<T>, T>::type RDKit::from_rdvalue ( RDValue_cast_t  arg)

Definition at line 229 of file RDValue.h.

References RDKit::RDValue::getTag(), rdvalue_cast(), and RDKit::RDTypeTag::StringTag.

template<class T >
boost::disable_if<boost::is_arithmetic<T>, T>::type RDKit::from_rdvalue ( RDValue_cast_t  arg)

Definition at line 250 of file RDValue.h.

References rdvalue_cast().

std::string RDKit::getAtomAlias ( const Atom atom)
int RDKit::getAtomRLabel ( const Atom atm)
std::string RDKit::getAtomValue ( const Atom atom)
DiscreteDistMat* RDKit::getDiscreteDistMat ( )
double_source_type& RDKit::getDoubleRandomSource ( )

return a reference to the global (Boost) random source

MOL_SPTR_VECT::const_iterator RDKit::getEndIterator ( const ChemicalReaction rxn,
ReactionMoleculeType  t 
)
const FilterData_t* RDKit::GetFilterData ( FilterCatalogParams::FilterCatalogs  catalog)
const FilterProperty_t* RDKit::GetFilterProperties ( FilterCatalogParams::FilterCatalogs  catalog)
const std::map<std::string, ROMOL_SPTR>& RDKit::GetFlattenedFunctionalGroupHierarchy ( bool  normalized = false)

Return the flattened functional group hierarchy as a string->ROMOL_SPTR map The label is the name of the functional group in the hiearchy e.g. Halogen.Bromine.Aliphatic

const FilterCatalog& RDKit::GetFunctionalGroupHierarchy ( )

Return the functional group hierarchy as a FilterCatalog.

std::string RDKit::getLine ( std::istream *  inStream)
inline

grabs the next line from an instream and returns it.

Definition at line 233 of file StreamOps.h.

Referenced by getLine().

std::string RDKit::getLine ( std::istream &  inStream)
inline

grabs the next line from an instream and returns it.

Definition at line 242 of file StreamOps.h.

References getLine().

unsigned int RDKit::GetNumEntries ( FilterCatalogParams::FilterCatalogs  catalog)
unsigned int RDKit::GetNumPropertyEntries ( FilterCatalogParams::FilterCatalogs  catalog)
unsigned int RDKit::getNumThreadsToUse ( int  target)
inline
rng_type& RDKit::getRandomGenerator ( int  seed = -1)

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

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

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

MOL_SPTR_VECT RDKit::getReactantsFromRGroups ( const std::vector< MOL_SPTR_VECT > &  bbs,
const EnumerationTypes::RGROUPS rgroups 
)

getReactantsFromRGroups Helper function for enumeration, bbs are stored in a std::vector< std::vector<boost:shared_ptr<ROMol> >

Referenced by getSizesFromBBs().

VECT_INT_VECT RDKit::getReactingAtoms ( const ChemicalReaction rxn,
bool  mappedAtomsOnly = false 
)

returns indices of the atoms in each reactant that are changed in the reaction

Parameters
rxnthe reaction we are interested in
mappedAtomsOnlyif set, atoms that are not mapped will not be included in the list of changed atoms (otherwise they are automatically included)

How are changed atoms recognized? 1) Atoms whose degree changes 2) Atoms whose bonding pattern changes 3) unmapped atoms (unless the mappedAtomsOnly flag is set) 4) Atoms connected to unmapped atoms 5) Atoms whose atomic number changes (unless the corresponding product atom is a dummy) 6) Atoms with more than one atomic number query (unless the corresponding product atom is a dummy)

Note that the atomic number of a query atom depends on how it's constructed. When coming from SMARTS: if the first query is an atomic label/number that sets the atomic number, otherwise it's zero. For example [O;] is atomic number 8 while [;O] is atomic number 0. When coming from RXN: the atomic number of the atom in the rxn file sets the value.

Referenced by RDKit::ChemicalReaction::setImplicitPropertiesFlag().

template<class T >
EnumerationTypes::RGROUPS RDKit::getSizesFromBBs ( const std::vector< std::vector< T > > &  bbs)

Return the number of elements per input vector.

Parameters
bbsvector<vector<T> >
Returns
vector<unint64_t> number of elements in each vector

Definition at line 70 of file EnumerationStrategyBase.h.

References computeNumProducts(), getReactantsFromRGroups(), and getSizesFromReactants().

Referenced by RDKit::EnumerationStrategyBase::initialize().

EnumerationTypes::RGROUPS RDKit::getSizesFromReactants ( const std::vector< MOL_SPTR_VECT > &  bbs)

getSizesFromReactants Helper function for enumeration, bbs are stored in a std::vector< std::vector<boost:shared_ptr<ROMol> >

Referenced by getSizesFromBBs().

MOL_SPTR_VECT::const_iterator RDKit::getStartIterator ( const ChemicalReaction rxn,
ReactionMoleculeType  t 
)
std::string RDKit::getSupplementalSmilesLabel ( const Atom atom)
SparseIntVect<boost::uint64_t>* RDKit::getUnfoldedRDKFingerprintMol ( const ROMol mol,
unsigned int  minPath = 1,
unsigned int  maxPath = 7,
bool  useHs = true,
bool  branchedPaths = true,
bool  useBondOrder = true,
std::vector< boost::uint32_t > *  atomInvariants = 0,
const std::vector< boost::uint32_t > *  fromAtoms = 0,
std::vector< std::vector< boost::uint64_t > > *  atomBits = 0,
std::map< boost::uint64_t, std::vector< std::vector< int > > > *  bitInfo = 0 
)
template<typename CompareFunc >
bool RDKit::hanoi ( int *  base,
int  nel,
int *  temp,
int *  count,
int *  changed,
CompareFunc  compar 
)

changed ||

changed ||

Definition at line 26 of file hanoiSort.h.

Referenced by hanoisort().

template<typename CompareFunc >
void RDKit::hanoisort ( int *  base,
int  nel,
int *  count,
int *  changed,
CompareFunc  compar 
)

Definition at line 140 of file hanoiSort.h.

References hanoi().

Referenced by RDKit::Canon::RefinePartitions().

bool RDKit::hasAgentTemplateSubstructMatch ( const ChemicalReaction rxn,
const ChemicalReaction query_rxn 
)
bool RDKit::hasProductTemplateSubstructMatch ( const ChemicalReaction rxn,
const ChemicalReaction query_rxn 
)
bool RDKit::hasReactantTemplateSubstructMatch ( const ChemicalReaction rxn,
const ChemicalReaction query_rxn 
)
bool RDKit::hasReactionAtomMapping ( const ChemicalReaction rxn)
bool RDKit::hasReactionSubstructMatch ( const ChemicalReaction rxn,
const ChemicalReaction query_rxn,
bool  includeAgents = false 
)
RWMol* RDKit::HELMToMol ( const char *  helm,
bool  sanitize = true 
)
Parameters
seq- the string to be processed
sanitize- toggles sanitization and stereochemistry perception of the molecule
RWMol* RDKit::HELMToMol ( const std::string &  helm,
bool  sanitize = true 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

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

Referenced by RDKit::charptr_functor::operator()().

bool RDKit::isAtomAromatic ( const Atom a)

Referenced by makePropQuery().

bool RDKit::isComplexQuery ( const Bond b)

Referenced by makePropQuery().

bool RDKit::isComplexQuery ( const Atom a)
bool RDKit::isMoleculeAgentOfReaction ( const ChemicalReaction rxn,
const ROMol mol,
unsigned int &  which 
)

tests whether or not the molecule has a substructure match to any of the reaction's agents the which argument is used to return which of the agents the molecule matches. If there's no match, it is equal to the number of agents on return

Referenced by RDKit::ChemicalReaction::setImplicitPropertiesFlag().

bool RDKit::isMoleculeAgentOfReaction ( const ChemicalReaction rxn,
const ROMol mol 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

bool RDKit::isMoleculeProductOfReaction ( const ChemicalReaction rxn,
const ROMol mol,
unsigned int &  which 
)

tests whether or not the molecule has a substructure match to any of the reaction's products the which argument is used to return which of the products the molecule matches. If there's no match, it is equal to the number of products on return

Referenced by RDKit::ChemicalReaction::setImplicitPropertiesFlag().

bool RDKit::isMoleculeProductOfReaction ( const ChemicalReaction rxn,
const ROMol mol 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

bool RDKit::isMoleculeReactantOfReaction ( const ChemicalReaction rxn,
const ROMol mol,
unsigned int &  which 
)

tests whether or not the molecule has a substructure match to any of the reaction's reactants the which argument is used to return which of the reactants the molecule matches. If there's no match, it is equal to the number of reactants on return

Referenced by RDKit::ChemicalReaction::setImplicitPropertiesFlag().

bool RDKit::isMoleculeReactantOfReaction ( const ChemicalReaction rxn,
const ROMol mol 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

bool RDKit::isReactionTemplateMoleculeAgent ( const ROMol mol,
double  agentThreshold 
)
ExplicitBitVect* RDKit::LayeredFingerprintMol ( const ROMol mol,
unsigned int  layerFlags = 0xFFFFFFFF,
unsigned int  minPath = 1,
unsigned int  maxPath = 7,
unsigned int  fpSize = 2048,
std::vector< unsigned int > *  atomCounts = 0,
ExplicitBitVect setOnlyBits = 0,
bool  branchedPaths = true,
const std::vector< boost::uint32_t > *  fromAtoms = 0 
)

Generates a topological (Daylight like) fingerprint for a molecule using a layer-based hashing algorithm.

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

Parameters
molthe molecule to be fingerprinted
layerFlagsthe layers to be included (see below)
minPaththe minimum path length (in bonds) to be included
maxPaththe minimum path length (in bonds) to be included
fpSizethe size of the fingerprint
atomCountsif provided, this will be used to provide the count of the number of paths that set bits each atom is involved in. The vector should have at least as many entries as the molecule has atoms and is not zeroed out here.
setOnlyBitsif provided, only bits that are set in this bit vector will be set in the result. This is essentially the same as doing: (*res) &= (*setOnlyBits); but also has an impact on the atomCounts (if being used)
branchedPathstoggles generation of branched subgraphs, not just linear paths
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
  • 0x20: aromaticity
template<class T >
T* RDKit::makeAtomAliphaticQuery ( const std::string &  descr)

returns a Query for matching aliphatic atoms

Definition at line 306 of file QueryOps.h.

References queryAtomAliphatic().

ATOM_EQUALS_QUERY* RDKit::makeAtomAliphaticQuery ( )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomAromaticQuery ( const std::string &  descr)

returns a Query for matching the isAromatic flag

Definition at line 298 of file QueryOps.h.

References queryAtomAromatic().

ATOM_EQUALS_QUERY* RDKit::makeAtomAromaticQuery ( )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomExplicitDegreeQuery ( int  what,
const std::string &  descr 
)

returns a Query for matching explicit degree

Definition at line 258 of file QueryOps.h.

References queryAtomExplicitDegree().

ATOM_EQUALS_QUERY* RDKit::makeAtomExplicitDegreeQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomExplicitValenceQuery ( int  what,
const std::string &  descr 
)

returns a Query for matching explicit valence

Definition at line 242 of file QueryOps.h.

References queryAtomExplicitValence().

ATOM_EQUALS_QUERY* RDKit::makeAtomExplicitValenceQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomFormalChargeQuery ( int  what,
const std::string &  descr 
)

returns a Query for matching formal charge

Definition at line 331 of file QueryOps.h.

References queryAtomFormalCharge().

ATOM_EQUALS_QUERY* RDKit::makeAtomFormalChargeQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomHasChiralTagQuery ( const std::string &  descr)

returns a Query for matching whether or not chirality has been set on the atom

Definition at line 356 of file QueryOps.h.

References queryAtomHasChiralTag().

ATOM_EQUALS_QUERY* RDKit::makeAtomHasChiralTagQuery ( )

template<class T >
T* RDKit::makeAtomHasImplicitHQuery ( const std::string &  descr)

returns a Query for matching ring atoms

Definition at line 282 of file QueryOps.h.

References queryAtomHasImplicitH().

ATOM_EQUALS_QUERY* RDKit::makeAtomHasImplicitHQuery ( )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomHasRingBondQuery ( const std::string &  descr)
ATOM_EQUALS_QUERY* RDKit::makeAtomHasRingBondQuery ( )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomHCountQuery ( int  what,
const std::string &  descr 
)

returns a Query for matching hydrogen count

Definition at line 274 of file QueryOps.h.

References queryAtomHCount().

ATOM_EQUALS_QUERY* RDKit::makeAtomHCountQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomHybridizationQuery ( int  what,
const std::string &  descr 
)

returns a Query for matching hybridization

Definition at line 339 of file QueryOps.h.

References queryAtomHybridization().

ATOM_EQUALS_QUERY* RDKit::makeAtomHybridizationQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomImplicitHCountQuery ( int  what,
const std::string &  descr 
)

returns a Query for matching implicit hydrogen count

Definition at line 290 of file QueryOps.h.

References queryAtomImplicitHCount().

ATOM_EQUALS_QUERY* RDKit::makeAtomImplicitHCountQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomImplicitValenceQuery ( int  what,
const std::string &  descr 
)

returns a Query for matching implicit valence

Definition at line 234 of file QueryOps.h.

References queryAtomImplicitValence().

ATOM_EQUALS_QUERY* RDKit::makeAtomImplicitValenceQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomInNRingsQuery ( int  what,
const std::string &  descr 
)

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

Definition at line 389 of file QueryOps.h.

References makeAtomInRingOfSizeQuery(), and queryIsAtomInNRings().

ATOM_EQUALS_QUERY* RDKit::makeAtomInNRingsQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

ATOM_EQUALS_QUERY* RDKit::makeAtomInRingOfSizeQuery ( int  tgt)

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

Referenced by makeAtomInNRingsQuery().

template<class T >
T* RDKit::makeAtomInRingQuery ( const std::string &  descr)

returns a Query for matching ring atoms

Definition at line 381 of file QueryOps.h.

References queryIsAtomInRing().

ATOM_EQUALS_QUERY* RDKit::makeAtomInRingQuery ( )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomIsotopeQuery ( int  what,
const std::string &  descr 
)

returns a Query for matching atoms with a particular isotope

Definition at line 323 of file QueryOps.h.

References queryAtomIsotope().

ATOM_EQUALS_QUERY* RDKit::makeAtomIsotopeQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomMassQuery ( int  what,
const std::string &  descr 
)

returns a Query for matching atoms with a particular mass

Definition at line 314 of file QueryOps.h.

References queryAtomMass().

ATOM_EQUALS_QUERY* RDKit::makeAtomMassQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomMinRingSizeQuery ( int  tgt,
const std::string &  descr 
)

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

Definition at line 400 of file QueryOps.h.

References queryAtomMinRingSize().

ATOM_EQUALS_QUERY* RDKit::makeAtomMinRingSizeQuery ( int  tgt)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomMissingChiralTagQuery ( const std::string &  descr)

returns a Query for matching whether or not a potentially chiral atom is missing a chiral tag

Definition at line 365 of file QueryOps.h.

References queryAtomMissingChiralTag().

ATOM_EQUALS_QUERY* RDKit::makeAtomMissingChiralTagQuery ( )

ATOM_NULL_QUERY* RDKit::makeAtomNullQuery ( )

returns a Query for matching any atom

Referenced by makeAtomHasRingBondQuery().

template<class T >
T* RDKit::makeAtomNumQuery ( int  what,
const std::string &  descr 
)

returns a Query for matching atomic number

Definition at line 226 of file QueryOps.h.

References queryAtomNum().

ATOM_EQUALS_QUERY* RDKit::makeAtomNumQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomNumRadicalElectronsQuery ( int  what,
const std::string &  descr 
)

returns a Query for matching the number of radical electrons

Definition at line 347 of file QueryOps.h.

References queryAtomNumRadicalElectrons().

ATOM_EQUALS_QUERY* RDKit::makeAtomNumRadicalElectronsQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomRingBondCountQuery ( int  what,
const std::string &  descr 
)

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

Definition at line 408 of file QueryOps.h.

References queryAtomRingBondCount().

ATOM_EQUALS_QUERY* RDKit::makeAtomRingBondCountQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomSimpleQuery ( int  what,
int   funcAtom const *,
const std::string &  description = "Atom Simple" 
)

Definition at line 215 of file QueryOps.h.

template<class T >
T* RDKit::makeAtomTotalDegreeQuery ( int  what,
const std::string &  descr 
)

returns a Query for matching atomic degree

Definition at line 266 of file QueryOps.h.

References queryAtomTotalDegree().

ATOM_EQUALS_QUERY* RDKit::makeAtomTotalDegreeQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomTotalValenceQuery ( int  what,
const std::string &  descr 
)

returns a Query for matching total valence

Definition at line 250 of file QueryOps.h.

References queryAtomTotalValence().

ATOM_EQUALS_QUERY* RDKit::makeAtomTotalValenceQuery ( int  what)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class T >
T* RDKit::makeAtomUnsaturatedQuery ( const std::string &  descr)

returns a Query for matching atoms with unsaturation:

Definition at line 373 of file QueryOps.h.

References queryAtomUnsaturated().

ATOM_EQUALS_QUERY* RDKit::makeAtomUnsaturatedQuery ( )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

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

returns a Query for matching bond directions

Referenced by makeAtomHasRingBondQuery().

BOND_EQUALS_QUERY* RDKit::makeBondHasStereoQuery ( )

returns a Query for matching bonds with stereo set

Referenced by makeAtomHasRingBondQuery().

BOND_EQUALS_QUERY* RDKit::makeBondInNRingsQuery ( int  tgt)

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

Referenced by makeAtomHasRingBondQuery().

BOND_EQUALS_QUERY* RDKit::makeBondInRingOfSizeQuery ( int  what)

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

Referenced by makeAtomHasRingBondQuery().

BOND_EQUALS_QUERY* RDKit::makeBondIsInRingQuery ( )

returns a Query for matching ring bonds

Referenced by makeAtomHasRingBondQuery().

BOND_EQUALS_QUERY* RDKit::makeBondMinRingSizeQuery ( int  what)

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

Referenced by makeAtomHasRingBondQuery().

BOND_NULL_QUERY* RDKit::makeBondNullQuery ( )

returns a Query for matching any bond

Referenced by makeAtomHasRingBondQuery().

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

returns a Query for matching bond orders

Referenced by makeAtomHasRingBondQuery().

FilterCatalogEntry* RDKit::MakeFilterCatalogEntry ( const FilterData_t ,
unsigned int  num_props = 0,
const FilterProperty_t props = 0 
)
template<class Target >
Queries::EqualityQuery<int, const Target *, true>* RDKit::makeHasPropQuery ( const std::string &  property)

returns a Query for matching atoms that have a particular property

Definition at line 603 of file QueryOps.h.

template<class Target , class T >
Queries::EqualityQuery<int, const Target *, true>* RDKit::makePropQuery ( const std::string &  propname,
const T &  val,
const T &  tolerance = T() 
)

Definition at line 742 of file QueryOps.h.

References isAtomAromatic(), and isComplexQuery().

RDKIT_WRAP_DECL bool RDKit::MCSAtomCompareAny ( const MCSAtomCompareParameters p,
const ROMol mol1,
unsigned int  atom1,
const ROMol mol2,
unsigned int  atom2,
void *  userData 
)
RDKIT_WRAP_DECL bool RDKit::MCSAtomCompareElements ( const MCSAtomCompareParameters p,
const ROMol mol1,
unsigned int  atom1,
const ROMol mol2,
unsigned int  atom2,
void *  userData 
)
RDKIT_WRAP_DECL bool RDKit::MCSAtomCompareIsotopes ( const MCSAtomCompareParameters p,
const ROMol mol1,
unsigned int  atom1,
const ROMol mol2,
unsigned int  atom2,
void *  userData 
)
RDKIT_WRAP_DECL bool RDKit::MCSBondCompareAny ( const MCSBondCompareParameters p,
const ROMol mol1,
unsigned int  bond1,
const ROMol mol2,
unsigned int  bond2,
void *  userData 
)
RDKIT_WRAP_DECL bool RDKit::MCSBondCompareOrder ( const MCSBondCompareParameters p,
const ROMol mol1,
unsigned int  bond1,
const ROMol mol2,
unsigned int  bond2,
void *  userData 
)
RDKIT_WRAP_DECL bool RDKit::MCSBondCompareOrderExact ( const MCSBondCompareParameters p,
const ROMol mol1,
unsigned int  bond1,
const ROMol mol2,
unsigned int  bond2,
void *  userData 
)
bool RDKit::MCSProgressCallbackTimeout ( const MCSProgressData stat,
const MCSParameters params,
void *  userData 
)
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 
)
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::Mol2DataStreamToMol ( std::istream &  inStream,
bool  sanitize = true,
bool  removeHs = true,
Mol2Type  variant = CORINA 
)
RWMol* RDKit::Mol2FileToMol ( const 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,
bool  strictParsing = 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
strictParsing- if set, the parser is more lax about correctness of the contents.
RWMol* RDKit::MolDataStreamToMol ( std::istream *  inStream,
unsigned int &  line,
bool  sanitize = true,
bool  removeHs = true,
bool  strictParsing = 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
line- current line number (used for error reporting)
strictParsing- if not set, the parser is more lax about correctness of the contents.
RWMol* RDKit::MolDataStreamToMol ( std::istream &  inStream,
unsigned int &  line,
bool  sanitize = true,
bool  removeHs = true,
bool  strictParsing = true 
)
RWMol* RDKit::MolFileToMol ( const std::string &  fName,
bool  sanitize = true,
bool  removeHs = true,
bool  strictParsing = 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
strictParsing- if set, the parser is more lax about correctness of the contents.
std::string RDKit::MolFragmentToSmiles ( const ROMol mol,
const std::vector< int > &  atomsToUse,
const std::vector< int > *  bondsToUse = 0,
const std::vector< std::string > *  atomSymbols = 0,
const std::vector< std::string > *  bondSymbols = 0,
bool  doIsomericSmiles = false,
bool  doKekule = false,
int  rootedAtAtom = -1,
bool  canonical = true,
bool  allBondsExplicit = false,
bool  allHsExplicit = false 
)

returns canonical SMILES for part of a molecule

Parameters
mol: the molecule in question.
atomsToUse: indices of the atoms in the fragment
bondsToUse: indices of the bonds in the fragment. If this is not provided, all bonds between the atoms in atomsToUse will be included
atomSymbols: symbols to use for the atoms in the output SMILES
bondSymbols: sybmols to use for the bonds in the output SMILES
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.
canonical: if false, no attempt will be made to canonicalize the SMILES
allBondsExplicit: if true, symbols will be included for all bonds.
allHsExplicit: if true, hydrogen counts will be provided for every atom.

NOTE: the bondSymbols are not currently used in the canonicalization.

std::string RDKit::MolToFASTA ( const ROMol mol)
Parameters
mol- the molecule to work with
Note
mol should contain monomer information in AtomMonomerInfo structures
std::string RDKit::MolToHELM ( const ROMol mol)
Parameters
mol- the molecule to work with
Note
mol should contain monomer information in AtomMonomerInfo structures
std::string RDKit::MolToMolBlock ( const ROMol mol,
bool  includeStereo = true,
int  confId = -1,
bool  kekulize = true,
bool  forceV3000 = false 
)
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
forceV3000- force generation a V3000 mol block (happens automatically with more than 999 atoms or bonds)
void RDKit::MolToMolFile ( const ROMol mol,
const std::string &  fName,
bool  includeStereo = true,
int  confId = -1,
bool  kekulize = true,
bool  forceV3000 = false 
)
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
forceV3000- force generation a V3000 mol block (happens automatically with more than 999 atoms or bonds)
std::string RDKit::MolToPDBBlock ( const ROMol mol,
int  confId = -1,
unsigned int  flavor = 0 
)
Parameters
mol- the molecule in question
confId- selects the conformer to be used
flavor- controls what gets written: flavor & 1 : Write MODEL/ENDMDL lines around each record flavor & 2 : Don't write any CONECT records flavor & 4 : Write CONECT records in both directions flavor & 8 : Don't use multiple CONECTs to encode bond order flavor & 16 : Write MASTER record flavor & 32 : Write TER record
void RDKit::MolToPDBFile ( const ROMol mol,
const std::string &  fname,
int  confId = -1,
unsigned int  flavor = 0 
)
Parameters
mol- the molecule in question
fName- the name of the file to use
confId- selects the conformer to be used
flavor- controls what gets written: flavor & 1 : Write MODEL/ENDMDL lines around each record flavor & 2 : Don't write any CONECT records flavor & 4 : Write CONECT records in both directions flavor & 8 : Don't use multiple CONECTs to encode bond order flavor & 16 : Write MASTER record flavor & 32 : Write TER record
std::string RDKit::MolToSequence ( const ROMol mol)
Parameters
mol- the molecule to work with
Note
mol should contain monomer information in AtomMonomerInfo structures
std::string RDKit::MolToSmarts ( ROMol mol,
bool  doIsomericSmarts = false 
)

returns the SMARTS for a molecule

std::string RDKit::MolToSmiles ( const ROMol mol,
bool  doIsomericSmiles = false,
bool  doKekule = false,
int  rootedAtAtom = -1,
bool  canonical = true,
bool  allBondsExplicit = false,
bool  allHsExplicit = false 
)

returns canonical SMILES for a molecule

Parameters
mol: the molecule in question.
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.
canonical: if false, no attempt will be made to canonicalize the SMILES
allBondsExplicit: if true, symbols will be included for all bonds.
allHsExplicit: if true, hydrogen counts will be provided for every atom.
void RDKit::MolToTPLFile ( const ROMol mol,
const std::string &  fName,
const std::string &  partialChargeProp = "_GasteigerCharge",
bool  writeFirstConfTwice = false 
)
std::string RDKit::MolToTPLText ( const ROMol mol,
const std::string &  partialChargeProp = "_GasteigerCharge",
bool  writeFirstConfTwice = false 
)
ROMol* RDKit::MurckoDecompose ( const ROMol mol)

Carries out a Murcko decomposition on the molecule provided.

Parameters
mol- the ROMol of interest
Returns
a new ROMol with the Murcko scaffold The client is responsible for deleting this molecule.
int RDKit::nextCombination ( INT_VECT comb,
int  tot 
)

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

Parameters
combthe sorted vector to consider
totthe 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.

Referenced by RDKit::charptr_functor::operator()().

template<typename T >
int RDKit::nullDataFun ( )

Definition at line 553 of file QueryOps.h.

template<typename T >
bool RDKit::nullQueryFun ( )

Definition at line 557 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 ( const std::string &  defnText,
MolChemicalFeatureDef::CollectionType featDefs 
)
int RDKit::parseFeatureData ( std::istream &  istream,
MolChemicalFeatureDef::CollectionType featDefs 
)
int RDKit::parseFeatureFile ( const std::string &  fileName,
MolChemicalFeatureDef::CollectionType featDefs 
)
void RDKit::parseMCSParametersJSON ( const char *  json,
MCSParameters params 
)
void RDKit::parseQueryDefFile ( const std::string &  filename,
std::map< std::string, ROMOL_SPTR > &  queryDefs,
bool  standardize = true,
const std::string &  delimiter = "\t",
const std::string &  comment = "//",
unsigned int  nameColumn = 0,
unsigned int  smartsColumn = 1 
)

parses a query definition file and sets up a set of definitions suitable for use by addRecursiveQueries()

Parameters
filename- the name of the file to be read
queryDefs- the dictionary of named queries (return value)
standardize- if true, query names will be converted to lower case
delimiter- the line delimiter in the file
comment- text used to recognize comment lines
nameColumn- column with the names of queries
smartsColumn- column with the SMARTS definitions of the queries
void RDKit::parseQueryDefFile ( std::istream *  inStream,
std::map< std::string, ROMOL_SPTR > &  queryDefs,
bool  standardize = true,
const std::string &  delimiter = "\t",
const std::string &  comment = "//",
unsigned int  nameColumn = 0,
unsigned int  smartsColumn = 1 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

void RDKit::parseQueryDefText ( const std::string &  queryDefText,
std::map< std::string, ROMOL_SPTR > &  queryDefs,
bool  standardize = true,
const std::string &  delimiter = "\t",
const std::string &  comment = "//",
unsigned int  nameColumn = 0,
unsigned int  smartsColumn = 1 
)

equivalent to parseQueryDefFile() but the query definitions are

ExplicitBitVect* RDKit::PatternFingerprintMol ( const ROMol mol,
unsigned int  fpSize = 2048,
std::vector< unsigned int > *  atomCounts = 0,
ExplicitBitVect setOnlyBits = 0 
)

Generates a topological fingerprint for a molecule using a series of pre-defined structural patterns.

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

Parameters
molthe molecule to be fingerprinted
fpSizethe size of the fingerprint
atomCountsif provided, this will be used to provide the count of the number of paths that set bits each atom is involved in. The vector should have at least as many entries as the molecule has atoms and is not zeroed out here.
setOnlyBitsif provided, only bits that are set in this bit vector will be set in the result. This is essentially the same as doing: (*res) &= (*setOnlyBits); but also has an impact on the atomCounts (if being used)
Returns
the molecular fingerprint, as an ExplicitBitVect

Notes:

  • the caller is responsible for deleteing the result
RWMol* RDKit::PDBBlockToMol ( const char *  str,
bool  sanitize = true,
bool  removeHs = true,
unsigned int  flavor = 0 
)
RWMol* RDKit::PDBBlockToMol ( const std::string &  str,
bool  sanitize = true,
bool  removeHs = true,
unsigned int  flavor = 0 
)
RWMol* RDKit::PDBDataStreamToMol ( std::istream *  inStream,
bool  sanitize = true,
bool  removeHs = true,
unsigned int  flavor = 0 
)
RWMol* RDKit::PDBDataStreamToMol ( std::istream &  inStream,
bool  sanitize = true,
bool  removeHs = true,
unsigned int  flavor = 0 
)
RWMol* RDKit::PDBFileToMol ( const std::string &  fname,
bool  sanitize = true,
bool  removeHs = true,
unsigned int  flavor = 0 
)
INT_MAP_INT RDKit::pickBondsToWedge ( const ROMol mol)
ROMol* RDKit::prepareMol ( const ROMol mol,
const FragCatParams fparams,
MatchVectType aToFmap 
)
bool RDKit::preprocessReaction ( ChemicalReaction rxn,
const std::string &  propName = common_properties::molFileValue 
)
bool RDKit::preprocessReaction ( ChemicalReaction rxn,
unsigned int &  numWarnings,
unsigned int &  numErrors,
std::vector< std::vector< std::pair< unsigned int, std::string > > > &  reactantLabels,
const std::string &  propName = common_properties::molFileValue 
)
bool RDKit::preprocessReaction ( ChemicalReaction rxn,
const std::map< std::string, ROMOL_SPTR > &  queries,
const std::string &  propName = common_properties::molFileValue 
)
bool RDKit::preprocessReaction ( ChemicalReaction rxn,
unsigned int &  numWarnings,
unsigned int &  numErrors,
std::vector< std::vector< std::pair< unsigned int, std::string > > > &  reactantLabels,
const std::map< std::string, ROMOL_SPTR > &  queries,
const std::string &  propName = common_properties::molFileValue 
)
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 175 of file StreamOps.h.

static int RDKit::queryAtomAliphatic ( Atom const *  at)
inlinestatic

Definition at line 73 of file QueryOps.h.

References RDKit::Atom::getIsAromatic().

Referenced by makeAtomAliphaticQuery().

unsigned int RDKit::queryAtomAllBondProduct ( Atom const *  at)
static int RDKit::queryAtomAromatic ( Atom const *  at)
inlinestatic

Definition at line 70 of file QueryOps.h.

References RDKit::Atom::getIsAromatic().

Referenced by makeAtomAromaticQuery().

unsigned int RDKit::queryAtomBondProduct ( Atom const *  at)
static int RDKit::queryAtomExplicitDegree ( Atom const *  at)
inlinestatic

Definition at line 76 of file QueryOps.h.

References RDKit::Atom::getDegree().

Referenced by makeAtomExplicitDegreeQuery().

static int RDKit::queryAtomExplicitValence ( Atom const *  at)
inlinestatic
static int RDKit::queryAtomFormalCharge ( Atom const *  at)
inlinestatic

Definition at line 114 of file QueryOps.h.

References RDKit::Atom::getFormalCharge().

Referenced by makeAtomFormalChargeQuery().

static int RDKit::queryAtomHasChiralTag ( Atom const *  at)
inlinestatic

Definition at line 123 of file QueryOps.h.

References RDKit::Atom::CHI_UNSPECIFIED, and RDKit::Atom::getChiralTag().

Referenced by makeAtomHasChiralTagQuery().

static int RDKit::queryAtomHasImplicitH ( Atom const *  at)
inlinestatic

Definition at line 91 of file QueryOps.h.

References RDKit::Atom::getTotalNumHs().

Referenced by makeAtomHasImplicitHQuery().

static int RDKit::queryAtomHasRingBond ( Atom const *  at)
inlinestatic
static int RDKit::queryAtomHCount ( Atom const *  at)
inlinestatic

Definition at line 85 of file QueryOps.h.

References RDKit::Atom::getTotalNumHs().

Referenced by makeAtomHCountQuery().

static int RDKit::queryAtomHeavyAtomDegree ( Atom const *  at)
inlinestatic

Definition at line 82 of file QueryOps.h.

References RDKit::Atom::getTotalDegree(), and RDKit::Atom::getTotalNumHs().

static int RDKit::queryAtomHybridization ( Atom const *  at)
inlinestatic

Definition at line 117 of file QueryOps.h.

References RDKit::Atom::getHybridization().

Referenced by makeAtomHybridizationQuery().

static int RDKit::queryAtomImplicitHCount ( Atom const *  at)
inlinestatic

Definition at line 88 of file QueryOps.h.

References RDKit::Atom::getTotalNumHs().

Referenced by makeAtomImplicitHCountQuery().

static int RDKit::queryAtomImplicitValence ( Atom const *  at)
inlinestatic

Definition at line 94 of file QueryOps.h.

References RDKit::Atom::getImplicitValence().

Referenced by makeAtomImplicitValenceQuery().

template<int tgt>
int RDKit::queryAtomIsInRingOfSize ( Atom const *  at)
static int RDKit::queryAtomIsotope ( Atom const *  at)
inlinestatic

Definition at line 111 of file QueryOps.h.

References RDKit::Atom::getIsotope().

Referenced by makeAtomIsotopeQuery().

static int RDKit::queryAtomMass ( Atom const *  at)
inlinestatic

Definition at line 108 of file QueryOps.h.

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

Referenced by makeAtomMassQuery().

static int RDKit::queryAtomMinRingSize ( Atom const *  at)
inlinestatic
static int RDKit::queryAtomMissingChiralTag ( Atom const *  at)
inlinestatic
static int RDKit::queryAtomNum ( Atom const *  at)
inlinestatic

Definition at line 106 of file QueryOps.h.

References RDKit::Atom::getAtomicNum().

Referenced by makeAtomNumQuery().

static int RDKit::queryAtomNumRadicalElectrons ( Atom const *  at)
inlinestatic

Definition at line 120 of file QueryOps.h.

References RDKit::Atom::getNumRadicalElectrons().

Referenced by makeAtomNumRadicalElectronsQuery().

static int RDKit::queryAtomRingBondCount ( Atom const *  at)
inlinestatic
static int RDKit::queryAtomRingMembership ( Atom const *  at)
inlinestatic
static int RDKit::queryAtomTotalDegree ( Atom const *  at)
inlinestatic

Definition at line 79 of file QueryOps.h.

References RDKit::Atom::getTotalDegree().

Referenced by makeAtomTotalDegreeQuery().

static int RDKit::queryAtomTotalValence ( Atom const *  at)
inlinestatic
static int RDKit::queryAtomUnsaturated ( Atom const *  at)
inlinestatic

Definition at line 103 of file QueryOps.h.

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

Referenced by makeAtomUnsaturatedQuery().

static int RDKit::queryBondDir ( Bond const *  bond)
inlinestatic

Definition at line 140 of file QueryOps.h.

References RDKit::Bond::getBondDir().

static int RDKit::queryBondHasStereo ( Bond const *  bnd)
inlinestatic

Definition at line 146 of file QueryOps.h.

References RDKit::Bond::getStereo(), and RDKit::Bond::STEREONONE.

template<int tgt>
int RDKit::queryBondIsInRingOfSize ( Bond const *  bond)
static int RDKit::queryBondMinRingSize ( Bond const *  bond)
inlinestatic
static int RDKit::queryBondOrder ( Bond const *  bond)
inlinestatic

Definition at line 137 of file QueryOps.h.

References RDKit::Bond::getBondType().

static int RDKit::queryIsAtomInNRings ( Atom const *  at)
inlinestatic
static int RDKit::queryIsAtomInRing ( Atom const *  at)
inlinestatic
static int RDKit::queryIsBondInNRings ( Bond const *  at)
inlinestatic
static int RDKit::queryIsBondInRing ( Bond const *  bond)
inlinestatic
template<class T >
const T RDKit::rdany_cast ( const RDAny d)

Definition at line 178 of file RDAny.h.

References RDKit::RDAny::m_value, and rdvalue_cast().

Referenced by from_rdany().

template<class T >
T RDKit::rdany_cast ( RDAny d)

Definition at line 184 of file RDAny.h.

References RDKit::RDAny::m_value, and rdvalue_cast().

ExplicitBitVect* RDKit::RDKFingerprintMol ( const ROMol mol,
unsigned int  minPath = 1,
unsigned int  maxPath = 7,
unsigned int  fpSize = 2048,
unsigned int  nBitsPerHash = 2,
bool  useHs = true,
double  tgtDensity = 0.0,
unsigned int  minSize = 128,
bool  branchedPaths = true,
bool  useBondOrder = true,
std::vector< boost::uint32_t > *  atomInvariants = 0,
const std::vector< boost::uint32_t > *  fromAtoms = 0,
std::vector< std::vector< boost::uint32_t > > *  atomBits = 0,
std::map< boost::uint32_t, std::vector< std::vector< int > > > *  bitInfo = 0 
)

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

Parameters
molthe molecule to be fingerprinted
minPaththe minimum path length (in bonds) to be included
maxPaththe minimum path length (in bonds) to be included
fpSizethe size of the fingerprint
nBitsPerHashthe number of bits to be set by each path
useHstoggles inclusion of Hs in paths (if the molecule has explicit Hs)
tgtDensityif the generated fingerprint is below this density, it will be folded until the density is reached.
minSizethe minimum size to which the fingerprint will be folded
branchedPathstoggles generation of branched subgraphs, not just linear paths
useBondOrderstoggles inclusion of bond orders in the path hashes
atomInvariantsa vector of atom invariants to use while hashing the paths
fromAtomsonly paths starting at these atoms will be included
atomBitsused to return the bits that each atom is involved in (should be at least mol.numAtoms long)
Returns
the molecular fingerprint, as an ExplicitBitVect

Notes:

  • the caller is responsible for deleteing the result
template<class T >
T RDKit::rdvalue_cast ( RDValue  v)
inline
template<>
bool RDKit::rdvalue_cast< bool > ( RDValue  v)
inline

Definition at line 410 of file RDValue-doublemagic.h.

References RDKit::RDTypeTag::BoolTag.

template<>
boost::any& RDKit::rdvalue_cast< boost::any & > ( RDValue_cast_t  v)
inline

Definition at line 137 of file RDValue.h.

template<>
boost::any RDKit::rdvalue_cast< boost::any > ( RDValue_cast_t  v)
inline

Definition at line 129 of file RDValue.h.

template<>
const boost::any& RDKit::rdvalue_cast< const boost::any & > ( RDValue_cast_t  v)
inline

Definition at line 145 of file RDValue.h.

template<>
double RDKit::rdvalue_cast< double > ( RDValue  v)
inline

Definition at line 379 of file RDValue-doublemagic.h.

References rdvalue_is< double >().

template<>
float RDKit::rdvalue_cast< float > ( RDValue  v)
inline

Definition at line 385 of file RDValue-doublemagic.h.

template<>
int RDKit::rdvalue_cast< int > ( RDValue  v)
inline

Definition at line 397 of file RDValue-doublemagic.h.

References RDKit::RDTypeTag::IntTag.

template<>
std::string& RDKit::rdvalue_cast< std::string & > ( RDValue_cast_t  v)
inline

Definition at line 51 of file RDValue.h.

template<>
std::string RDKit::rdvalue_cast< std::string > ( RDValue_cast_t  v)
inline

Definition at line 45 of file RDValue.h.

template<>
std::vector<double>& RDKit::rdvalue_cast< std::vector< double > & > ( RDValue_cast_t  v)
inline

Definition at line 65 of file RDValue.h.

References rdvalue_is().

template<>
std::vector<double> RDKit::rdvalue_cast< std::vector< double > > ( RDValue_cast_t  v)
inline

Definition at line 58 of file RDValue.h.

References rdvalue_is().

template<>
std::vector<float>& RDKit::rdvalue_cast< std::vector< float > & > ( RDValue_cast_t  v)
inline

Definition at line 79 of file RDValue.h.

References rdvalue_is().

template<>
std::vector<float> RDKit::rdvalue_cast< std::vector< float > > ( RDValue_cast_t  v)
inline

Definition at line 72 of file RDValue.h.

References rdvalue_is().

template<>
std::vector<int>& RDKit::rdvalue_cast< std::vector< int > & > ( RDValue_cast_t  v)
inline

Definition at line 107 of file RDValue.h.

References rdvalue_is().

template<>
std::vector<int> RDKit::rdvalue_cast< std::vector< int > > ( RDValue_cast_t  v)
inline

Definition at line 100 of file RDValue.h.

References rdvalue_is().

template<>
std::vector<std::string>& RDKit::rdvalue_cast< std::vector< std::string > & > ( RDValue_cast_t  v)
inline

Definition at line 93 of file RDValue.h.

References rdvalue_is().

template<>
std::vector<std::string> RDKit::rdvalue_cast< std::vector< std::string > > ( RDValue_cast_t  v)
inline

Definition at line 86 of file RDValue.h.

References rdvalue_is().

template<>
std::vector<unsigned int>& RDKit::rdvalue_cast< std::vector< unsigned int > & > ( RDValue_cast_t  v)
inline

Definition at line 121 of file RDValue.h.

References rdvalue_is().

template<>
std::vector<unsigned int> RDKit::rdvalue_cast< std::vector< unsigned int > > ( RDValue_cast_t  v)
inline

Definition at line 114 of file RDValue.h.

References rdvalue_is().

template<>
unsigned int RDKit::rdvalue_cast< unsigned int > ( RDValue  v)
inline

Definition at line 403 of file RDValue-doublemagic.h.

References RDKit::RDTypeTag::UnsignedIntTag.

template<>
bool RDKit::rdvalue_is< const double & > ( RDValue  v)
inline

Definition at line 332 of file RDValue-doublemagic.h.

References rdvalue_is< double >().

unsigned int RDKit::readAmberTrajectory ( const std::string &  fName,
Trajectory traj 
)

Reads coordinates from an AMBER trajectory file into the traj Trajectory object.

Returns
the number of Snapshot objects read in

Referenced by RDKit::Trajectory::clear().

MOL_SPTR_VECT RDKit::readFuncGroups ( std::string  fileName)
MOL_SPTR_VECT RDKit::readFuncGroups ( std::istream &  inStream,
int  nToRead = -1 
)
unsigned int RDKit::readGromosTrajectory ( const std::string &  fName,
Trajectory traj 
)

Reads coordinates from a GROMOS trajectory file into the traj Trajectory object.

Returns
the number of Snapshot objects read in

Referenced by RDKit::Trajectory::clear().

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 137 of file StreamOps.h.

ROMol* RDKit::reduceProductToSideChains ( const ROMOL_SPTR product,
bool  addDummyAtoms = true 
)

Reduce the product generated by run_Reactants or run_Reactant to.

Parameters
addDummyAtomsIf true, add dummy atoms to the sidechains for the non-reagent parts of the sidechain. Dummy atoms are annotated with the atom maps from the reaction. If False, then any sidechain atom where a bond was cleaved is annotated with: _rgroupAtomMaps property which indicates the scaffold atommaps that where bonded _rgroupBonds property which indicates the bondtype for each atommap bonded
void RDKit::removeDuplicates ( std::vector< MatchVectType > &  v,
unsigned int  nAtoms 
)
void RDKit::removeMappingNumbersFromReactions ( const ChemicalReaction rxn)
EnumerationTypes::BBS RDKit::removeNonmatchingReagents ( const ChemicalReaction rxn,
EnumerationTypes::BBS  bbs,
const EnumerationParams params = EnumerationParams() 
)

Helper function, remove reagents that are incompatible.

Referenced by RDKit::EnumerationParams::EnumerationParams().

ROMol* RDKit::replaceCore ( const ROMol mol,
const ROMol core,
const MatchVectType matchVect,
bool  replaceDummies = true,
bool  labelByIndex = false,
bool  requireDummyMatch = false 
)

Returns a copy of an ROMol with the atoms and bonds that are referenced by the MatchVector removed. MatchVector must be defined between mol and the specified core.

dummy atoms are left to indicate attachment points. These dummy atoms can be labeled either by the matching index in the query or by an arbitrary "first match" found. Additional matching options are given below.

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
core- the core being matched against
matchVect- a matchVect of the type returned by Substructure Matching
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
requireDummyMatch- if set, only side chains that are connected to atoms in the core that have attached dummies will be considered. Molecules that have sidechains that are attached at other points will be rejected (NULL returned).
useChirality- if set, match the coreQuery using chirality
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. If the core query is not matched, NULL is returned.
ROMol* RDKit::replaceCore ( const ROMol mol,
const ROMol coreQuery,
bool  replaceDummies = true,
bool  labelByIndex = false,
bool  requireDummyMatch = false,
bool  useChirality = 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
requireDummyMatch- if set, only side chains that are connected to atoms in the core that have attached dummies will be considered. Molecules that have sidechains that are attached at other points will be rejected (NULL returned).
useChirality- if set, match the coreQuery using chirality
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. If the core query is not matched, NULL is returned.
ROMol* RDKit::replaceSidechains ( const ROMol mol,
const ROMol coreQuery,
bool  useChirality = false 
)

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
molthe ROMol of interest
coreQuerya query ROMol to be used to match the core
useChirality- if set, match the coreQuery using chirality
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,
unsigned int  replacementConnectionPoint = 0,
bool  useChirality = 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
molthe ROMol of interest
querythe query ROMol
replacementthe ROMol to be inserted
replaceAllif this is true, only a single result, with all
useChirality- if set, match the coreQuery using chirality

occurances of the substructure replaced, will be returned.

Parameters
replacementConnectionPointindex of the atom in the replacement that the bond should made to
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 RDKit::charptr_functor::operator()(), and queryAtomMass().

std::vector<MOL_SPTR_VECT> RDKit::run_Reactant ( const ChemicalReaction rxn,
const ROMOL_SPTR reactant,
unsigned int  reactantIdx 
)

Runs a single reactant against a single reactant template.

Parameters
reactantThe single reactant to use
reactantTemplateIdxthe reactant template to target in the reaction
Returns
a vector of vectors of products. Each subvector will be rxn->getNumProductTemplates() long.

We return a vector of vectors of products because each individual template may map multiple times onto its reactant. This leads to multiple possible result sets.

std::vector<MOL_SPTR_VECT> RDKit::run_Reactants ( const ChemicalReaction rxn,
const MOL_SPTR_VECT reactants 
)

Runs the reaction on a set of reactants.

Parameters
rxnthe template reaction we are interested
reactantsthe reactants to be used. The length of this must be equal to rxn->getNumReactantTemplates() Caution: The order of the reactant templates determines the order of the reactants!
Returns
a vector of vectors of products. Each subvector will be rxn->getNumProductTemplates() long.

We return a vector of vectors of products because each individual template may map multiple times onto its reactant. This leads to multiple possible result sets.

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

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

Referenced by RDKit::ChemicalReactionParserException::~ChemicalReactionParserException().

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

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

Referenced by RDKit::ChemicalReactionParserException::~ChemicalReactionParserException().

ChemicalReaction* RDKit::RxnFileToChemicalReaction ( const std::string &  fileName)
ChemicalReaction* RDKit::RxnMolToChemicalReaction ( const ROMol mol)

Parse a ROMol into a ChemicalReaction, RXN role must be set before.

Alternative to build a reaction from a molecule (fragments) which have RXN roles set as atom properties: common_properties::molRxnRole (1=reactant, 2=product, 3=agent)

Parameters
molROMol with RXN roles set

Referenced by RDKit::ChemicalReactionParserException::~ChemicalReactionParserException().

ChemicalReaction* RDKit::RxnSmartsToChemicalReaction ( const std::string &  text,
std::map< std::string, std::string > *  replacements = 0,
bool  useSmiles = false 
)

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)

Parameters
textthe SMARTS to convert
replacementsa string->string map of replacement strings.
See also
SmilesToMol for more information about replacements
Parameters
useSmilesif set, the SMILES parser will be used instead of the SMARTS parserfor the individual components

Referenced by RDKit::ChemicalReactionParserException::~ChemicalReactionParserException().

RWMol* RDKit::SequenceToMol ( const char *  seq,
bool  sanitize,
bool  lowerD 
)
Parameters
seq- the string to be processed
sanitize- toggles sanitization and stereochemistry perception of the molecule
lowerD- if set, lower case letters will be parsed as the d form of the corresponding amino acid
RWMol* RDKit::SequenceToMol ( const std::string &  seq,
bool  sanitize,
bool  lowerD 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

RWMol* RDKit::SequenceToMol ( const char *  seq,
bool  sanitize = true,
int  flavor = 0 
)
Parameters
seq- the string to be processed
sanitize- toggles sanitization and stereochemistry perception of the molecule
flavor- 0 & 1 Protein, 2, 3, 4 & 5 RNA, 6, 7, 8 & 9 DNA
RWMol* RDKit::SequenceToMol ( const std::string &  seq,
bool  sanitize = true,
int  flavor = 0 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

void RDKit::setAtomAlias ( Atom atom,
const std::string &  alias 
)

Set the atom's MDL atom alias.

void RDKit::setAtomRLabel ( Atom atm,
int  rlabel 
)

Set the atom's MDL integer RLabel.

void RDKit::setAtomValue ( Atom atom,
const std::string &  value 
)

Set the atom's MDL atom value.

void RDKit::setSupplementalSmilesLabel ( Atom atom,
const std::string &  label 
)

Sets the supplemental label that will follow the atom when writing.

RWMol* RDKit::SLNQueryToMol ( const std::string &  smi,
bool  mergeHs = true,
int  debugParse = 0 
)
RWMol* RDKit::SLNToMol ( const std::string &  smi,
bool  sanitize = true,
int  debugParse = 0 
)
RWMol* RDKit::SmartsToMol ( const std::string &  sma,
int  debugParse = 0,
bool  mergeHs = false,
std::map< std::string, std::string > *  replacements = 0 
)

Construct a molecule from a SMARTS string.

Parameters
smathe SMARTS to convert
debugParsetoggles verbose debugging information from the parser
mergeHstoggles merging H atoms in the SMARTS into neighboring atoms
replacementsa string->string map of replacement strings.
See also
SmilesToMol for more information about replacements
Returns
a pointer to the new molecule; the caller is responsible for free'ing this.
RWMol* RDKit::SmilesToMol ( const std::string &  smi,
int  debugParse = 0,
bool  sanitize = 1,
std::map< std::string, std::string > *  replacements = 0 
)

Construct a molecule from a SMILES string.

Parameters
smithe SMILES to convert
debugParsetoggles verbose debugging information from the parser
sanitizetoggles H removal and sanitization of the molecule
replacementsa string->string map of replacement strings. See below for more information about replacements.
Returns
a pointer to the new molecule; the caller is responsible for free'ing this.

The optional replacements map can be used to do string substitution of abbreviations in the input SMILES. The set of substitutions is repeatedly looped through until the string no longer changes. It is the responsiblity of the caller to make sure that substitutions results in legal and sensible SMILES.

Examples of substitutions:

CC{Q}C with {"{Q}":"OCCO"} -> CCOCCOC
C{A}C{Q}C with {"{Q}":"OCCO", "{A}":"C1(CC1)"} -> CC1(CC1)COCCOC
C{A}C{Q}C with {"{Q}":"{X}CC{X}", "{A}":"C1CC1", "{X}":"N"} -> CC1CC1CCNCCNC
void RDKit::StandardPDBResidueBondOrders ( RWMol mol)
template<typename T >
void RDKit::streamRead ( std::istream &  ss,
T &  loc 
)

does a binary read of an object from a stream

Definition at line 226 of file StreamOps.h.

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

template<typename T >
void RDKit::streamWrite ( std::ostream &  ss,
const T &  val 
)

does a binary write of an object to a stream

Definition at line 220 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)
ExplicitBitVect* RDKit::StructuralFingerprintChemReaction ( const ChemicalReaction rxn,
const ReactionFingerprintParams params = DefaultStructuralFPParams 
)

Generates a structural fingerprint for a reaction to use in screening

A structural fingerprint is generated as an ExplicitBitVect to use for searching e.g. substructure in reactions. By default the fingerprint is generated as 4096 BitVect using a PatternFP for reactants and products and tentatively agents which were finally concatenated

Parameters
rxnthe reaction to be fingerprinted
paramsspecific settings to manipulate fingerprint generation
Returns
the reaction fingerprint, as an ExplicitBitVect

Notes:

  • the caller is responsible for deleteing the result
bool RDKit::SubstructMatch ( const ROMol mol,
const ROMol query,
MatchVectType matchVect,
bool  recursionPossible = true,
bool  useChirality = false,
bool  useQueryQueryMatches = false 
)

Find a substructure match for a query in a molecule.

Parameters
molThe ROMol to be searched
queryThe query ROMol
matchVectUsed to return the match (pre-existing contents will be deleted)
recursionPossibleflags whether or not recursive matches are allowed
useChiralityuse atomic CIP codes as part of the comparison
useQueryQueryMatchesif set, the contents of atom and bond queries will be used as part of the matching
Returns
whether or not a match was found
bool RDKit::SubstructMatch ( ResonanceMolSupplier resMolSuppl,
const ROMol query,
MatchVectType matchVect,
bool  recursionPossible = true,
bool  useChirality = false,
bool  useQueryQueryMatches = false 
)

Find a substructure match for a query in a ResonanceMolSupplier object.

Parameters
resMolSupplThe ResonanceMolSupplier object to be searched
queryThe query ROMol
matchVectUsed to return the match (pre-existing contents will be deleted)
recursionPossibleflags whether or not recursive matches are allowed
useChiralityuse atomic CIP codes as part of the comparison
useQueryQueryMatchesif set, the contents of atom and bond queries will be used as part of the matching
Returns
whether or not a match was found
unsigned int RDKit::SubstructMatch ( const ROMol mol,
const ROMol query,
std::vector< MatchVectType > &  matchVect,
bool  uniquify = true,
bool  recursionPossible = true,
bool  useChirality = false,
bool  useQueryQueryMatches = false,
unsigned int  maxMatches = 1000 
)

Find all substructure matches for a query in a molecule.

Parameters
molThe ROMol to be searched
queryThe query ROMol
matchVectUsed to return the matches (pre-existing contents will be deleted)
uniquifyToggles uniquification (by atom index) of the results
recursionPossibleflags whether or not recursive matches are allowed
useChiralityuse atomic CIP codes as part of the comparison
useQueryQueryMatchesif set, the contents of atom and bond queries will be used as part of the matching
maxMatchesThe maximum number of matches that will be returned. In high-symmetry cases with medium-sized molecules, it is very easy to end up with a combinatorial explosion in the number of possible matches. This argument prevents that from having unintended consequences
Returns
the number of matches found
unsigned int RDKit::SubstructMatch ( ResonanceMolSupplier resMolSuppl,
const ROMol query,
std::vector< MatchVectType > &  matchVect,
bool  uniquify = false,
bool  recursionPossible = true,
bool  useChirality = false,
bool  useQueryQueryMatches = false,
unsigned int  maxMatches = 1000,
int  numThreads = 1 
)

Find all substructure matches for a query in a ResonanceMolSupplier object.

Parameters
resMolSupplThe ResonanceMolSupplier object to be searched
queryThe query ROMol
matchVectUsed to return the matches (pre-existing contents will be deleted)
uniquifyToggles uniquification (by atom index) of the results
recursionPossibleflags whether or not recursive matches are allowed
useChiralityuse atomic CIP codes as part of the comparison
useQueryQueryMatchesif set, the contents of atom and bond queries will be used as part of the matching
maxMatchesThe maximum number of matches that will be returned. In high-symmetry cases with medium-sized molecules, it is very easy to end up with a combinatorial explosion in the number of possible matches. This argument prevents that from having unintended consequences
numThreadsThe number of threads used during the search (defaults to 1; 0 selects the number of concurrent threads supported by the hardware; negative values are added to the number of concurrent threads supported by the hardware)
Returns
the number of matches found
template<class T , unsigned int size>
T RDKit::SwapBytes ( value)
inline

Definition at line 39 of file StreamOps.h.

template<typename IndexType >
double RDKit::TanimotoSimilarity ( const SparseIntVect< IndexType > &  v1,
const SparseIntVect< IndexType > &  v2,
bool  returnDistance = false,
double  bounds = 0.0 
)

Definition at line 540 of file SparseIntVect.h.

References TverskySimilarity().

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
inStreamthe stream from which to read
lineused to track the line number of errors
sanitizetoggles sanitization and stereochemistry perception of the molecule
skipFirstConfaccording 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 ( const std::string &  fName,
bool  sanitize = true,
bool  skipFirstConf = false 
)

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

Parameters
fNamethe name of the file from which to read
sanitizetoggles sanitization and stereochemistry perception of the molecule
skipFirstConfaccording 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.
template<typename IndexType >
double RDKit::TverskySimilarity ( const SparseIntVect< IndexType > &  v1,
const SparseIntVect< IndexType > &  v2,
double  a,
double  b,
bool  returnDistance = false,
double  bounds = 0.0 
)

Definition at line 513 of file SparseIntVect.h.

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

Referenced by TanimotoSimilarity().

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

Referenced by RDKit::charptr_functor::operator()().

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
ringsthe INT_VECT's to consider
resused to return results
excludeany values in this optional INT_VECT will be excluded from the union.
template<typename IndexType , typename SequenceType >
void RDKit::updateFromSequence ( SparseIntVect< IndexType > &  vect,
const SequenceType &  seq 
)
void RDKit::updateProductsStereochem ( ChemicalReaction rxn)
template<class T >
std::string RDKit::vectToString ( RDValue  val)

Definition at line 155 of file RDValue.h.

References rdvalue_cast().

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

Variable Documentation

std::string RDKit::additionalParamData
const unsigned int RDKit::BITS_PER_INT = 32

Definition at line 20 of file DiscreteValueVect.h.

const char* RDKit::boostVersion
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 27 of file GasteigerParams.h.

const double RDKit::DAMP_SCALE = 0.5

Definition at line 26 of file GasteigerParams.h.

const char* RDKit::DEFAULT_FILTERMATCHERBASE_NAME
int RDKit::defaultConfId = -1
static

Definition at line 22 of file MolWriters.h.

const double RDKit::EPS_DOUBLE
const int RDKit::FILE_MAXLINE
Initial value:
=
256

an assumed maximum length for lines read from files

Definition at line 25 of file utils.h.

int RDKit::firstThousandPrimes

Definition at line 23 of file utils.h.

const double RDKit::IONXH = 20.02

Definition at line 24 of file GasteigerParams.h.

const std::string RDKit::isotopesAtomData[]
const std::string RDKit::LayeredFingerprintMolVersion = "0.7.0"

Definition at line 111 of file Fingerprints.h.

const int RDKit::massIntegerConversionFactor = 1000

Definition at line 107 of file QueryOps.h.

const double RDKit::MAX_DOUBLE
const double RDKit::MAX_INT
const double RDKit::MAX_LONGINT
const unsigned int RDKit::maxFingerprintLayers = 10

Definition at line 110 of file Fingerprints.h.

const int RDKit::MOLFILE_MAXLINE = 256

Definition at line 24 of file FileParsers.h.

const int RDKit::NUM_PRIMES_AVAIL = 1000

the number of primes available and stored

Definition at line 14 of file primes.h.

const std::string RDKit::periodicTableAtomData
const std::string RDKit::RDKFingerprintMolVersion = "2.0.0"

Definition at line 61 of file Fingerprints.h.

const char* RDKit::rdkitBuild
const char* RDKit::rdkitVersion
const double RDKit::SMALL_DOUBLE
const char* RDKit::SMARTS_MATCH_NAME_DEFAULT
const unsigned int RDKit::substructLayers = 0x07

Definition at line 112 of file Fingerprints.h.