]> git.donarmstrong.com Git - mothur.git/blobdiff - clusterfragmentscommand.cpp
added forward and reverse barcodes to trim.seqs to process illumina seqs
[mothur.git] / clusterfragmentscommand.cpp
index c51a96a0f7de2cd8f10950e7724678b8c01fa71a..772113baf83e9fbbd057794103f46ffa21c21fda 100644 (file)
@@ -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();