X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=summarycommand.cpp;h=5ad1ee6432bf17220e3b8fd2187734ba4a7a098a;hb=bbdb72971ea4cd171abe34985af89f97bc2a31d3;hp=12382a48864a87363f5faae62425de574cb5d0e7;hpb=74844a60d80c6dd06e3fb02ee9b928424f9019b0;p=mothur.git diff --git a/summarycommand.cpp b/summarycommand.cpp index 12382a4..5ad1ee6 100644 --- a/summarycommand.cpp +++ b/summarycommand.cpp @@ -139,6 +139,8 @@ int SummaryCommand::execute(){ if ((globaldata->getFormat() != "sharedfile")) { inputFileNames.push_back(globaldata->inputFileName); } else { inputFileNames = parseSharedFile(globaldata->getSharedFile()); globaldata->setFormat("rabund"); } + if (m->control_pressed) { return 0; } + for (int p = 0; p < inputFileNames.size(); p++) { string fileNameRoot = outputDir + getRootName(getSimpleName(inputFileNames[p])) + "summary"; @@ -229,8 +231,12 @@ int SummaryCommand::execute(){ set processedLabels; set userLabels = labels; + if (m->control_pressed) { outputFileHandle.close(); for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } for(int i=0;isabund = NULL; delete input; globaldata->ginput = NULL; return 0; } + while((sabund != NULL) && ((allLines == 1) || (userLabels.size() != 0))) { + if (m->control_pressed) { outputFileHandle.close(); for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } for(int i=0;isabund = NULL; delete input; globaldata->ginput = NULL; return 0; } + if(allLines == 1 || labels.count(sabund->getLabel()) == 1){ m->mothurOut(sabund->getLabel()); m->mothurOutEndLine(); @@ -240,6 +246,9 @@ int SummaryCommand::execute(){ outputFileHandle << sabund->getLabel(); for(int i=0;i data = sumCalculators[i]->getValues(sabund); + + if (m->control_pressed) { outputFileHandle.close(); for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } for(int i=0;isabund = NULL; delete input; globaldata->ginput = NULL; return 0; } + outputFileHandle << '\t'; sumCalculators[i]->print(outputFileHandle); } @@ -259,6 +268,9 @@ int SummaryCommand::execute(){ outputFileHandle << sabund->getLabel(); for(int i=0;i data = sumCalculators[i]->getValues(sabund); + + if (m->control_pressed) { outputFileHandle.close(); for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } for(int i=0;isabund = NULL; delete input; globaldata->ginput = NULL; return 0; } + outputFileHandle << '\t'; sumCalculators[i]->print(outputFileHandle); } @@ -274,6 +286,8 @@ int SummaryCommand::execute(){ sabund = input->getSAbundVector(); } + if (m->control_pressed) { outputFileHandle.close(); for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } for(int i=0;iginput = NULL; return 0; } + //output error messages about any remaining user labels set::iterator it; bool needToRun = false; @@ -296,6 +310,9 @@ int SummaryCommand::execute(){ outputFileHandle << sabund->getLabel(); for(int i=0;i data = sumCalculators[i]->getValues(sabund); + + if (m->control_pressed) { outputFileHandle.close(); for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } for(int i=0;isabund = NULL; delete input; globaldata->ginput = NULL; return 0; } + outputFileHandle << '\t'; sumCalculators[i]->print(outputFileHandle); } @@ -305,12 +322,18 @@ int SummaryCommand::execute(){ outputFileHandle.close(); + if (m->control_pressed) { for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } for(int i=0;iginput = NULL; return 0; } + + delete input; globaldata->ginput = NULL; delete read; delete validCalculator; globaldata->sabund = NULL; + for(int i=0;icontrol_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(); }