X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=validparameter.cpp;h=d693bcb721184c251896c917328f9d9d07b3fc18;hb=e189982e0a9b7352ad57cc38ccee675f128be22e;hp=ad8038ee40e60c74ee9cc02ab831195726c7bf27;hpb=510b1cfc25cd79391d6973ca20c5ec25fb1bb3b2;p=mothur.git diff --git a/validparameter.cpp b/validparameter.cpp index ad8038e..d693bcb 100644 --- a/validparameter.cpp +++ b/validparameter.cpp @@ -13,10 +13,11 @@ ValidParameters::ValidParameters() { try { + m = MothurOut::getInstance(); initParameterRanges(); } catch(exception& e) { - errorOut(e, "ValidParameters", "ValidParameters"); + m->errorOut(e, "ValidParameters", "ValidParameters"); exit(1); } } @@ -38,11 +39,11 @@ bool ValidParameters::isValidParameter(string parameter, vector cParams, } } if(!valid) { - mothurOut(parameter + " is not a valid parameter."); mothurOutEndLine(); - mothurOut("The valid parameters are: "); + m->mothurOut(parameter + " is not a valid parameter."); m->mothurOutEndLine(); + m->mothurOut("The valid parameters are: "); for(int i = 0; i < numParams-1; i++) - mothurOut(cParams.at(i) + ", "); - mothurOut("and " + cParams.at(numParams-1) + ".\n"); + m->mothurOut(cParams.at(i) + ", "); + m->mothurOut("and " + cParams.at(numParams-1) + ".\n"); return false; } @@ -73,7 +74,7 @@ bool ValidParameters::isValidParameter(string parameter, vector cParams, double logNum = log10((double)pVal); double diff = (double)((int)logNum - logNum); if(diff != 0) { - mothurOut("The precision parameter can only take powers of 10 as a value (e.g. 10,1000,1000, etc.)\n"); + m->mothurOut("The precision parameter can only take powers of 10 as a value (e.g. 10,1000,1000, etc.)\n"); return false; } } @@ -99,7 +100,7 @@ bool ValidParameters::isValidParameter(string parameter, vector cParams, else if(range.at(4).compare("only") == 0) c = 1; else { - mothurOut("The range can only be 'between' or 'only' the bounding numbers.\n"); + m->mothurOut("The range can only be 'between' or 'only' the bounding numbers.\n"); return false; } @@ -108,7 +109,7 @@ bool ValidParameters::isValidParameter(string parameter, vector cParams, else if(range.at(0).compare(">=") == 0 || range[3].compare("=>") == 0) d = 1; else { - mothurOut("The parameter value can only be '>', '>=', or '=>' the lower bounding number.\n"); + m->mothurOut("The parameter value can only be '>', '>=', or '=>' the lower bounding number.\n"); return false; } @@ -117,7 +118,7 @@ bool ValidParameters::isValidParameter(string parameter, vector cParams, else if(range.at(2).compare("<=") == 0 || range[4].compare("=<") == 0) e = 1; else { - mothurOut("The parameter value can only be '<', '<=', or '=<' the upper bounding number.\n"); + m->mothurOut("The parameter value can only be '<', '<=', or '=<' the upper bounding number.\n"); return false; } @@ -161,25 +162,25 @@ bool ValidParameters::isValidParameter(string parameter, vector cParams, if(!valid) { - mothurOut("The '" + parameter + "' parameter needs to be "); + m->mothurOut("The '" + parameter + "' parameter needs to be "); if(c == 1) - mothurOut("either '" + toString(a) + "' or '" + toString(b) + "'.\n"); + m->mothurOut("either '" + toString(a) + "' or '" + toString(b) + "'.\n"); else { if(a != piSentinel) { - mothurOut(">"); + m->mothurOut(">"); if(d != 0) - mothurOut("="); - mothurOut(" '" + toString(a) + "'"); + m->mothurOut("="); + m->mothurOut(" '" + toString(a) + "'"); } if(b == piSentinel) - mothurOut( "'.\n"); + m->mothurOut( "'.\n"); else if(a != piSentinel) - mothurOut(" and "); + m->mothurOut(" and "); if(b != piSentinel) { - mothurOut("<"); + m->mothurOut("<"); if(e != 0) - mothurOut("="); - mothurOut(" '" + toString(b) + "'.\n"); + m->mothurOut("="); + m->mothurOut(" '" + toString(b) + "'.\n"); } } return false; @@ -188,7 +189,7 @@ bool ValidParameters::isValidParameter(string parameter, vector cParams, return true; } catch(exception& e) { - errorOut(e, "ValidParameters", "isValidParameters"); + m->errorOut(e, "ValidParameters", "isValidParameters"); exit(1); } } @@ -204,10 +205,27 @@ string ValidParameters::validFile(map container, string paramete it = container.find(parameter); if(it != container.end()){ //no parameter given + if(isFile == true) { + + #ifdef USE_MPI + int pid; + MPI_Comm_rank(MPI_COMM_WORLD, &pid); //find out who we are + + if (pid == 0) { + #endif + ableToOpen = openInputFile(it->second, in); - if (ableToOpen == 1) { return "not open"; } in.close(); + + #ifdef USE_MPI + MPI_Bcast(&ableToOpen, 1, MPI_INT, 0, MPI_COMM_WORLD); //send ableToOPen + }else { + MPI_Bcast(&ableToOpen, 1, MPI_INT, 0, MPI_COMM_WORLD); //get ableToOPen + } + #endif + + if (ableToOpen == 1) { return "not open"; } } }else { return "not found"; } @@ -215,7 +233,7 @@ string ValidParameters::validFile(map container, string paramete } catch(exception& e) { - errorOut(e, "ValidParameters", "validFile"); + m->errorOut(e, "ValidParameters", "validFile"); exit(1); } } @@ -260,7 +278,7 @@ void ValidParameters::initParameterRanges() { parameterRanges["size"] = addParameters(sizeArray, rangeSize); } catch(exception& e) { - errorOut(e, "ValidParameters", "initParameterRanges"); + m->errorOut(e, "ValidParameters", "initParameterRanges"); exit(1); } } @@ -274,7 +292,7 @@ vector ValidParameters::addParameters(string parameters[], int size) { return pVector; } catch(exception& e) { - errorOut(e, "ValidParameters", "addParameters"); + m->errorOut(e, "ValidParameters", "addParameters"); exit(1); } }