X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=chimera.h;h=f893d63ed9c57e7d53d84843cb3b647cc9dd89d6;hb=2397df97b12cd5d21ea10dc4248c18a5803ddd41;hp=a968a02fa61cb06d7bef2d92386db5d55cf020f3;hpb=5a1e62397b91f57d0d3aff635891df04b8999a88;p=mothur.git diff --git a/chimera.h b/chimera.h index a968a02..f893d63 100644 --- a/chimera.h +++ b/chimera.h @@ -45,28 +45,18 @@ struct results { int nastRegionStart; int nastRegionEnd; string parent; + string parentAligned; float queryToParent; float queryToParentLocal; float divR; }; /***********************************************************************/ -struct rank { - int num; - float score; - rank(int n, float s) : num(n), score(s) {} -}; -/***********************************************************************/ - struct SeqDist { Sequence* seq; float dist; + int index; }; //******************************************************************************************************************** -//sorts highest to lowest -inline bool compareMembers(rank left, rank right){ - return (left.score > right.score); -} -//******************************************************************************************************************** //sorts lowest to highest inline bool compareRegionStart(results left, results right){ return (left.nastRegionStart < right.nastRegionStart); @@ -100,6 +90,7 @@ class Chimera { Chimera(){}; Chimera(string); + Chimera(string, bool, string); Chimera(string, string); virtual ~Chimera(){}; virtual void setFilter(bool f) { filter = f; } @@ -123,6 +114,7 @@ class Chimera { virtual void setTemplateSeqs(vector t) { templateSeqs = t; } virtual bool getUnaligned() { return unaligned; } virtual void setTemplateFile(string t) { templateFileName = t; } + virtual int getLength() { return length; } virtual void setCons(string){}; virtual void setQuantiles(string){}; @@ -130,20 +122,20 @@ class Chimera { virtual vector readSeqs(string); virtual vector< vector > readQuantiles(); virtual void setMask(string); - virtual void runFilter(Sequence*); - virtual void createFilter(vector); + virtual map runFilter(Sequence*); + virtual string createFilter(vector, float); virtual void printHeader(ostream&){}; virtual int getChimeras(Sequence*){ return 0; } virtual int getChimeras(){ return 0; } - virtual void print(ostream&){}; + virtual void print(ostream&, ostream&){}; protected: vector templateSeqs; bool filter, correction, svg, unaligned; - int processors, window, increment, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters; + int processors, window, increment, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters, length; float divR; string seqMask, quanfile, filterString, name, outputDir, templateFileName; Sequence* getSequence(string); //find sequence from name