X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=chimerarealigner.h;h=5809f42997381ab53ba5aaeb43a6c0d0b5cb6619;hp=cf7115804122d202c62903b31664cb7db1b059e3;hb=bd27c2b0612942815b7417c79f7ee41f669a2a34;hpb=4c16a1dac0538d5ba2ac925674747ab174612ab8 diff --git a/chimerarealigner.h b/chimerarealigner.h index cf71158..5809f42 100644 --- a/chimerarealigner.h +++ b/chimerarealigner.h @@ -15,18 +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(); - ~ChimeraReAligner(); - - void reAlign(Sequence*, vector); +public: + ChimeraReAligner(); + ~ChimeraReAligner(); + + void reAlign(Sequence*, vector); - private: - Sequence* querySeq; - 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