* Dotur
*
* Created by Sarah Westcott on 11/18/08.
- * Copyright 2008 __MyCompanyName__. All rights reserved.
+ * Copyright 2008 Schloss Lab UMASS Amherst. All rights reserved.
*
*/
#include "rarefact.h"
-#include "ordervector.hpp"
+//#include "ordervector.hpp"
/***********************************************************************/
for(int i=0;i<displays.size();i++){
displays[i]->reset();
}
+
+ delete lookup;
+ delete rank;
}
for(int i=0;i<displays.size();i++){
displays[i]->close();
}
+ delete rcd;
}
catch(exception& e) {
cout << "Standard Error: " << e.what() << " has occurred in the Rarefact class Function getCurve. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
lookup.clear();
//create and initialize vector of sharedvectors, one for each group
- for (int i = 0; i < globaldata->gGroupmap->getNumGroups(); i++) {
+ for (int i = 0; i < globaldata->Groups.size(); i++) {
SharedRAbundVector* temp = new SharedRAbundVector(sharedorder->getNumBins());
temp->setLabel(sharedorder->getLabel());
- temp->setGroup(globaldata->gGroupmap->namesOfGroups[i]);
+ temp->setGroup(globaldata->Groups[i]);
lookup.push_back(temp);
}
//randomize the groups
random_shuffle(lookup.begin(), lookup.end());
-
- //send the first group
- rcd->updateSharedData(lookup[0], lookup[0], 1, numGroupComb);
+
+ vector<SharedRAbundVector*> subset;
+ //send each group one at a time
+ for (int k = 0; k < lookup.size(); k++) {
+ subset.clear(); //clears out old pair of sharedrabunds
+ //add in new pair of sharedrabunds
+ subset.push_back(lookup[0]); subset.push_back(lookup[k]);
- //send each additional group one at a time
- int n = 1;
- for (int k = 0; k < (lookup.size() - 1); k++) {
- for (int l = n; l < lookup.size(); l++) {
- rcd->updateSharedData(lookup[k], lookup[l], l+1, numGroupComb);
- mergeVectors(lookup[0], lookup[l]);
- }
- n++;
+ rcd->updateSharedData(subset, k+1, numGroupComb);
+ mergeVectors(lookup[0], lookup[k]);
}
//resets output files
for(int i=0;i<displays.size();i++){
displays[i]->reset();
}
+
+ for (int i = 0; i < lookup.size(); i++) {
+ delete lookup[i];
+ }
}
for(int i=0;i<displays.size();i++){
displays[i]->close();
}
-
+
+ delete rcd;
}
catch(exception& e) {
cout << "Standard Error: " << e.what() << " has occurred in the Rarefact class Function getSharedCurve. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";