X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=subsamplecommand.cpp;h=24c83fdc2142a0ad875cba6ff49ffd3d15b73fef;hb=8977d23b7f18d981b14e59c210c97198541ca7b0;hp=49a821045e122b5097fde092a5845378e21afc60;hpb=65e21482d022d12f7a78a8d436fb51f322603e41;p=mothur.git diff --git a/subsamplecommand.cpp b/subsamplecommand.cpp index 49a8210..24c83fd 100644 --- a/subsamplecommand.cpp +++ b/subsamplecommand.cpp @@ -426,6 +426,7 @@ int SubSampleCommand::getSubSampleFasta() { if (persample) { //initialize counts map groupCounts; + map::iterator itGroupCounts; for (int i = 0; i < Groups.size(); i++) { groupCounts[Groups[i]] = 0; } for (int j = 0; j < names.size(); j++) { @@ -435,7 +436,10 @@ int SubSampleCommand::getSubSampleFasta() { string group = groupMap->getGroup(names[j]); if (group == "not found") { m->mothurOut("[ERROR]: " + names[j] + " is not in your groupfile. please correct."); m->mothurOutEndLine(); group = "NOTFOUND"; } else{ - if (groupCounts[group] < size) { subset.insert(names[j]); } + itGroupCounts = groupCounts.find(group); + if (itGroupCounts != groupCounts.end()) { + if (groupCounts[group] < size) { subset.insert(names[j]); groupCounts[group]++; } + } } } }else { @@ -1025,6 +1029,7 @@ int SubSampleCommand::getSubSampleList() { if (persample) { //initialize counts map groupCounts; + map::iterator itGroupCounts; for (int i = 0; i < Groups.size(); i++) { groupCounts[Groups[i]] = 0; } for (int j = 0; j < names.size(); j++) { @@ -1034,7 +1039,10 @@ int SubSampleCommand::getSubSampleList() { string group = groupMap->getGroup(names[j]); if (group == "not found") { m->mothurOut("[ERROR]: " + names[j] + " is not in your groupfile. please correct."); m->mothurOutEndLine(); group = "NOTFOUND"; } else{ - if (groupCounts[group] < size) { subset.insert(names[j]); } + itGroupCounts = groupCounts.find(group); + if (itGroupCounts != groupCounts.end()) { + if (groupCounts[group] < size) { subset.insert(names[j]); groupCounts[group]++; } + } } } }else{