X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=rarefact.cpp;h=691d01708bab5b5bef4118ab38662819280b56de;hb=a3d9877d9c62058dbe167ceca159f4b76744f1cf;hp=6acc24ce9df500338873829216e5c1b3754d7df7;hpb=74844a60d80c6dd06e3fb02ee9b928424f9019b0;p=mothur.git diff --git a/rarefact.cpp b/rarefact.cpp index 6acc24c..691d017 100644 --- a/rarefact.cpp +++ b/rarefact.cpp @@ -12,13 +12,18 @@ /***********************************************************************/ -void Rarefact::getCurve(int increment = 1, int nIters = 1000){ +int Rarefact::getCurve(float percentFreq = 0.01, int nIters = 1000){ try { RarefactionCurveData* rcd = new RarefactionCurveData(); for(int i=0;iregisterDisplay(displays[i]); } - + + //convert freq percentage to number + int increment = 1; + if (percentFreq < 1.0) { increment = numSeqs * percentFreq; } + else { increment = percentFreq; } + for(int iter=0;itercontrol_pressed) { delete lookup; delete rank; delete rcd; return 0; } + int binNumber = order->get(i); int abundance = lookup->get(binNumber); @@ -61,6 +68,7 @@ void Rarefact::getCurve(int increment = 1, int nIters = 1000){ displays[i]->close(); } delete rcd; + return 0; } catch(exception& e) { m->errorOut(e, "Rarefact", "getCurve"); @@ -70,7 +78,7 @@ void Rarefact::getCurve(int increment = 1, int nIters = 1000){ /***********************************************************************/ -void Rarefact::getSharedCurve(int increment = 1, int nIters = 1000){ +int Rarefact::getSharedCurve(float percentFreq = 0.01, int nIters = 1000){ try { SharedRarefactionCurveData* rcd = new SharedRarefactionCurveData(); @@ -84,6 +92,11 @@ try { //if jumble is false all iters will be the same if (globaldata->jumble == false) { nIters = 1; } + //convert freq percentage to number + int increment = 1; + if (percentFreq < 1.0) { increment = numSeqs * percentFreq; } + else { increment = percentFreq; } + for(int iter=0;iter subset; //send each group one at a time for (int k = 0; k < lookup.size(); k++) { + if (m->control_pressed) { delete merge; delete rcd; return 0; } + subset.clear(); //clears out old pair of sharedrabunds //add in new pair of sharedrabunds subset.push_back(merge); subset.push_back(lookup[k]); @@ -127,6 +142,7 @@ try { } delete rcd; + return 0; } catch(exception& e) { m->errorOut(e, "Rarefact", "getSharedCurve");