00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef OB_GROUPCONTRIB_H
00024 #define OB_GROUPCONTRIB_H
00025
00026 #include <openbabel/mol.h>
00027 #include <openbabel/parsmart.h>
00028
00029 namespace OpenBabel
00030 {
00031
00032 class OBAPI OBGroupContrib
00033 {
00034 public:
00036 OBGroupContrib();
00038 ~OBGroupContrib();
00039 protected:
00042 bool ParseFile(const char *filename);
00050 double GroupContributions(OBMol &mol);
00051 private:
00052 std::vector<std::pair<OBSmartsPattern*, double> > _contribsHeavy;
00053 std::vector<std::pair<OBSmartsPattern*, double> > _contribsHydrogen;
00054 };
00055
00056
00057 class OBAPI OBLogP: public OBGroupContrib
00058 {
00059 public:
00061 OBLogP();
00063 ~OBLogP();
00070 double Predict(OBMol &mol);
00071 };
00072
00073
00074 class OBAPI OBPSA: public OBGroupContrib
00075 {
00076 public:
00078 OBPSA();
00080 ~OBPSA();
00087 double Predict(OBMol &mol);
00088 };
00089
00090
00091 class OBAPI OBMR: public OBGroupContrib
00092 {
00093 public:
00095 OBMR();
00097 ~OBMR();
00104 double Predict(OBMol &mol);
00105 };
00106
00107
00108 }
00109
00110 #endif // OB_GROUPCONTRIB_H
00111