BioInt
1.02.00
BioInt: An integrative biological object-oriented application framework and interpreter
|
00001 #ifndef BIODNAMULTIPATTERNALIGNMENT_H 00002 #define BIODNAMULTIPATTERNALIGNMENT_H 00003 00004 #include <iostream> 00005 #include <fstream> 00006 #include <string> 00007 #include <sstream> 00008 #include <vector> 00009 00010 #include "BioUtilities.h" 00011 #include "BioDnaSequence.h" 00012 #include "BioGenBank.h" 00013 #include "BioFasta.h" 00014 #include "BioEmbl.h" 00015 #include "BioDnaSequenceRepeatAlignment.h" 00016 #include "BioPostScript.h" 00017 00018 using namespace std; 00019 00020 class BioDnaMultiPatternAlignment 00021 { 00022 friend bool operator >(const BioDnaMultiPatternAlignment& , const BioDnaMultiPatternAlignment&); 00023 friend bool operator <(const BioDnaMultiPatternAlignment& , const BioDnaMultiPatternAlignment&); 00024 friend bool operator ==(const BioDnaMultiPatternAlignment& , const BioDnaMultiPatternAlignment&); 00025 00026 vector <BioDnaSequenceRepeatAlignment> reapAligns; 00027 00028 string fileName,substitutionMatrix; 00029 00030 int match,misMatch; 00031 00032 string querySequence; 00033 00034 string outSeq1_,outSeq2_; 00035 00036 vector <int> offsetStart; 00037 vector <int> offsetEnd; 00038 00039 vector < vector <int> > finalstposs; 00040 vector < vector <int> > finaledposs; 00041 00042 BioMatrix tMatrix; 00043 00044 vector <int> scores; 00045 00046 int status; 00047 00048 void tempMatrix(string,string); 00049 00050 vector<string> processInputPattern(string); 00051 00052 vector<int> processStringForPatterns(string ); 00053 00054 bool checkInt(string); 00055 00056 void showAlign(ostream & = cout); 00057 00058 void makeAlign(); 00059 00060 void init(); 00061 00062 public: 00063 ~BioDnaMultiPatternAlignment(); 00064 BioDnaMultiPatternAlignment(); 00065 BioDnaMultiPatternAlignment(BioDnaSequence,string,string,string MatName,int ReapIden=100,int GP=-50,int extn=-9999,int TH=10); 00066 BioDnaMultiPatternAlignment(BioDnaSequence,string,string MatName="IDENTITY",int ReapIden=100,int GP=-50,int extn=-9999,int TH=10); 00067 00068 BioDnaMultiPatternAlignment(BioDnaSequence,string,int ReapIden,int MS,int MMS,int GP=-50,int extn=-9999,int TH=10); 00069 BioDnaMultiPatternAlignment(BioFasta,string,string,string MatName,int ReapIden=100,int GP=-50,int extn=-9999,int TH=10); 00070 BioDnaMultiPatternAlignment(BioFasta,string,string MatName="IDENTITY",int ReapIden=100,int GP=-50,int extn=-9999,int TH=10); 00071 BioDnaMultiPatternAlignment(BioFasta,string,int ReapIden,int MS,int MMS,int GP=-50,int extn=-9999,int TH=10); 00072 00073 BioDnaMultiPatternAlignment(string,string,string,string,int ReapIden=100,int GP=-50,int extn=-9999,int TH=10); 00074 BioDnaMultiPatternAlignment(string,string,string matName="IDENTITY",int ReapIden=100,int GP=-50,int extn=-9999,int TH=10); 00075 BioDnaMultiPatternAlignment(string,string,int ReapIden,int MS,int MMS,int GP=-50,int extn=-9999,int TH=10); 00076 00077 void setSequence(BioDnaSequence); 00078 void setSequence(BioFasta); 00079 void setSequence(string); 00080 00081 void addPattern(string,int ReapIden=100,int GP=-50,int extn=-9999,int TH=10); 00082 00083 void setSubstitutionMatrix(string); 00084 void setSubstitutionMatrix(string,string); 00085 void setMatchMisMatchScore(int MS=1,int MMS=0); 00086 00087 void setGapPenalty(int GP=-11,int extn=-9999, int index = -1); 00088 void setRepeatIdentity(int identity,int index=-1); 00089 void setThreshold(int,int index = -1); 00090 void setOffsetRange(int st, int ed,int index=-1); 00091 void setOrder(string); 00092 void setGaps(int cou,int index=-1); 00093 00094 void showAlignment(ostream & = cout); 00095 void showAlignment(BioPostScript& ps,float=100,float=650,float=450); 00096 00097 int getRepeatStartingPosition(int); 00098 00099 int getRepeatEndingPosition(int); 00100 00101 int getNumberOfRepeats(); 00102 int getScore(int); 00103 string getRepeat(int); 00104 string getAlignedRepeat(int); 00105 00106 }; 00107 00108 #endif