X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=chimerarealigner.h;h=5809f42997381ab53ba5aaeb43a6c0d0b5cb6619;hp=7ad741800e3b571f4c3b63dd8349bcf2e9e21e47;hb=cf9987b67aa49777a4c91c2d21f96e58bf17aa82;hpb=546daa95f30e1a012e1bcb7f134595273848d917 diff --git a/chimerarealigner.h b/chimerarealigner.h index 7ad7418..5809f42 100644 --- a/chimerarealigner.h +++ b/chimerarealigner.h @@ -15,20 +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; - - //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