]> git.donarmstrong.com Git - mothur.git/blobdiff - clusterfragmentscommand.cpp
added check to make sure shhh.flows child processes finish properly. added subsamplin...
[mothur.git] / clusterfragmentscommand.cpp
index baea496ccb8b2b95aac764028493be1e51a302d1..772113baf83e9fbbd057794103f46ffa21c21fda 100644 (file)
@@ -58,7 +58,7 @@ string ClusterFragmentsCommand::getHelpString(){
                helpString += "The cluster.fragments command should be in the following format: \n";
                helpString += "cluster.fragments(fasta=yourFastaFile, names=yourNamesFile) \n";
                helpString += "Example cluster.fragments(fasta=amazon.fasta).\n";
-               helpString += "Note: No spaces between parameter labels (i.e. fasta), '=' and parameters (i.e.yourFasta).\n\n";
+               helpString += "Note: No spaces between parameter labels (i.e. fasta), '=' and parameters (i.e.yourFasta).\n";
                return helpString;
        }
        catch(exception& e) {
@@ -87,6 +87,7 @@ ClusterFragmentsCommand::ClusterFragmentsCommand(string option) {
                
                //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();
@@ -137,6 +138,7 @@ ClusterFragmentsCommand::ClusterFragmentsCommand(string option) {
                                else {  m->mothurOut("You have no current fastafile and the fasta parameter is required."); m->mothurOutEndLine(); abort = true; }
                        }
                        else if (fastafile == "not open") { fastafile = ""; abort = true; }     
+                       else { m->setFastaFile(fastafile); }
                        
                        //if the user changes the output directory command factory will send this info to us in the output parameter 
                        outputDir = validParameter.validFile(parameters, "outputdir", false);           if (outputDir == "not found"){  outputDir = m->hasPath(fastafile);      }
@@ -145,15 +147,20 @@ ClusterFragmentsCommand::ClusterFragmentsCommand(string option) {
                        // ...at some point should added some additional type checking...
                        namefile = validParameter.validFile(parameters, "name", true);
                        if (namefile == "not found") { namefile =  "";  }
-                       else if (namefile == "not open") { abort = true; }      
-                       else {  readNameFile();  }
+                       else if (namefile == "not open") { namefile = ""; abort = true; }       
+                       else {  readNameFile(); m->setNameFile(namefile); }
                        
                        string temp;
                        temp = validParameter.validFile(parameters, "diffs", false);            if (temp == "not found"){       temp = "0";                             }
-                       convert(temp, diffs); 
+                       m->mothurConvert(temp, diffs); 
                        
                        temp = validParameter.validFile(parameters, "percent", false);          if (temp == "not found"){       temp = "0";                             }
-                       convert(temp, percent);
+                       m->mothurConvert(temp, percent);
+                       
+                       if (namefile == "") {
+                               vector<string> files; files.push_back(fastafile);
+                               parser.getNameFile(files);
+                       }
                        
                }
                                
@@ -224,7 +231,7 @@ int ClusterFragmentsCommand::execute(){
                string fileroot = outputDir + m->getRootName(m->getSimpleName(fastafile));
                
                string newFastaFile = fileroot + "fragclust.fasta";
-               string newNamesFile = fileroot + "names";
+               string newNamesFile = fileroot + "fragclust.names";
                
                if (m->control_pressed) { return 0; }
                
@@ -236,7 +243,7 @@ int ClusterFragmentsCommand::execute(){
                
                m->mothurOut("It took " + toString(time(NULL) - start) + " secs to cluster " + toString(numSeqs) + " sequences."); m->mothurOutEndLine(); 
                
-               if (m->control_pressed) { remove(newFastaFile.c_str()); remove(newNamesFile.c_str()); return 0; }
+               if (m->control_pressed) { m->mothurRemove(newFastaFile); m->mothurRemove(newNamesFile); return 0; }
                
                m->mothurOutEndLine();
                m->mothurOut("Output File Names: "); m->mothurOutEndLine();