/***********************************************************************/
int Collect::getSharedCurve(float percentFreq = 0.01){
try {
- globaldata = GlobalData::getInstance();
vector<SharedRAbundVector*> lookup;
vector<SharedRAbundVector*> subset;
//create and initialize vector of sharedvectors, one for each group
- for (int i = 0; i < globaldata->Groups.size(); i++) {
+ for (int i = 0; i < m->Groups.size(); i++) {
SharedRAbundVector* temp = new SharedRAbundVector(sharedorder->getNumBins());
temp->setLabel(sharedorder->getLabel());
- temp->setGroup(globaldata->Groups[i]);
- temp->setGroupIndex(globaldata->gGroupmap->groupIndex[globaldata->Groups[i]]);
- lookup.push_back(temp);
+ temp->setGroup(m->Groups[i]);
+ lookup.push_back(temp);
}
-
+
SharedCollectorsCurveData* ccd = new SharedCollectorsCurveData();
//initialize labels for output
//get first sample
individual chosen = sharedorder->get(i);
int abundance;
-
+
//set info for sharedvector in chosens group
for (int j = 0; j < lookup.size(); j++) {
if (chosen.group == lookup[j]->getGroup()) {
for (int w = 0; w < lookup.size(); w++) {
if ((w != k) && (w != l)) { subset.push_back(lookup[w]); }
}
-
- ccd->updateSharedData(subset, i+1, globaldata->Groups.size(), pair);
+
+ ccd->updateSharedData(subset, i+1, m->Groups.size(), pair);
}
n++;
}
+
//if this is a calculator that can do multiples then do them
pair = false;
- ccd->updateSharedData(lookup, i+1, globaldata->Groups.size(), pair);
+ ccd->updateSharedData(lookup, i+1, m->Groups.size(), pair);
+
}
totalNumSeq = i+1;
}
if ((w != k) && (w != l)) { subset.push_back(lookup[w]); }
}
- ccd->updateSharedData(subset, totalNumSeq, globaldata->Groups.size(), pair);
+ ccd->updateSharedData(subset, totalNumSeq, m->Groups.size(), pair);
}
n++;
}
//if this is a calculator that can do multiples then do them
pair = false;
- ccd->updateSharedData(lookup, totalNumSeq, globaldata->Groups.size(), pair);
+ ccd->updateSharedData(lookup, totalNumSeq, m->Groups.size(), pair);
}
-
+
//resets output files
for(int i=0;i<displays.size();i++){
displays[i]->reset();
numGroupComb = 0;
int n = 1;
- for (int i = 0; i < (globaldata->Groups.size() - 1); i++) {
- for (int l = n; l < globaldata->Groups.size(); l++) {
- group = globaldata->Groups[i] + globaldata->Groups[l];
+ for (int i = 0; i < (m->Groups.size() - 1); i++) {
+ for (int l = n; l < m->Groups.size(); l++) {
+ group = m->Groups[i] + m->Groups[l];
groupComb.push_back(group);
numGroupComb++;
}