X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=sharedsobscollectsummary.cpp;h=fffed0290b1136da46e42d31c99542da19ec9a0a;hb=5c5c0428f6d548c28a8b903ac80efed4f92d59db;hp=d39e66e58a7bb79b9d4cc5f326b53d169778d181;hpb=44c1323a88b2a697c7047df1b3bb8c59eadd15b1;p=mothur.git diff --git a/sharedsobscollectsummary.cpp b/sharedsobscollectsummary.cpp index d39e66e..fffed02 100644 --- a/sharedsobscollectsummary.cpp +++ b/sharedsobscollectsummary.cpp @@ -13,34 +13,30 @@ //This returns the number of shared species observed in several groups. //The shared vector is each groups sharedrabundvector. -EstOutput SharedSobsCS::getValues(SharedRAbundVector* shared1, SharedRAbundVector* shared2){ +EstOutput SharedSobsCS::getValues(vector shared){ try { data.resize(1,0); - int observed = 0; - int tempA, tempB; + double observed = 0; + int numGroups = shared.size(); - //loop through the species in each group - for (int k = 0; k < shared1->size(); k++) { - tempA = shared1->getAbundance(k); //store in temps to avoid calling getAbundance multiple times - tempB = shared2->getAbundance(k); - - //if you have found a new species - if ((tempA != 0) && (tempB != 0)) {//they are shared - observed++; + for (int i = 0; i < shared[0]->getNumBins(); i++) { + //get bin values and set sharedByAll + bool sharedByAll = true; + for (int j = 0; j < numGroups; j++) { + if (shared[j]->getAbundance(i) == 0) { sharedByAll = false; } } + + //they are shared + if (sharedByAll == true) { observed++; } } data[0] = observed; return data; } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the SharedSobsCS class Function getValues. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "SharedSobsCS", "getValues"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the SharedSobsCS class function getValues. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } } -/***********************************************************************/ \ No newline at end of file +/***********************************************************************/