MTK++ Latest version: 0.2.0

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