X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=chimerarealigner.h;h=5809f42997381ab53ba5aaeb43a6c0d0b5cb6619;hp=dec41ef716eb9bcd35864bb461ade028786b2133;hb=b206f634aae1b4ce13978d203247fb64757d5482;hpb=9489965363593bb2a3e94f801b4079a32ddf8732 diff --git a/chimerarealigner.h b/chimerarealigner.h index dec41ef..5809f42 100644 --- a/chimerarealigner.h +++ b/chimerarealigner.h @@ -15,22 +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; - 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