X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=decalc.h;h=d6cca182e81937dd5a494d57c2c8221b6039ad45;hp=4ce45bf751915dd9e077ce478ae912358e789900;hb=df7e3ff9f68ef157b0328a2d353c3258c5d45d89;hpb=fe346922fe0af5b1a025beacb211078d37598fd4 diff --git a/decalc.h b/decalc.h index 4ce45bf..d6cca18 100644 --- a/decalc.h +++ b/decalc.h @@ -20,19 +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); void setAlignmentLength(int l) { alignLength = l; } void runMask(Sequence*); void trimSeqs(Sequence*, Sequence*, map&); - void removeObviousOutliers(vector< vector >&); + 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); @@ -43,11 +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: - float findAverage(vector myVector); + //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; };