RDCode: SubstructUtils.h Source File

# SubstructUtils.h

Go to the documentation of this file.

    00001 //
    00002 //  Copyright (C) 2003-2006 Greg Landrum and Rational Discovery LLC
    00003 //
    00004 //   @@ All Rights Reserved  @@
    00005 //
    00006 #ifndef _RD_SUBSTRUCT_UTILS_H_
    00007 #define _RD_SUBSTRUCT_UTILS_H_
    00008
    00009 #include "SubstructMatch.h"
    00010 #include <boost/smart_ptr.hpp>
    00011
    00012 #ifdef USE_VFLIB
    00013 class ARGEdit;
    00014 #endif
    00015
    00016 namespace RDKit{
    00017   class ROMol;
    00018   class Atom;
    00019   class Bond;
    00020   typedef boost::shared_ptr<Atom>    ATOM_SPTR;
    00021   typedef boost::shared_ptr<Bond>    BOND_SPTR;
    00022
    00023   double toPrime(const MatchVectType &v);
    00024   void removeDuplicates(std::vector<MatchVectType> &v);
    00025 #ifdef USE_VFLIB
    00026   bool atomCompat(const Atom *a1,const Atom *a2);
    00027   bool chiralAtomCompat(const Atom *a1,const Atom *a2);
    00028   bool bondCompat(const Bond *b1,const Bond *b2);
    00029   void MolToVFGraph(const ROMol &mol,ARGEdit *vgEd);
    00030   bool substructVisitor(int n, node_id ni1[],node_id ni2[],void *mvp);
    00031   bool substructHeadVisitor(int n, node_id ni1[],node_id ni2[],void *mvp);
    00032 #else
    00033   bool atomCompat(const ATOM_SPTR a1,const ATOM_SPTR a2);
    00034   bool chiralAtomCompat(const ATOM_SPTR a1,const ATOM_SPTR a2);
    00035   bool bondCompat(const BOND_SPTR b1,const BOND_SPTR b2);
    00036 #endif
    00037
    00038 }
    00039
    00040
    00041 #endif