]> git.donarmstrong.com Git - mothur.git/blobdiff - trimflowscommand.cpp
added otu.association command. added calcSpearman, calcKendall and calcPearson functi...
[mothur.git] / trimflowscommand.cpp
index 6d697359bb2c26c4957faa9d981fb7399ac54313..77dacfe711ea694d7d81cb7536fd15d14cb0ec97 100644 (file)
@@ -17,8 +17,8 @@ vector<string> TrimFlowsCommand::setParameters(){
                CommandParameter pflow("flow", "InputTypes", "", "", "none", "none", "none",false,true); parameters.push_back(pflow);
                CommandParameter poligos("oligos", "InputTypes", "", "", "none", "none", "none",false,false); parameters.push_back(poligos);
                CommandParameter pmaxhomop("maxhomop", "Number", "", "9", "", "", "",false,false); parameters.push_back(pmaxhomop);
-               CommandParameter pmaxflows("maxflows", "Number", "", "720", "", "", "",false,false); parameters.push_back(pmaxflows);
-               CommandParameter pminflows("minflows", "Number", "", "360", "", "", "",false,false); parameters.push_back(pminflows);
+               CommandParameter pmaxflows("maxflows", "Number", "", "450", "", "", "",false,false); parameters.push_back(pmaxflows);
+               CommandParameter pminflows("minflows", "Number", "", "450", "", "", "",false,false); parameters.push_back(pminflows);
                CommandParameter ppdiffs("pdiffs", "Number", "", "0", "", "", "",false,false); parameters.push_back(ppdiffs);
                CommandParameter pbdiffs("bdiffs", "Number", "", "0", "", "", "",false,false); parameters.push_back(pbdiffs);
                CommandParameter ptdiffs("tdiffs", "Number", "", "0", "", "", "",false,false); parameters.push_back(ptdiffs);
@@ -149,10 +149,10 @@ TrimFlowsCommand::TrimFlowsCommand(string option)  {
                        
                        string temp;
                        temp = validParameter.validFile(parameters, "minflows", false); if (temp == "not found") { temp = "450"; }
-                       convert(temp, minFlows);  
+                       m->mothurConvert(temp, minFlows);  
 
                        temp = validParameter.validFile(parameters, "maxflows", false); if (temp == "not found") { temp = "450"; }
-                       convert(temp, maxFlows);  
+                       m->mothurConvert(temp, maxFlows);  
                        
                        
                        temp = validParameter.validFile(parameters, "oligos", true);
@@ -164,28 +164,28 @@ TrimFlowsCommand::TrimFlowsCommand(string option)  {
                        else if(m->isTrue(temp))        {       fasta = 1;      }
                        
                        temp = validParameter.validFile(parameters, "maxhomop", false);         if (temp == "not found"){       temp = "9";             }
-                       convert(temp, maxHomoP);  
+                       m->mothurConvert(temp, maxHomoP);  
 
                        temp = validParameter.validFile(parameters, "signal", false);           if (temp == "not found"){       temp = "0.50";  }
-                       convert(temp, signal);  
+                       m->mothurConvert(temp, signal);  
 
                        temp = validParameter.validFile(parameters, "noise", false);            if (temp == "not found"){       temp = "0.70";  }
-                       convert(temp, noise);  
+                       m->mothurConvert(temp, noise);  
        
                        temp = validParameter.validFile(parameters, "bdiffs", false);           if (temp == "not found"){       temp = "0";             }
-                       convert(temp, bdiffs);
+                       m->mothurConvert(temp, bdiffs);
                        
                        temp = validParameter.validFile(parameters, "pdiffs", false);           if (temp == "not found"){       temp = "0";             }
-                       convert(temp, pdiffs);
+                       m->mothurConvert(temp, pdiffs);
                        
                        temp = validParameter.validFile(parameters, "tdiffs", false);
                        if (temp == "not found"){ int tempTotal = pdiffs + bdiffs;  temp = toString(tempTotal); }
-                       convert(temp, tdiffs);
+                       m->mothurConvert(temp, tdiffs);
                        if(tdiffs == 0){        tdiffs = bdiffs + pdiffs;       }
                        
                        temp = validParameter.validFile(parameters, "processors", false);       if (temp == "not found"){       temp = m->getProcessors();      }
                        m->setProcessors(temp);
-                       convert(temp, processors);
+                       m->mothurConvert(temp, processors);
        
                        flowOrder = validParameter.validFile(parameters, "order", false);
                        if (flowOrder == "not found"){ flowOrder = "TACG";              }
@@ -202,7 +202,7 @@ TrimFlowsCommand::TrimFlowsCommand(string option)  {
                
        }
        catch(exception& e) {
-               m->errorOut(e, "TrimFlowsCommand", "TrimSeqsCommand");
+               m->errorOut(e, "TrimFlowsCommand", "TrimFlowsCommand");
                exit(1);
        }
 }
@@ -272,32 +272,34 @@ int TrimFlowsCommand::execute(){
                ofstream output;
                
                if(allFiles){
-                       
+                       set<string> namesAlreadyProcessed;
                        flowFilesFileName = outputDir + m->getRootName(m->getSimpleName(flowFileName)) + "flow.files";
                        m->openOutputFile(flowFilesFileName, output);
 
                        for(int i=0;i<barcodePrimerComboFileNames.size();i++){
                                for(int j=0;j<barcodePrimerComboFileNames[0].size();j++){
-                                       
-                                       FILE * pFile;
-                                       unsigned long long size;
-                                       
-                                       //get num bytes in file
-                                       pFile = fopen (barcodePrimerComboFileNames[i][j].c_str(),"rb");
-                                       if (pFile==NULL) perror ("Error opening file");
-                                       else{
-                                               fseek (pFile, 0, SEEK_END);
-                                               size=ftell(pFile);
-                                               fclose (pFile);
-                                       }
-
-                                       if(size < 10){
-                                               m->mothurRemove(barcodePrimerComboFileNames[i][j]);
-                                       }
-                                       else{
-                                               output << barcodePrimerComboFileNames[i][j] << endl;
-                                               outputNames.push_back(barcodePrimerComboFileNames[i][j]);
-                                               outputTypes["flow"].push_back(barcodePrimerComboFileNames[i][j]);
+                                       if (namesAlreadyProcessed.count(barcodePrimerComboFileNames[i][j]) == 0) {
+                                               FILE * pFile;
+                                               unsigned long long size;
+                                               
+                                               //get num bytes in file
+                                               pFile = fopen (barcodePrimerComboFileNames[i][j].c_str(),"rb");
+                                               if (pFile==NULL) perror ("Error opening file");
+                                               else{
+                                                       fseek (pFile, 0, SEEK_END);
+                                                       size=ftell(pFile);
+                                                       fclose (pFile);
+                                               }
+                                               
+                                               if(size < 10){
+                                                       m->mothurRemove(barcodePrimerComboFileNames[i][j]);
+                                               }
+                                               else{
+                                                       output << barcodePrimerComboFileNames[i][j] << endl;
+                                                       outputNames.push_back(barcodePrimerComboFileNames[i][j]);
+                                                       outputTypes["flow"].push_back(barcodePrimerComboFileNames[i][j]);
+                                               }
+                                               namesAlreadyProcessed.insert(barcodePrimerComboFileNames[i][j]);
                                        }
                                }
                        }