]> git.donarmstrong.com Git - mothur.git/blobdiff - screenseqscommand.cpp
added mothurOutJustToScreen function and changed all counter outputs to use it.
[mothur.git] / screenseqscommand.cpp
index 51495506c6e7a3303c6a87d0510a87e44f1810f6..d2fbe935356a2f0752efa683a893a5892e1b2eb2 100644 (file)
@@ -294,7 +294,8 @@ ScreenSeqsCommand::ScreenSeqsCommand(string option)  {
             
             summaryfile = validParameter.validFile(parameters, "summary", true);
                        if (summaryfile == "not open") { summaryfile = ""; abort = true; }
-                       else if (summaryfile == "not found") { summaryfile = "";  }     
+                       else if (summaryfile == "not found") { summaryfile = "";  }
+            else { m->setSummaryFile(summaryfile); }
             
             if ((namefile != "") && (countfile != "")) {
                 m->mothurOut("[ERROR]: you may only use one of the following: name or count."); m->mothurOutEndLine(); abort = true;
@@ -1080,8 +1081,6 @@ int ScreenSeqsCommand::screenNameGroupFile(map<string, string> badSeqNames){
                        it = badSeqNames.find(seqName);
                                
                        if(it != badSeqNames.end()){
-                               badSeqNames.erase(it);
-                               
                                if(namefile != ""){
                                        int start = 0;
                                        for(int i=0;i<seqList.length();i++){
@@ -1092,6 +1091,7 @@ int ScreenSeqsCommand::screenNameGroupFile(map<string, string> badSeqNames){
                                        }
                                        badSeqGroups[seqList.substr(start,seqList.length()-start)] = it->second;
                                }
+                badSeqNames.erase(it);
                        }
                        else{
                                goodNameOut << seqName << '\t' << seqList << endl;
@@ -2302,7 +2302,7 @@ int ScreenSeqsCommand::screenQual(map<string, string> badSeqNames){
                                saveName = name.substr(1);
                                while (!in.eof())       {       
                                        char c = in.get(); 
-                                       if (c == 10 || c == 13){        break;  }
+                                       if (c == 10 || c == 13 || c == -1){     break;  }
                                        else { name += c; }     
                                } 
                                m->gobble(in);
@@ -2409,10 +2409,10 @@ int ScreenSeqsCommand::driver(linePair filePos, string goodFName, string badAccn
                        #endif
                        
                        //report progress
-                       if((count) % 100 == 0){ m->mothurOut("Processing sequence: " + toString(count)); m->mothurOutEndLine();         }
+                       if((count) % 100 == 0){ m->mothurOutJustToScreen("Processing sequence: " + toString(count)+"\n");               }
                }
                //report progress
-               if((count) % 100 != 0){ m->mothurOut("Processing sequence: " + toString(count)); m->mothurOutEndLine();         }
+               if((count) % 100 != 0){ m->mothurOutJustToScreen("Processing sequence: " + toString(count)+"\n");       }
                
                        
                goodFile.close();
@@ -2504,7 +2504,7 @@ int ScreenSeqsCommand::driverMPI(int start, int num, MPI_File& inMPI, MPI_File&
                        }
                        
                        //report progress
-                       if((i) % 100 == 0){     m->mothurOut("Processing sequence: " + toString(i)); m->mothurOutEndLine();             }
+                       if((i) % 100 == 0){     m->mothurOutJustToScreen("Processing sequence: " + toString(i)+"\n");           }
                }
                                
                return 1;