T = reader->getTrees();
tmap = T[0]->getTreeMap();
map<string, string> nameMap = reader->getNames();
+ map<string, string> unique2Dup = reader->getNameMap();
delete reader;
sumFile = outputDir + m->getSimpleName(treefile) + ".uwsummary";
int thisSize = thisGroupsSeqs.size();
if (thisSize >= subsampleSize) { Groups.push_back(newGroups[i]); }
- else { m->mothurOut("You have selected a size that is larger than "+newGroups[i]+" number of sequences, removing "+newGroups[i]+".\n"); }
+ else { m->mothurOut("You have selected a size that is larger than "+newGroups[i]+" number of sequences, removing "+newGroups[i]+".\n"); }
}
m->setGroups(Groups);
}
for (int i = 0; i < T.size(); i++) {
if (m->control_pressed) { delete tmap; for (int i = 0; i < T.size(); i++) { delete T[i]; }outSum.close(); for (int i = 0; i < outputNames.size(); i++) { m->mothurRemove(outputNames[i]); } return 0; }
- counter = 0;
+ counter = 0;
if (random) {
output = new ColumnFile(outputDir + m->getSimpleName(treefile) + toString(i+1) + ".unweighted", itersString);
if (m->control_pressed) { delete tmap; for (int i = 0; i < T.size(); i++) { delete T[i]; }if (random) { delete output; } outSum.close(); for (int i = 0; i < outputNames.size(); i++) { m->mothurRemove(outputNames[i]); } return 0; }
+ int startSubsample = time(NULL);
+
//subsample loop
vector< vector<double> > calcDistsTotals; //each iter, each groupCombos dists. this will be used to make .dist files
for (int thisIter = 0; thisIter < subsampleIters; thisIter++) { //subsampleIters=0, if subsample=f.
-
if (m->control_pressed) { break; }
//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<double> iterData; iterData.resize(numComp,0);
if((thisIter+1) % 100 == 0){ m->mothurOut(toString(thisIter+1)); m->mothurOutEndLine(); }
}
+ m->mothurOut("It took " + toString(time(NULL) - startSubsample) + " secs to run the subsampling."); m->mothurOutEndLine();
if (m->control_pressed) { delete tmap; for (int i = 0; i < T.size(); i++) { delete T[i]; }if (random) { delete output; } outSum.close(); for (int i = 0; i < outputNames.size(); i++) { m->mothurRemove(outputNames[i]); } return 0; }