MTK++ Latest version: 0.2.0
00001 00037 #ifndef ATOMTYPER_H 00038 #define ATOMTYPER_H 00039 00040 #include <iostream> 00041 #include <string> 00042 #include <vector> 00043 #include <algorithm> 00044 00045 namespace MTKpp 00046 { 00047 00048 class collection; 00049 class molecule; 00050 class submolecule; 00051 class atom; 00052 00053 class stdLibrary; 00054 class stdGroup; 00055 class stdFrag; 00056 struct stdAtom; 00057 00058 class parameters; 00059 struct atomType; 00060 00061 // ============================================================ 00062 // Class : atomTyper() 00063 // ------------------------------------------------------------ 00064 // Class atomTyper 00065 // ============================================================ 00066 class atomTyper 00067 { 00068 public: 00069 00073 atomTyper(); 00074 00078 atomTyper(int b); 00079 00083 virtual ~atomTyper(); 00084 00089 void atomTypeByLib(collection* c); 00090 00095 void atomTypeByLib(molecule* m); 00096 00101 void atomTypeByCon(collection* c); 00102 00107 void assignStdProperties(molecule* m); 00108 00109 protected: 00110 00114 void perceiveHistidines(); 00115 00119 void perceiveCysteines(); 00120 00125 void assignStdRings(molecule* pMolecule); 00126 00131 void assignStdFunctionalGroups(molecule* pMolecule); 00132 00137 void assignStdHydrophobicGroups(molecule* pMolecule); 00138 00140 typedef std::vector<molecule*>::iterator moleculeIterator; 00141 00143 typedef std::vector<submolecule*>::iterator subMoleculeIterator; 00144 00146 typedef std::vector<atom*>::iterator atomIterator; 00147 00149 std::vector<molecule*> moleculeList; 00150 00152 std::vector<submolecule*> subMoleculeList; 00153 00155 std::vector<atom*> atomList; 00156 00158 collection* pCollection; 00159 00161 molecule* pMolecule; 00162 00164 submolecule* pSubMolecule; 00165 00167 atom* pAtom; 00168 00170 stdLibrary* pStdLibrary; 00171 00173 stdGroup* pStdGroup; 00174 00176 stdFrag* pStdFrag; 00177 00179 stdAtom* pStdAtom; 00180 00182 parameters* pParameters; 00183 00185 int bPerceiveHistidines; 00186 00188 int bPerceiveCysteines; 00189 }; 00190 00191 } // MTKpp namespace 00192 00193 #endif // ATOMTYPER_H
Generated on Fri Dec 23 2011 09:28:49 for MTK++ by Doxygen 1.7.5.1