BioInt
1.02.00
BioInt: An integrative biological object-oriented application framework and interpreter
|
00001 #ifndef BIOPROTEINSEQUENCEALIGNMENT_H 00002 #define BIOPROTEINSEQUENCEALIGNMENT_H 00003 00004 #include <iostream> 00005 #include <fstream> 00006 #include <sstream> 00007 #include <string> 00008 #include <vector> 00009 #include "BioUtilities.h" 00010 #include "BioProteinSequence.h" 00011 #include "BioSwissProt.h" 00012 #include "BioFasta.h" 00013 #include "BioProteinSubstitutionMatrix.h" 00014 #include "BioMultipleFasta.h" 00015 #include "BioLenPos.h" 00016 #include "BioMatrix.h" 00017 00018 class BioProteinSequenceAlignment 00019 { 00020 protected: 00021 /*VARIABLES*/ 00022 string seq1_,seq2_; /* These variables holds the sequences to be aligned*/ 00023 string conseq_ ; /* This variable holds the consensus sequence - added on 12.03.2012 */ 00024 00025 string outSeq1_,outSeq2_; /* These varables holds the ouput aligned sequences*/ 00026 00027 string seqName1_,seqName2_; /* These variables holds the Sequence Names */ 00028 00029 static string aminoAcidSeq_; /* This String Holds the AminoAcid names in a most comman way of its usage*/ 00030 00031 int gapPenalty; /* This varible is used to Set the Gap Penality in sequnce alignment process (in substitution matrix) */ 00032 00033 int gapExtn; /* This variable is used to set the Gap Extention Penality in seqquence alignment process*/ 00034 00035 BioMatrix substitutionMatrix; /* This 2D array holds the Substitutionmatrix elements used for the currrent alignment*/ 00036 // vector < vector < int > > tempMatrix; /* This is a temporary 2D variable used for most convenetianal way data transfer*/ 00037 BioMatrix scoringMatrix; 00038 //int** accumMatrix; 00039 int status; 00040 00041 /*FUNCTIONS*/ 00042 void formScoringMatrix(); 00043 00044 int getAccValMov(long,long,int); 00045 00046 void init(); 00047 00048 BioProteinSequenceAlignment(); 00049 // ~BioProteinSequenceAlignment(){ delete seq1_, seq2_, outSeq1_, outSeq2_, seqName1_, seqName2_; }; 00050 00051 BioProteinSequenceAlignment(BioProteinSequence,BioProteinSequence,string mat="BLOSUM62",int GP=-11,int extn=-9999); 00052 BioProteinSequenceAlignment(BioProteinSequence,BioProteinSequence,string,string,int GP=-11,int extn=-9999); 00053 BioProteinSequenceAlignment(BioProteinSequence,BioProteinSequence,int MS,int MMS,int GP=-11,int extn=-9999); 00054 BioProteinSequenceAlignment(BioProteinSequence,string,string mat="BLOSUM62",int GP=-11,int extn=-9999); 00055 BioProteinSequenceAlignment(BioProteinSequence,string,string,string,int GP=-11,int extn=-9999); 00056 BioProteinSequenceAlignment(BioProteinSequence,string,int MS,int MMS,int GP=-11,int extn=-9999); 00057 00058 BioProteinSequenceAlignment(BioSwissProt,BioSwissProt,string mat="BLOSUM62",int GP=-11,int extn=-9999); 00059 BioProteinSequenceAlignment(BioSwissProt,BioSwissProt,string,string,int GP=-11,int extn=-9999); 00060 BioProteinSequenceAlignment(BioSwissProt,BioSwissProt,int MS,int MMS,int GP=-11,int extn=-9999); 00061 BioProteinSequenceAlignment(BioSwissProt,string,string mat="BLOSUM62",int GP=-11,int extn=-9999); 00062 BioProteinSequenceAlignment(BioSwissProt,string,string,string,int GP=-11,int extn=-9999); 00063 BioProteinSequenceAlignment(BioSwissProt,string,int MS,int MMS,int GP=-11,int extn=-9999); 00064 00065 00066 BioProteinSequenceAlignment(const BioFasta&,const BioFasta&,const string& mat="BLOSUM62",const int& GP=-11,const int& extn=-9999); 00067 BioProteinSequenceAlignment(BioFasta,BioFasta,string,string,int GP=-11,int extn=-9999); 00068 BioProteinSequenceAlignment(BioFasta,BioFasta,int MS,int MMS,int GP=-11,int extn=-9999); 00069 BioProteinSequenceAlignment(BioFasta,string,string mat="BLOSUM62",int GP=-11,int extn=-9999); 00070 BioProteinSequenceAlignment(BioFasta,string,string,string,int GP=-11,int extn=-9999); 00071 BioProteinSequenceAlignment(BioFasta,string,int MS,int MMS,int GP=-11,int extn=-9999); 00072 00073 00074 BioProteinSequenceAlignment(const string&,const string&,const string& mat="BLOSUM62",int GP=-11,int extn=-9999); 00075 BioProteinSequenceAlignment(const string&,const string&,const string&,const string&,int GP=-11,int extn=-9999); 00076 BioProteinSequenceAlignment(const string&,const string&,int MS,int MMS,int GP=-11,int extn=-9999); 00077 00078 public: 00079 void setSequence1(BioProteinSequence); 00080 void setSequence2(BioProteinSequence); 00081 00082 void setSequence1(BioSwissProt); 00083 void setSequence2(BioSwissProt); 00084 00085 void setSequence1(BioFasta); 00086 void setSequence2(BioFasta); 00087 00088 void setSequence1(const string&); 00089 void setSequence2(const string&); 00090 00091 void setGapPenalty(int GP=-11,int extn=-9999); 00092 void setSubstitutionMatrix(const string&); 00093 void setSubstitutionMatrix(const string&,const string&); 00094 void setMatchMisMatchScore(int MS=1,int MMS=0); 00095 00096 void showScoringMatrix(ostream & = cout); 00097 00098 }; 00099 00100 #endif