X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=maligner.h;fp=maligner.h;h=abe18a3cb1ad6c6b65d41077b8dd1fb56d802f96;hb=5a1e62397b91f57d0d3aff635891df04b8999a88;hp=6277e7300a02fbe815468e223298f5f969813a51;hpb=df92022fc75c08b91cefa2c6ca4fd7b23eb480b0;p=mothur.git diff --git a/maligner.h b/maligner.h index 6277e73..abe18a3 100644 --- a/maligner.h +++ b/maligner.h @@ -10,53 +10,32 @@ */ #include "decalc.h" +#include "chimera.h" /***********************************************************************/ //This class was modeled after the chimeraMaligner written by the Broad Institute -/***********************************************************************/ -struct score_struct { - int prev; - int score; - int row; - int col; -}; -/***********************************************************************/ -struct trace_struct { - int col; - int oldCol; - int row; -}; -/***********************************************************************/ -struct results { - int regionStart; - int regionEnd; - string parent; - float queryToParent; - float queryToParentLocal; - float divR; -}; - /**********************************************************************/ class Maligner { public: - Maligner(vector, int, int, int, float, int); + Maligner(vector, int, int, int, float, int, int, string); ~Maligner() {}; - string getResults(Sequence*); + string getResults(Sequence*, DeCalculator*); float getPercentID() { return percentIdenticalQueryChimera; } vector getOutput() { return outputResults; } private: - DeCalculator* decalc; Sequence* query; vector refSeqs; vector db; - int numWanted, matchScore, misMatchPenalty, minCoverage; + int numWanted, matchScore, misMatchPenalty, minCoverage, minSimilarity; + string searchMethod; float minDivR, percentIdenticalQueryChimera; vector outputResults; + map spotMap; vector minCoverageFilter(vector); //removes top matches that do not have minimum coverage with query. int computeChimeraPenalty(); @@ -68,6 +47,8 @@ class Maligner { vector mapTraceRegionsToAlignment(vector, vector); string constructChimericSeq(vector, vector); float computePercentID(string, string); + string chimeraMaligner(int, DeCalculator*); + vector getBlastSeqs(Sequence*, int); };