MTK++ Latest version: 0.2.0
00001 00040 #ifndef SEQALIGN_H 00041 #define SEQALIGN_H 00042 00043 #include <iostream> 00044 #include <string> 00045 #include <vector> 00046 #include <map> 00047 #include <algorithm> 00048 00049 #include "Utils/constants.h" 00050 00051 namespace MTKpp 00052 { 00053 00054 class molecule; 00055 class submolecule; 00056 class atom; 00057 00058 // ============================================================ 00059 // Class : seqAlign() 00060 // ------------------------------------------------------------ 00065 // ============================================================ 00066 00067 class seqAlign 00068 { 00069 public: 00070 00072 seqAlign(); 00073 00075 virtual ~seqAlign(); 00076 00081 int run(); 00082 00088 int setTemplate(molecule* pMolecule); 00089 00095 int setQuery(molecule* pMolecule); 00096 00103 void setPAMFile(std::string pam); 00104 00109 void setPAMSize(int s); 00110 00116 void setPAMType(int i, std::string s); 00117 00124 void setPAMValue(int i, int j, double v); 00125 00129 void printPAM(); 00130 00135 void setAlgorithmType(int i); 00136 00141 void setGapPenaltyType(int i); 00142 00147 void setGapOpen(double d); 00148 00153 void setGapExtend(double d); 00154 00159 int* getCorrMap(); 00160 00164 void printResults(); 00165 00172 double getSimScore(std::string i, std::string j); 00173 00174 protected: // functions 00175 00180 int initMatchMatrix(); 00181 00186 int traceBack(); 00187 00188 protected: // data 00189 00191 molecule* tMol; 00192 00194 int tNRes; 00195 00197 char* tCSeq; 00198 00200 int* tISeq; 00201 00203 molecule* qMol; 00204 00206 int qNRes; 00207 00209 char* qCSeq; 00210 00212 int* qISeq; 00213 00219 int algorithmType; 00220 00231 int gapPenaltyType; 00232 00234 double gapOpen; 00235 00237 double gapExtend; 00238 00240 int maxGap; 00241 00243 int gapSize; 00244 00246 std::string pamFile; 00247 00249 int pamSize; 00250 00252 char* pamTypes; 00253 00255 double* pam; 00256 00258 double* matchMatrix; 00259 00261 int* maxIndices; 00262 00264 int bestI; 00265 00267 int bestJ; 00268 00270 double bestMatchMatrixValue; 00271 00273 std::string alignmentA; 00274 00276 std::string alignmentB; 00277 00279 int* corrMap; 00280 }; 00281 00282 } // MTKpp namespace 00283 00284 #endif // COLLECTION_H
Generated on Fri Dec 23 2011 09:28:51 for MTK++ by Doxygen 1.7.5.1