X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=ace.cpp;h=92c023f663fa11e8e2ac9bc0041a15162a1abdb1;hp=064779467d92c14a514f9ad10c4fd714763401ed;hb=050a3ff02473a3d4c0980964e1a9ebe52e55d6b8;hpb=20a2d0350a737a434c89f303662d64a8eeea7b05 diff --git a/ace.cpp b/ace.cpp index 0647794..92c023f 100644 --- a/ace.cpp +++ b/ace.cpp @@ -14,15 +14,14 @@ EstOutput Ace::getValues(SAbundVector* rank) { try { data.resize(3,0); - // vector aceData(3,0); double ace, acelci, acehci; - int nrare = 0; - int srare = 0; - int sabund = 0; + double nrare = 0; + double srare = 0; + double sabund = 0; double Cace, term1, gamace; - int numsum = 0; + double numsum = 0; double maxRank = (double)rank->getMaxRank(); @@ -34,7 +33,7 @@ EstOutput Ace::getValues(SAbundVector* rank) { } else if(i>abund) {sabund += rank->get(i);} } - int sobs = srare + sabund; + double sobs = srare + sabund; if (nrare == 0){ Cace = 0.0000; } else { Cace = 1.0000 -(double)rank->get(1)/(double)nrare; } @@ -43,7 +42,7 @@ EstOutput Ace::getValues(SAbundVector* rank) { if(denom <= 0.0){ term1=0.0000; } else { term1 = (double)(srare * numsum)/(double)denom - 1.0; } if(term1 >= 0.0){ gamace = term1; } else { gamace = 0.0; } - + if(gamace >= 0.64){ gamace = gamace * (1 + (nrare * (1 - Cace) * numsum) / denom); if(gamace<0){ gamace = 0; } @@ -63,7 +62,8 @@ EstOutput Ace::getValues(SAbundVector* rank) { I have also added the forumlae to calculate the 95% confidence intervals. */ - int j,D_s=0,nn=0,ww=0,Max_Index=rank->getMaxRank()+1; + double j,D_s=0,nn=0,ww=0; + int Max_Index=rank->getMaxRank()+1; double pp, temp1, temp2; vector Part_N_Part_F(Max_Index+1,0.0); @@ -141,13 +141,9 @@ EstOutput Ace::getValues(SAbundVector* rank) { return data; } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the Ace class Function getValues. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "Ace", "getValues"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the Ace class function getValues. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } } /***********************************************************************/