X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=chimerarealigner.h;h=5809f42997381ab53ba5aaeb43a6c0d0b5cb6619;hp=4cee6eb020643e1b1ed356b597b856614b1b0d9b;hb=a8e2df1b96a57f5f29576b08361b86a96a8eff4f;hpb=74844a60d80c6dd06e3fb02ee9b928424f9019b0 diff --git a/chimerarealigner.h b/chimerarealigner.h index 4cee6eb..5809f42 100644 --- a/chimerarealigner.h +++ b/chimerarealigner.h @@ -15,23 +15,44 @@ /***********************************************************/ +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, int, int); - ~ChimeraReAligner(); - - void reAlign(Sequence*, vector); +public: + ChimeraReAligner(); + ~ChimeraReAligner(); + + void reAlign(Sequence*, vector); - private: - Sequence* querySeq; - Alignment* alignment; - vector templateSeqs; - int match, misMatch; - - Sequence* getSequence(string); //find sequence from name - MothurOut* m; +private: + void buildTemplateProfile(vector); + void createAlignMatrix(int, int); + void fillAlignMatrix(string); + int calcMatchScore(bases, char); + string getNewAlignment(string); + + int alignmentLength; + vector profile; + vector > alignMatrix; + + MothurOut* m; }; + /***********************************************************/ #endif