FragFPGenerator.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (C) 2003-2006 Rational Discovery LLC
00003 //
00004 //   @@ All Rights Reserved @@
00005 //  This file is part of the RDKit.
00006 //  The contents are covered by the terms of the BSD license
00007 //  which is included in the file license.txt, found at the root
00008 //  of the RDKit source tree.
00009 //
00010 #ifndef _RD_FRAG_FP_GENERATOR_H_
00011 #define _RD_FRAG_FP_GENERATOR_H_
00012 
00013 #include <vector>
00014 #include <Catalogs/Catalog.h>
00015 #include "FragCatalogEntry.h"
00016 #include "FragCatParams.h"
00017 
00018 class ExplicitBitVect;
00019 namespace RDKit {
00020   class ROMol;
00021   typedef RDCatalog::HierarchCatalog<FragCatalogEntry, FragCatParams, int> FragCatalog;
00022   typedef std::vector< std::pair<int,int> > MatchVectType; 
00023 
00024 
00025   class FragFPGenerator {
00026   public:
00027     FragFPGenerator() {}
00028 
00029     ExplicitBitVect *getFPForMol(const ROMol &mol, const FragCatalog &fcat);
00030 
00031   private:
00032     void computeFP(const ROMol &mol, const FragCatalog &fcat,
00033                    const MatchVectType &aidToFid, ExplicitBitVect *fp);
00034   };
00035 }
00036 
00037 #endif