X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=readdistcommand.cpp;h=8bf6996333b246814a28009d309ab8f3b6bf8718;hb=d205e70ae86dbee2efc2df02f2717975854de6ba;hp=7f60d712861f34a79b798e0ef8d1a3cbcbe714a5;hpb=6f4b9401f7deb8aaf0d87659298308f4138cc3b0;p=mothur.git diff --git a/readdistcommand.cpp b/readdistcommand.cpp index 7f60d71..8bf6996 100644 --- a/readdistcommand.cpp +++ b/readdistcommand.cpp @@ -12,16 +12,17 @@ #include "readcolumn.h" #include "readmatrix.hpp" +//********************************************************************************************************************** ReadDistCommand::ReadDistCommand(string option) { try { - globaldata = GlobalData::getInstance(); - abort = false; + abort = false; calledHelp = false; //allow user to run help - if(option == "help") { help(); abort = true; } + if(option == "help") { help(); abort = true; calledHelp = true; } + else if(option == "citation") { citation(); abort = true; calledHelp = true;} else { - //valid paramters for this command + /*//valid paramters for this command string Array[] = {"phylip", "column", "name", "cutoff", "precision", "group","outputdir","inputdir","sim"}; vector myArray (Array, Array+(sizeof(Array)/sizeof(string))); @@ -46,7 +47,7 @@ ReadDistCommand::ReadDistCommand(string option) { it = parameters.find("phylip"); //user has given a template file if(it != parameters.end()){ - path = hasPath(it->second); + path = m->hasPath(it->second); //if the user has not given a path then, add inputdir. else leave path alone. if (path == "") { parameters["phylip"] = inputDir + it->second; } } @@ -54,7 +55,7 @@ ReadDistCommand::ReadDistCommand(string option) { it = parameters.find("column"); //user has given a template file if(it != parameters.end()){ - path = hasPath(it->second); + path = m->hasPath(it->second); //if the user has not given a path then, add inputdir. else leave path alone. if (path == "") { parameters["column"] = inputDir + it->second; } } @@ -62,7 +63,7 @@ ReadDistCommand::ReadDistCommand(string option) { it = parameters.find("name"); //user has given a template file if(it != parameters.end()){ - path = hasPath(it->second); + path = m->hasPath(it->second); //if the user has not given a path then, add inputdir. else leave path alone. if (path == "") { parameters["name"] = inputDir + it->second; } } @@ -70,7 +71,7 @@ ReadDistCommand::ReadDistCommand(string option) { it = parameters.find("group"); //user has given a template file if(it != parameters.end()){ - path = hasPath(it->second); + path = m->hasPath(it->second); //if the user has not given a path then, add inputdir. else leave path alone. if (path == "") { parameters["group"] = inputDir + it->second; } } @@ -120,15 +121,15 @@ ReadDistCommand::ReadDistCommand(string option) { //get user cutoff and precision or use defaults string temp; temp = validParameter.validFile(parameters, "precision", false); if (temp == "not found") { temp = "100"; } - convert(temp, precision); + m->mothurConvert(temp, precision); temp = validParameter.validFile(parameters, "sim", false); if (temp == "not found") { temp = "F"; } - sim = isTrue(temp); + sim = m->isTrue(temp); globaldata->sim = sim; temp = validParameter.validFile(parameters, "cutoff", false); if (temp == "not found") { temp = "10"; } convert(temp, cutoff); - cutoff += (5 / (precision * 10.0)); + cutoff += (5 / (precision * 10.0)); if (abort == false) { distFileName = globaldata->inputFileName; @@ -157,7 +158,7 @@ ReadDistCommand::ReadDistCommand(string option) { } } } - +*/ } } @@ -166,53 +167,19 @@ ReadDistCommand::ReadDistCommand(string option) { exit(1); } } -//********************************************************************************************************************** - -void ReadDistCommand::help(){ - try { - m->mothurOut("The read.dist command parameter options are phylip or column, group, name, sim, cutoff and precision\n"); - m->mothurOut("The read.dist command can be used in two ways. The first is to read a phylip or column and run the cluster command\n"); - m->mothurOut("For this use the read.dist command should be in the following format: \n"); - m->mothurOut("read.dist(phylip=yourDistFile, name=yourNameFile, cutoff=yourCutoff, precision=yourPrecision) \n"); - m->mothurOut("The phylip or column parameter is required, but only one may be used. If you use a column file the name filename is required. \n"); - m->mothurOut("The sim parameter is used to indicate that your distance file contains similarity values instead of distance values. The default is false, if sim=true then mothur will convert the similarity values to distances. \n"); - m->mothurOut("If you do not provide a cutoff value 10.00 is assumed. If you do not provide a precision value then 100 is assumed.\n"); - m->mothurOut("The second way to use the read.dist command is to read a phylip or column and a group, so you can use the libshuff command.\n"); - m->mothurOut("For this use the read.dist command should be in the following format: \n"); - m->mothurOut("read.dist(phylip=yourPhylipfile, group=yourGroupFile). The cutoff and precision parameters are not valid with this use. \n"); - m->mothurOut("Note: No spaces between parameter labels (i.e. phylip), '=' and parameters (i.e.yourPhylipfile).\n\n"); - } - catch(exception& e) { - m->errorOut(e, "ReadDistCommand", "help"); - exit(1); - } -} - -//********************************************************************************************************************** - -ReadDistCommand::~ReadDistCommand(){ - if (abort == false) { - if (format != "matrix") { - delete read; - delete nameMap; - } - } -} - //********************************************************************************************************************** int ReadDistCommand::execute(){ try { - if (abort == true) { return 0; } - + if (abort == true) { if (calledHelp) { return 0; } return 2; } + m->mothurOut(getHelpString()); m->mothurOutEndLine(); +/* time_t start = time(NULL); size_t numDists = 0; - vector outputNames; - if (format == "matrix") { ifstream in; - openInputFile(distFileName, in); + m->openInputFile(distFileName, in); matrix = new FullMatrix(in); //reads the matrix file in.close(); @@ -222,15 +189,15 @@ int ReadDistCommand::execute(){ if (matrix->getNumSeqs() < groupMap->getNumSeqs()) { m->mothurOut("Your distance file contains " + toString(matrix->getNumSeqs()) + " sequences, and your group file contains " + toString(groupMap->getNumSeqs()) + " sequences."); m->mothurOutEndLine(); //create new group file - if(outputDir == "") { outputDir += hasPath(groupfile); } + if(outputDir == "") { outputDir += m->hasPath(groupfile); } - string newGroupFile = outputDir + getRootName(getSimpleName(groupfile)) + "editted.groups"; + string newGroupFile = outputDir + m->getRootName(m->getSimpleName(groupfile)) + "editted.groups"; outputNames.push_back(newGroupFile); ofstream outGroups; - openOutputFile(newGroupFile, outGroups); + m->openOutputFile(newGroupFile, outGroups); for (int i = 0; i < matrix->getNumSeqs(); i++) { - if (m->control_pressed) { delete groupMap; delete matrix; outGroups.close(); remove(newGroupFile.c_str()); return 0; } + if (m->control_pressed) { delete groupMap; delete matrix; outGroups.close(); m->mothurRemove(newGroupFile); return 0; } Names temp = matrix->getRowInfo(i); outGroups << temp.seqName << '\t' << temp.groupName << endl; @@ -247,7 +214,7 @@ int ReadDistCommand::execute(){ groupMap = new GroupMap(groupfile); groupMap->readMap(); - if (m->control_pressed) { delete groupMap; delete matrix; remove(newGroupFile.c_str()); return 0; } + if (m->control_pressed) { delete groupMap; delete matrix; m->mothurRemove(newGroupFile); return 0; } globaldata->gGroupmap = groupMap; } @@ -280,6 +247,7 @@ int ReadDistCommand::execute(){ } m->mothurOut("It took " + toString(time(NULL) - start) + " secs to read "); m->mothurOutEndLine(); + */ return 0; }