#include "kmerdb.hpp"
#include "suffixdb.hpp"
#include "blastdb.hpp"
+#include "distancedb.hpp"
/**************************************************************************************************/
-
-Classify::Classify(string tfile, string tempFile, string method, int kmerSize, int gapOpen, int gapExtend, int match, int misMatch) : taxFile(tfile), templateFile(tempFile) {
- try {
+Classify::Classify(string tfile, string tempFile, string method, int kmerSize, float gapOpen, float gapExtend, float match, float misMatch) : taxFile(tfile), templateFile(tempFile) {
+ try {
+ m = MothurOut::getInstance();
readTaxonomy(taxFile);
int start = time(NULL);
inFASTA.close();
}
- mothurOut("Generating search database... "); cout.flush();
+ m->mothurOut("Generating search database... "); cout.flush();
bool needToGenerate = true;
string kmerDBName;
}
else if(method == "suffix") { database = new SuffixDB(numSeqs); }
else if(method == "blast") { database = new BlastDB(gapOpen, gapExtend, match, misMatch); }
+ else if(method == "distance") { database = new DistanceDB(); }
else {
- mothurOut(method + " is not a valid search option. I will run the command using kmer, ksize=8.");
- mothurOutEndLine();
+ m->mothurOut(method + " is not a valid search option. I will run the command using kmer, ksize=8.");
+ m->mothurOutEndLine();
database = new KmerDB(tempFile, 8);
}
database->setNumSeqs(names.size());
- mothurOut("DONE."); mothurOutEndLine();
- mothurOut("It took " + toString(time(NULL) - start) + " seconds generate search database. "); mothurOutEndLine();
+ m->mothurOut("DONE."); m->mothurOutEndLine();
+ m->mothurOut("It took " + toString(time(NULL) - start) + " seconds generate search database. "); m->mothurOutEndLine();
}
catch(exception& e) {
- errorOut(e, "Classify", "Classify");
+ m->errorOut(e, "Classify", "Classify");
exit(1);
}
}
ifstream inTax;
openInputFile(file, inTax);
- mothurOutEndLine();
- mothurOut("Reading in the " + file + " taxonomy...\t"); cout.flush();
+ m->mothurOutEndLine();
+ m->mothurOut("Reading in the " + file + " taxonomy...\t"); cout.flush();
string name, taxInfo;
//read template seqs and save
taxonomy[name] = taxInfo;
- //itTax = taxList.find(taxInfo);
- //if (itTax == taxList.end()) { //this is new taxonomy
- //taxList[taxInfo] = 1;
- //}else { taxList[taxInfo]++; }
phyloTree->addSeqToTree(name, taxInfo);
gobble(inTax);
phyloTree->assignHeirarchyIDs(0);
inTax.close();
- mothurOut("DONE.");
- mothurOutEndLine(); cout.flush();
+ m->mothurOut("DONE.");
+ m->mothurOutEndLine(); cout.flush();
}
catch(exception& e) {
- errorOut(e, "Classify", "readTaxonomy");
+ m->errorOut(e, "Classify", "readTaxonomy");
exit(1);
}
}
return taxons;
}
catch(exception& e) {
- errorOut(e, "Classify", "parseTax");
+ m->errorOut(e, "Classify", "parseTax");
exit(1);
}
}