X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=decalc.cpp;h=2e214bffe969181c9f83061edc69a491610fe8a8;hb=2f17ce987b15dca9a309116d9df5131a1d3a35ee;hp=4e80c65d29aa7c8d6a2354db95027c3365c7962d;hpb=a250de2144fa57c7f18152251bf726303522119b;p=mothur.git diff --git a/decalc.cpp b/decalc.cpp index 4e80c65..2e214bf 100644 --- a/decalc.cpp +++ b/decalc.cpp @@ -381,9 +381,9 @@ vector DeCalculator::findQav(vector window, int size, vector } //*************************************************************************************************************** //seqs have already been masked -vector< vector > DeCalculator::getQuantiles(vector seqs, vector windowSizesTemplate, int window, vector probProfile, int increment, int start, int end) { +vector< vector > DeCalculator::getQuantiles(vector seqs, vector windowSizesTemplate, int window, vector probProfile, int increment, int start, int end) { try { - vector< vector > quan; + vector< vector > quan; //percentage of mismatched pairs 1 to 100 quan.resize(100); @@ -428,9 +428,9 @@ vector< vector > DeCalculator::getQuantiles(vector seqs, //cout << i << '\t' << j << '\t' << dist << '\t' << de << endl; dist = ceil(dist); - quanMember newScore(de, i, j); + //quanMember newScore(de, i, j); - quan[dist].push_back(newScore); + quan[dist].push_back(de); delete subject; } @@ -454,23 +454,23 @@ inline bool compareQuanMembers(quanMember left, quanMember right){ } //*************************************************************************************************************** //this was going to be used by pintail to increase the sensitivity of the chimera detection, but it wasn't quite right. may want to revisit in the future... -void DeCalculator::removeObviousOutliers(vector< vector >& quantiles, int num) { +void DeCalculator::removeObviousOutliers(vector< vector >& quantiles, int num) { try { for (int i = 0; i < quantiles.size(); i++) { //find mean of this quantile score - sort(quantiles[i].begin(), quantiles[i].end(), compareQuanMembers); + sort(quantiles[i].begin(), quantiles[i].end()); - vector temp; + vector temp; if (quantiles[i].size() != 0) { - float high = quantiles[i][int(quantiles[i].size() * 0.99)].score; - float low = quantiles[i][int(quantiles[i].size() * 0.01)].score; + float high = quantiles[i][int(quantiles[i].size() * 0.99)]; + float low = quantiles[i][int(quantiles[i].size() * 0.01)]; //look at each value in quantiles to see if it is an outlier for (int j = 0; j < quantiles[i].size(); j++) { //is this score between 1 and 99% - if ((quantiles[i][j].score > low) && (quantiles[i][j].score < high)) { + if ((quantiles[i][j] > low) && (quantiles[i][j] < high)) { temp.push_back(quantiles[i][j]); } }