X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=phylosummary.cpp;h=5f7bbc3c73a2161417a1841f567719a4bd1f8c4a;hb=01f8d2c7d982a6209211f5abbcf2a086fdf60d0a;hp=22e8e75ce7047e00b135483f16b566eb506a71fb;hpb=74dc92cf53df65fd8b14d8eaf35489bbecbccac6;p=mothur.git diff --git a/phylosummary.cpp b/phylosummary.cpp index 22e8e75..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"); @@ -121,6 +113,7 @@ string PhyloSummary::getNextTaxon(string& heirarchy){ int PhyloSummary::addSeqToTree(string seqName, string seqTaxonomy){ try { + numSeqs++; map::iterator childPointer;