X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=phylosummary.cpp;h=5f7bbc3c73a2161417a1841f567719a4bd1f8c4a;hb=5a4ac4f954c4b4445bcee272f1f8220ddcc9c1e4;hp=7d9fcac2558da8f50653a11ddafd997b58c1c286;hpb=16abd6271c455bd01b34ff89a2e3641bef0fa128;p=mothur.git diff --git a/phylosummary.cpp b/phylosummary.cpp index 7d9fcac..5f7bbc3 100644 --- a/phylosummary.cpp +++ b/phylosummary.cpp @@ -25,7 +25,7 @@ PhyloSummary::PhyloSummary(string refTfile, string groupFile){ } //check for necessary files - string taxFileNameTest = refTfile.substr(0,refTfile.find_last_of(".")+1) + "tree.sum"; + string taxFileNameTest = m->getFullPathName((refTfile.substr(0,refTfile.find_last_of(".")+1) + "tree.sum")); ifstream FileTest(taxFileNameTest.c_str()); if (!FileTest) { @@ -73,24 +73,16 @@ PhyloSummary::PhyloSummary(string groupFile){ int PhyloSummary::summarize(string userTfile){ try { - - ifstream in; - m->openInputFile(userTfile, in); - - //read in users taxonomy file and add sequences to tree - string name, tax; - int numSeqs = 0; - while(!in.eof()){ - in >> name >> tax; m->gobble(in); - - addSeqToTree(name, tax); + map temp; + m->readTax(userTfile, temp); + + for (map::iterator itTemp = temp.begin(); itTemp != temp.end();) { + addSeqToTree(itTemp->first, itTemp->second); numSeqs++; - - if (m->control_pressed) { break; } - } - in.close(); - - return numSeqs; + temp.erase(itTemp++); + } + + return numSeqs; } catch(exception& e) { m->errorOut(e, "PhyloSummary", "summarize");