SubstructMatch.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef _RD_SUBSTRUCTMATCH_H__
00007 #define _RD_SUBSTRUCTMATCH_H__
00008
00009
00010 #include <vector>
00011
00012 #ifdef USE_VFLIB
00013
00014 #include <argraph.h>
00015 #include <vf_mono_state.h>
00016 #include <vf2_mono_state.h>
00017 #endif
00018
00019 namespace RDKit{
00020 class ROMol;
00021 class Atom;
00022 class Bond;
00023
00024
00025
00026 typedef std::vector< std::pair<int,int> > MatchVectType;
00027
00028 #ifdef USE_VFLIB
00029
00030 typedef VF2MonoState MatcherState;
00031
00032 typedef ARGraph<const Atom, const Bond> AR_MOLGRAPH;
00033
00034 AR_MOLGRAPH *getMolGraph(const ROMol &mol,bool registerIt=false);
00035
00036 #ifdef CACHE_ARMOLGRAPHS
00037 namespace SubstructLocal {
00038 void clearMolGraphCache();
00039 }
00040 #endif
00041 #endif
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056 bool SubstructMatch(const ROMol &mol,const ROMol &query,
00057 MatchVectType &matchVect,
00058 bool recursionPossible=true,
00059 bool useChirality=false,
00060 bool registerQuery=false);
00061 #ifdef USE_VFLIB
00062
00063 bool SubstructMatch(AR_MOLGRAPH *molG,const ROMol &query,
00064 MatchVectType &matchVect,
00065 bool recursionPossible=true,
00066 bool useChirality=false,
00067 bool registerQuery=false);
00068 #endif
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084 unsigned int SubstructMatch(const ROMol &mol,const ROMol &query,
00085 std::vector< MatchVectType > &matchVect,
00086 bool uniquify=true,bool recursionPossible=true,
00087 bool useChirality=false,
00088 bool registerQuery=false);
00089 #ifdef USE_VFLIB
00090
00091 unsigned int SubstructMatch(AR_MOLGRAPH *molG,const ROMol &query,
00092 std::vector< MatchVectType > &matchVect,
00093 bool uniquify=true,bool recursionPossible=true,
00094 bool useChirality=false,
00095 bool registerQuery=false);
00096 #endif
00097 }
00098
00099 #endif
00100
00101
00102
00103