MTK++ Latest version: 0.2.0

atomTyper.h
Go to the documentation of this file.
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