X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=decalc.h;h=d6cca182e81937dd5a494d57c2c8221b6039ad45;hp=9309c37378d8c08c0fc7e1c270f272a153e555f4;hb=df7e3ff9f68ef157b0328a2d353c3258c5d45d89;hpb=db2df3a6a0e6354a666472ede1de74642cfeb06b diff --git a/decalc.h b/decalc.h index 9309c37..d6cca18 100644 --- a/decalc.h +++ b/decalc.h @@ -20,17 +20,34 @@ /***********************************************************************/ +//this structure is necessary to determine the sequence that contributed to the outliers when we remove them +//this way we can remove all scores that are contributed by outlier sequences. +struct quanMember { + float score; + int member1; + int member2; + quanMember (float s, int m, int n) : score(s), member1(m), member2(n) {} + quanMember() {} + +}; + +//******************************************************************************************************************** class DeCalculator { public: - DeCalculator() {}; + DeCalculator() { m = MothurOut::getInstance(); } ~DeCalculator() {}; + vector findClosest(Sequence, vector&, vector&, int, int); //takes querySeq, a reference db, filteredRefDB, numWanted, minSim + Sequence* findClosest(Sequence*, vector); set getPos() { return h; } - void setMask(string m); + void setMask(string); + void setAlignmentLength(int l) { alignLength = l; } void runMask(Sequence*); void trimSeqs(Sequence*, Sequence*, map&); + map trimSeqs(Sequence&, vector&); + void removeObviousOutliers(vector< vector >&, int); vector calcFreq(vector, string); vector findWindows(Sequence*, int, int, int&, int); vector calcObserved(Sequence*, Sequence*, vector, int); @@ -41,9 +58,20 @@ class DeCalculator { float getCoef(vector, vector); vector< vector > getQuantiles(vector, vector, int, vector, int, int, int); + vector returnObviousOutliers(vector< vector >, int); + + map getMaskMap() { return maskMap; } + private: + //vector sortContrib(map); //used by mallard + float findAverage(vector); + //int findLargestContrib(vector); + //void removeContrib(int, vector&); string seqMask; set h; + int alignLength; + map maskMap; + MothurOut* m; };