00001
00002
00003
00004
00005
00006 #ifndef BALL_QSAR_SIMPLEBASE_H
00007 #define BALL_QSAR_SIMPLEBASE_H
00008
00009 #ifndef BALL_QSAR_DESCRIPTOR_H
00010 #include <BALL/QSAR/descriptor.h>
00011 #endif
00012
00013 namespace BALL
00014 {
00020 class BALL_EXPORT SimpleBase
00021 : public Descriptor
00022 {
00023 public:
00024
00030 SimpleBase();
00031
00034 SimpleBase(const SimpleBase& sb);
00035
00038 SimpleBase(const String& name);
00039
00042 SimpleBase(const String& name, const String& unit);
00043
00046 virtual ~SimpleBase();
00048
00054 virtual SimpleBase& operator = (const SimpleBase& sb);
00055
00056
00060 void computeAllDescriptors(AtomContainer& ac);
00061
00063 void setDataFolder(const char* folder);
00065
00066
00067 protected:
00068
00072
00073
00074
00075
00076 bool isValid_(AtomContainer& ac);
00078
00082
00083
00084 void calculate_(AtomContainer& ac);
00086
00087
00088 private:
00089
00094
00095
00096
00097
00098
00099
00100 double calcPrincipalMomentOfInertia_(double& pmi_x, double& pmi_y, double& pmi_z, AtomContainer& ac);
00101
00102
00103
00104
00105
00106
00107 void readAtomicPolarizabilities_(std::vector<float>& polarizabilities);
00108
00109
00110
00111
00112 float getAtomicPolarizability_(int atomic_number);
00114
00118
00119
00120
00121
00122 bool isHydrophobic_(const Atom* atom) const;
00123
00124 String data_folder_;
00126 };
00127 }
00128
00129 #endif