]> git.donarmstrong.com Git - mothur.git/blobdiff - chimerarealigner.h
added modify names parameter to set.dir
[mothur.git] / chimerarealigner.h
index 2b53841e241806c435a0a8f30b7c444b6050739f..5809f42997381ab53ba5aaeb43a6c0d0b5cb6619 100644 (file)
 
 /***********************************************************/
 
+struct AlignCell {
+       int score;
+       char direction;
+       AlignCell() : score(0), direction('x') {};
+};
+
+/***********************************************************/
+
+struct  bases {
+       int A, T, G, C, Gap, Chars;
+       bases() : A(0), T(0), G(0), C(0), Gap(0), Chars(0){};
+};
+
+/***********************************************************/
+
+
 class ChimeraReAligner  {
        
-       public:
-               ChimeraReAligner(vector<Sequence*>, int, int);   
-               ~ChimeraReAligner();
-               
-               void reAlign(Sequence*, vector<results>);
+public:
+       ChimeraReAligner();      
+       ~ChimeraReAligner();
+       
+       void reAlign(Sequence*, vector<string>);
                                
-       private:
-               Sequence* querySeq;
-               Alignment* alignment;
-               vector<Sequence*> templateSeqs;
-               int match, misMatch;
-               
-               Sequence* getSequence(string);  //find sequence from name
+private:
+       void buildTemplateProfile(vector<string>);
+       void createAlignMatrix(int, int);
+       void fillAlignMatrix(string);
+       int calcMatchScore(bases, char);
+       string getNewAlignment(string);
+
+       int alignmentLength;
+       vector<bases> profile;
+       vector<vector<AlignCell> > alignMatrix;
+
+       MothurOut* m;
 };
+
 /***********************************************************/
 
 #endif