X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=getlabelcommand.cpp;h=1c08eb1fab8905674700bdc440a93ebd38b88a4f;hb=30c1fd8c45b6f0d66c17f2714dbb58b8ddccdce2;hp=c5a59acae780cc5b404fd7236712de164b3adc88;hpb=bfbc55964f1977da72c2cea984288a427d370a59;p=mothur.git diff --git a/getlabelcommand.cpp b/getlabelcommand.cpp index c5a59ac..1c08eb1 100644 --- a/getlabelcommand.cpp +++ b/getlabelcommand.cpp @@ -3,27 +3,46 @@ * Mothur * * Created by Thomas Ryabin on 1/30/09. - * Copyright 2009 __MyCompanyName__. All rights reserved. + * Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved. * */ #include "getlabelcommand.h" +//********************************************************************************************************************** - -GetlabelCommand::GetlabelCommand(){ +GetlabelCommand::GetlabelCommand(string option) { try { globaldata = GlobalData::getInstance(); + abort = false; + + //allow user to run help + if(option == "help") { help(); abort = true; } + + else { + if ((globaldata->getListFile() == "") && (globaldata->getRabundFile() == "") && (globaldata->getSabundFile() == "")) { m->mothurOut("You must read a list, sabund or rabund before you can use the get.label command."); m->mothurOutEndLine(); abort = true; } + } + } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the GetlabelCommand class Function GetlabelCommand. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "GetlabelCommand", "GetlabelCommand"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the GetlabelCommand class function GetlabelCommand. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; +} +//********************************************************************************************************************** + +void GetlabelCommand::help(){ + try { + m->mothurOut("The get.label command can only be executed after a successful read.otu command.\n"); + m->mothurOut("You may not use any parameters with the get.label command.\n"); + m->mothurOut("The get.label command should be in the following format: \n"); + m->mothurOut("get.label()\n"); + m->mothurOut("Example get.label().\n"); + } + catch(exception& e) { + m->errorOut(e, "GetlabelCommand", "help"); exit(1); - } - + } } //********************************************************************************************************************** @@ -35,34 +54,36 @@ GetlabelCommand::~GetlabelCommand(){ int GetlabelCommand::execute(){ try { + + if (abort == true) { return 0; } + filename = globaldata->inputFileName; ifstream in; openInputFile(filename, in); string label; int numBins = 0; int count = -1; - while(in.good()) - { + while(in.good()) { + + if (m->control_pressed) { in.close(); return 0; } + if(count > numBins) count = 0; - if(count == 0) - { - cout << label << "\n"; + if(count == 0) { + m->mothurOut(label); m->mothurOutEndLine(); in >> numBins; } in >> label; count++; } + + in.close(); return 0; } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the GetlabelCommand class Function execute. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "GetlabelCommand", "execute"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the GetlabelCommand class function execute. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } }