X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=unifracunweightedcommand.cpp;h=28bc2ac55f64ebb02185a55d43ba9ea8e6faa03b;hp=01f6f98fceb7349fdaf9ccdce53afdf60aaff42c;hb=aa9238c0a9e6e7aa0ed8b8b606b08ad4fd7dcfe3;hpb=182db2b6f1747bc1e0b8cd3eceec8751abdd31d5 diff --git a/unifracunweightedcommand.cpp b/unifracunweightedcommand.cpp index 01f6f98..28bc2ac 100644 --- a/unifracunweightedcommand.cpp +++ b/unifracunweightedcommand.cpp @@ -134,6 +134,12 @@ int UnifracUnweightedCommand::execute() { //get pscores for users trees for (int i = 0; i < T.size(); i++) { + if (m->control_pressed) { + outSum.close(); + for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } + return 0; + } + counter = 0; if (random) { @@ -141,6 +147,7 @@ int UnifracUnweightedCommand::execute() { outputNames.push_back(outputDir + getSimpleName(globaldata->getTreeFile()) + toString(i+1) + ".unweighted"); } + //get unweighted for users tree rscoreFreq.resize(numComp); rCumul.resize(numComp); @@ -149,6 +156,13 @@ int UnifracUnweightedCommand::execute() { userData = unweighted->getValues(T[i]); //userData[0] = unweightedscore + if (m->control_pressed) { + if (random) { delete output; } + outSum.close(); + for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } + return 0; + } + //output scores for each combination for(int k = 0; k < numComp; k++) { //saves users score @@ -158,10 +172,17 @@ int UnifracUnweightedCommand::execute() { validScores[userData[k]] = userData[k]; } - //get unweighted scores for random trees + //get unweighted scores for random trees - if random is false iters = 0 for (int j = 0; j < iters; j++) { //we need a different getValues because when we swap the labels we only want to swap those in each pairwise comparison randomData = unweighted->getValues(T[i], "", ""); + + if (m->control_pressed) { + if (random) { delete output; } + outSum.close(); + for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } + return 0; + } for(int k = 0; k < numComp; k++) { //add trees unweighted score to map of scores @@ -192,7 +213,15 @@ int UnifracUnweightedCommand::execute() { if (random) { UWScoreSig[a].push_back(rCumul[a][userData[a]]); } else { UWScoreSig[a].push_back(0.0); } } - + + + if (m->control_pressed) { + if (random) { delete output; } + outSum.close(); + for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } + return 0; + } + //print output files printUWSummaryFile(i); if (random) { printUnweightedFile(); delete output; } @@ -205,10 +234,11 @@ int UnifracUnweightedCommand::execute() { UWScoreSig.clear(); } - //reset groups parameter - globaldata->Groups.clear(); + outSum.close(); + if (m->control_pressed) { for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } return 0; } + m->mothurOutEndLine(); m->mothurOut("Output File Names: "); m->mothurOutEndLine(); for (int i = 0; i < outputNames.size(); i++) { m->mothurOut(outputNames[i]); m->mothurOutEndLine(); }