]> git.donarmstrong.com Git - mothur.git/blobdiff - readdistcommand.cpp
added shhh.seqs command
[mothur.git] / readdistcommand.cpp
index 7f60d712861f34a79b798e0ef8d1a3cbcbe714a5..c600eb86c969303f608b6a440dedb77af3e50b1d 100644 (file)
 #include "readcolumn.h"
 #include "readmatrix.hpp"
 
+//**********************************************************************************************************************
+vector<string> ReadDistCommand::getValidParameters(){  
+       try {
+               string Array[] =  {"phylip", "column", "name", "cutoff", "precision", "group","outputdir","inputdir","sim"};
+               vector<string> myArray (Array, Array+(sizeof(Array)/sizeof(string)));
+               return myArray;
+       }
+       catch(exception& e) {
+               m->errorOut(e, "ReadDistCommand", "getValidParameters");
+               exit(1);
+       }
+}
+//**********************************************************************************************************************
+vector<string> ReadDistCommand::getRequiredParameters(){       
+       try {
+               string Array[] =  {"phylip","column","or"};
+               vector<string> myArray (Array, Array+(sizeof(Array)/sizeof(string)));
+               return myArray;
+       }
+       catch(exception& e) {
+               m->errorOut(e, "ReadDistCommand", "getRequiredParameters");
+               exit(1);
+       }
+}
+//**********************************************************************************************************************
+vector<string> ReadDistCommand::getRequiredFiles(){    
+       try {
+               vector<string> myArray;
+               return myArray;
+       }
+       catch(exception& e) {
+               m->errorOut(e, "ReadDistCommand", "getRequiredFiles");
+               exit(1);
+       }
+}
+//**********************************************************************************************************************
 ReadDistCommand::ReadDistCommand(string option) {
        try {
                globaldata = GlobalData::getInstance();
@@ -46,7 +82,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 +90,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 +98,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 +106,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;            }
                                }
@@ -123,12 +159,12 @@ ReadDistCommand::ReadDistCommand(string option) {
                        convert(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;
@@ -208,11 +244,9 @@ int ReadDistCommand::execute(){
                time_t start = time(NULL);
                size_t numDists = 0;
                
-               vector<string> outputNames;
-               
                if (format == "matrix") {
                        ifstream in;
-                       openInputFile(distFileName, in);
+                       m->openInputFile(distFileName, in);
                        matrix = new FullMatrix(in); //reads the matrix file
                        in.close();
                        
@@ -222,12 +256,12 @@ 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; }