]> git.donarmstrong.com Git - mothur.git/blobdiff - classify.cpp
fixes while testing
[mothur.git] / classify.cpp
index e07344d4678a0ca263008e4b10d4d125ad8ef122..2eb3ec1f800654ddd7e28cd8c72b2c5e996774d3 100644 (file)
@@ -97,7 +97,7 @@ void Classify::generateDatabaseAndNames(string tfile, string tempFile, string me
                if (method == "suffix") {
                        ifstream inFASTA;
                        openInputFile(tempFile, inFASTA);
-                       numSeqs = count(istreambuf_iterator<char>(inFASTA),istreambuf_iterator<char>(), '>');
+                       getNumSeqs(inFASTA, numSeqs);
                        inFASTA.close();
                }
 
@@ -128,7 +128,7 @@ void Classify::generateDatabaseAndNames(string tfile, string tempFile, string me
                                gobble(fastaFile);
                        
                                names.push_back(temp.getName());
-                                                               
+                                                       
                                database->addSequence(temp);    
                        }
                        fastaFile.close();
@@ -138,7 +138,7 @@ void Classify::generateDatabaseAndNames(string tfile, string tempFile, string me
                }else if ((method == "kmer") && (!needToGenerate)) {    
                        ifstream kmerFileTest(kmerDBName.c_str());
                        database->readKmerDB(kmerFileTest);     
-                       
+               
                        ifstream fastaFile;
                        openInputFile(tempFile, fastaFile);
                        
@@ -150,9 +150,15 @@ void Classify::generateDatabaseAndNames(string tfile, string tempFile, string me
                        }
                        fastaFile.close();
                }
-#endif         
+#endif 
+       
                database->setNumSeqs(names.size());
                
+               //sanity check
+               bool okay = phyloTree->ErrorCheck(names);
+               
+               if (!okay) { m->control_pressed = true; }
+               
                m->mothurOut("DONE."); m->mothurOutEndLine();
                m->mothurOut("It took " + toString(time(NULL) - start) + " seconds generate search database. "); m->mothurOutEndLine();