X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=unifracweightedcommand.cpp;h=1df79888eb8bdacb442b9dc2c89c51a7d4fa75ff;hb=36a6b02cf7f09d2bc34376b588944a9ca73429c5;hp=a4a1bc3defc98beb608b38645471e46541a0b10f;hpb=f55cf350ca6643f8eb070d8336e1957699a3f109;p=mothur.git diff --git a/unifracweightedcommand.cpp b/unifracweightedcommand.cpp index a4a1bc3..1df7988 100644 --- a/unifracweightedcommand.cpp +++ b/unifracweightedcommand.cpp @@ -237,6 +237,7 @@ int UnifracWeightedCommand::execute() { T = reader->getTrees(); tmap = T[0]->getTreeMap(); map nameMap = reader->getNames(); + map unique2Dup = reader->getNameMap(); delete reader; if (m->control_pressed) { delete tmap; for (int i = 0; i < T.size(); i++) { delete T[i]; } return 0; } @@ -336,11 +337,15 @@ int UnifracWeightedCommand::execute() { //copy to preserve old one - would do this in subsample but memory cleanup becomes messy. TreeMap* newTmap = new TreeMap(); - newTmap->getCopy(*tmap); + //newTmap->getCopy(*tmap); + //SubSample sample; + //Tree* subSampleTree = sample.getSample(T[i], newTmap, nameMap, subsampleSize); + + //uses method of setting groups to doNotIncludeMe SubSample sample; - Tree* subSampleTree = sample.getSample(T[i], newTmap, nameMap, subsampleSize); - + Tree* subSampleTree = sample.getSample(T[i], tmap, newTmap, subsampleSize, unique2Dup); + //call new weighted function vector iterData; iterData.resize(numComp,0); Weighted thisWeighted(includeRoot); @@ -660,7 +665,7 @@ int UnifracWeightedCommand::runRandomCalcs(Tree* thisTree, vector usersS createProcesses(thisTree, namesOfGroupCombos, rScores); } #else - driver(T[i], namesOfGroupCombos, 0, namesOfGroupCombos.size(), rScores); + driver(thisTree, namesOfGroupCombos, 0, namesOfGroupCombos.size(), rScores); #endif if (m->control_pressed) { delete tmap; for (int i = 0; i < T.size(); i++) { delete T[i]; } delete output; outSum.close(); for (int i = 0; i < outputNames.size(); i++) { m->mothurRemove(outputNames[i]); } return 0; }