X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=phylosummary.cpp;h=84b0861e38cc450b50b481e7efdaaa76e0831e4e;hb=7837a9bfdfccdc26360987a44c389832fdb82651;hp=915a05ff74a14e7fac2a32da119c184ee9908293;hpb=89d6711c2beed6ee75fb00e5e57f1a91564d3e89;p=mothur.git diff --git a/phylosummary.cpp b/phylosummary.cpp index 915a05f..84b0861 100644 --- a/phylosummary.cpp +++ b/phylosummary.cpp @@ -114,6 +114,8 @@ int PhyloSummary::addSeqToTree(string seqName, string seqTaxonomy){ //find out the sequences group string group = groupmap->getGroup(seqName); + if (group == "not found") { m->mothurOut(seqName + " is not in your groupfile, and will be included in the overall total, but not any group total."); m->mothurOutEndLine(); } + //do you have a count for this group? map::iterator itGroup = tree[currentNode].groupCount.find(group); @@ -177,8 +179,15 @@ void PhyloSummary::print(ofstream& out){ out << endl; + int totalChildrenInTree = 0; + + map::iterator it; + for(it=tree[0].children.begin();it!=tree[0].children.end();it++){ + if (tree[it->second].total != 0) { totalChildrenInTree++; } + } + //print root - out << tree[0].level << "\t" << tree[0].rank << "\t" << tree[0].name << "\t" << tree[0].children.size() << "\t" << tree[0].total << "\t"; + out << tree[0].level << "\t" << tree[0].rank << "\t" << tree[0].name << "\t" << totalChildrenInTree << "\t" << tree[0].total << "\t"; map::iterator itGroup; if (groupmap != NULL) { @@ -206,7 +215,15 @@ void PhyloSummary::print(int i, ofstream& out){ for(it=tree[i].children.begin();it!=tree[i].children.end();it++){ if (tree[it->second].total != 0) { - out << tree[it->second].level << "\t" << tree[it->second].rank << "\t" << tree[it->second].name << "\t" << tree[it->second].children.size() << "\t" << tree[it->second].total << "\t"; + + int totalChildrenInTree = 0; + + map::iterator it2; + for(it2=tree[it->second].children.begin();it2!=tree[it->second].children.end();it2++){ + if (tree[it2->second].total != 0) { totalChildrenInTree++; } + } + + out << tree[it->second].level << "\t" << tree[it->second].rank << "\t" << tree[it->second].name << "\t" << totalChildrenInTree << "\t" << tree[it->second].total << "\t"; map::iterator itGroup; if (groupmap != NULL) {