helpString += "The iters parameter allows you to select the number of random configuration to try. Default=10\n";
helpString += "The epsilon parameter allows you to select set an acceptable stopping point. Default=1e-12.\n";
helpString += "Example nmds(phylip=yourDistanceFile).\n";
- helpString += "Note: No spaces between parameter labels (i.e. phylip), '=' and parameters (i.e.yourDistanceFile).\n\n";
+ helpString += "Note: No spaces between parameter labels (i.e. phylip), '=' and parameters (i.e.yourDistanceFile).\n";
return helpString;
}
catch(exception& e) {
//allow user to run help
if(option == "help") { help(); abort = true; calledHelp = true; }
+ else if(option == "citation") { citation(); abort = true; calledHelp = true;}
else {
vector<string> myArray = setParameters();
phylipfile = m->getPhylipFile();
if (phylipfile != "") { m->mothurOut("Using " + phylipfile + " as input file for the phylip parameter."); m->mothurOutEndLine(); }
else { m->mothurOut("You have no current phylip file and the phylip parameter is required."); m->mothurOutEndLine(); abort = true; }
- }
+ }else { m->setPhylipFile(phylipfile); }
axesfile = validParameter.validFile(parameters, "axes", true);
if (axesfile == "not open") { axesfile = ""; abort = true; }
}
string temp = validParameter.validFile(parameters, "mindim", false); if (temp == "not found") { temp = "2"; }
- convert(temp, mindim);
+ m->mothurConvert(temp, mindim);
temp = validParameter.validFile(parameters, "maxiters", false); if (temp == "not found") { temp = "500"; }
- convert(temp, maxIters);
+ m->mothurConvert(temp, maxIters);
temp = validParameter.validFile(parameters, "iters", false); if (temp == "not found") { temp = "10"; }
- convert(temp, iters);
+ m->mothurConvert(temp, iters);
temp = validParameter.validFile(parameters, "maxdim", false); if (temp == "not found") { temp = "2"; }
- convert(temp, maxdim);
+ m->mothurConvert(temp, maxdim);
temp = validParameter.validFile(parameters, "epsilon", false); if (temp == "not found") { temp = "0.000000000001"; }
- convert(temp, epsilon);
+ m->mothurConvert(temp, epsilon);
if (mindim < 1) { m->mothurOut("mindim must be at least 1."); m->mothurOutEndLine(); abort = true; }
- if (maxdim < mindim) { m->mothurOut("maxdim must be greater than mindim."); m->mothurOutEndLine(); abort = true; }
+ if (maxdim < mindim) { maxdim = mindim; }
}
}
vector< vector<double> > thisConfig;
if (axesfile == "") { thisConfig = generateStartingConfiguration(names.size(), i); }
else { thisConfig = getConfiguration(axes, i); }
- if (m->control_pressed) { out.close(); out2.close(); for (int k = 0; k < outputNames.size(); k++) { remove(outputNames[k].c_str()); } return 0; }
+ if (m->control_pressed) { out.close(); out2.close(); for (int k = 0; k < outputNames.size(); k++) { m->mothurRemove(outputNames[k]); } return 0; }
//calc nmds for this dimension
double stress;
vector< vector<double> > endConfig = nmdsCalc(matrix, thisConfig, stress);
- if (m->control_pressed) { out.close(); out2.close(); for (int k = 0; k < outputNames.size(); k++) { remove(outputNames[k].c_str()); } return 0; }
+ if (m->control_pressed) { out.close(); out2.close(); for (int k = 0; k < outputNames.size(); k++) { m->mothurRemove(outputNames[k]); } return 0; }
//calc euclid distances for new config
vector< vector<double> > newEuclid = linearCalc.calculateEuclidianDistance(endConfig);
- if (m->control_pressed) { out.close(); out2.close(); for (int k = 0; k < outputNames.size(); k++) { remove(outputNames[k].c_str()); } return 0; }
+ if (m->control_pressed) { out.close(); out2.close(); for (int k = 0; k < outputNames.size(); k++) { m->mothurRemove(outputNames[k]); } return 0; }
//calc correlation between original distances and euclidean distances from this config
double rsquared = linearCalc.calcPearson(newEuclid, matrix);
rsquared *= rsquared;
- if (m->control_pressed) { out.close(); out2.close(); for (int k = 0; k < outputNames.size(); k++) { remove(outputNames[k].c_str()); } return 0; }
+ if (m->control_pressed) { out.close(); out2.close(); for (int k = 0; k < outputNames.size(); k++) { m->mothurRemove(outputNames[k]); } return 0; }
//output results
out << "Config" << (j+1) << '\t';
bestConfig = endConfig;
}
- if (m->control_pressed) { out.close(); out2.close(); for (int k = 0; k < outputNames.size(); k++) { remove(outputNames[k].c_str()); } return 0; }
+ if (m->control_pressed) { out.close(); out2.close(); for (int k = 0; k < outputNames.size(); k++) { m->mothurRemove(outputNames[k]); } return 0; }
}
}
outBest.close();
- if (m->control_pressed) { for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } return 0; }
+ if (m->control_pressed) { for (int i = 0; i < outputNames.size(); i++) { m->mothurRemove(outputNames[i]); } return 0; }
m->mothurOutEndLine();
m->mothurOut("Output File Names: "); m->mothurOutEndLine();