X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=phylosummary.cpp;h=39bfdf3dfecb1cd4aaecb2763043d0c8cbb00d29;hb=cdf9083dc32543cc640e72e9ca3aee0323cbad45;hp=84b0861e38cc450b50b481e7efdaaa76e0831e4e;hpb=7837a9bfdfccdc26360987a44c389832fdb82651;p=mothur.git diff --git a/phylosummary.cpp b/phylosummary.cpp index 84b0861..39bfdf3 100644 --- a/phylosummary.cpp +++ b/phylosummary.cpp @@ -48,12 +48,12 @@ void PhyloSummary::summarize(string userTfile){ try { ifstream in; - openInputFile(userTfile, in); + m->openInputFile(userTfile, in); //read in users taxonomy file and add sequences to tree string name, tax; while(!in.eof()){ - in >> name >> tax; gobble(in); + in >> name >> tax; m->gobble(in); addSeqToTree(name, tax); @@ -172,6 +172,9 @@ void PhyloSummary::print(ofstream& out){ //print labels out << "taxlevel\t rankID\t taxon\t daughterlevels\t total\t"; if (groupmap != NULL) { + //so the labels match the counts below, since the map sorts them automatically... + //sort(groupmap->namesOfGroups.begin(), groupmap->namesOfGroups.end()); + for (int i = 0; i < groupmap->namesOfGroups.size(); i++) { out << groupmap->namesOfGroups[i] << '\t'; } @@ -191,9 +194,10 @@ void PhyloSummary::print(ofstream& out){ map::iterator itGroup; if (groupmap != NULL) { - for (itGroup = tree[0].groupCount.begin(); itGroup != tree[0].groupCount.end(); itGroup++) { - out << itGroup->second << '\t'; - } + //for (itGroup = tree[0].groupCount.begin(); itGroup != tree[0].groupCount.end(); itGroup++) { + // out << itGroup->second << '\t'; + //} + for (int i = 0; i < groupmap->namesOfGroups.size(); i++) { out << tree[0].groupCount[groupmap->namesOfGroups[i]] << '\t'; } } out << endl; @@ -227,9 +231,10 @@ void PhyloSummary::print(int i, ofstream& out){ map::iterator itGroup; if (groupmap != NULL) { - for (itGroup = tree[it->second].groupCount.begin(); itGroup != tree[it->second].groupCount.end(); itGroup++) { - out << itGroup->second << '\t'; - } + //for (itGroup = tree[it->second].groupCount.begin(); itGroup != tree[it->second].groupCount.end(); itGroup++) { + // out << itGroup->second << '\t'; + //} + for (int i = 0; i < groupmap->namesOfGroups.size(); i++) { out << tree[it->second].groupCount[groupmap->namesOfGroups[i]] << '\t'; } } out << endl; } @@ -245,11 +250,17 @@ void PhyloSummary::print(int i, ofstream& out){ /**************************************************************************************************/ void PhyloSummary::readTreeStruct(ifstream& in){ try { + + //read version + string line = m->getline(in); m->gobble(in); + int num; - in >> num; gobble(in); + in >> num; m->gobble(in); tree.resize(num); + + in >> maxLevel; m->gobble(in); //read the tree file for (int i = 0; i < tree.size(); i++) { @@ -273,9 +284,9 @@ void PhyloSummary::readTreeStruct(ifstream& in){ tree[i].total = 0; - gobble(in); + m->gobble(in); - if (tree[i].level > maxLevel) { maxLevel = tree[i].level; } + //if (tree[i].level > maxLevel) { maxLevel = tree[i].level; } } }