]> git.donarmstrong.com Git - mothur.git/blobdiff - shen.cpp
fixed Thomas' calculators
[mothur.git] / shen.cpp
index c8368c641135e3676e687c708cc1dd616e1298b4..61291a62554a3ccfb0a1b35bd761fb5bfcf1e881 100644 (file)
--- a/shen.cpp
+++ b/shen.cpp
@@ -8,23 +8,27 @@
  */
 
 #include "shen.h"
-#include <math.h>
+#include "ace.h"
 
        
 /***********************************************************************/      
 EstOutput Shen::getValues(SAbundVector* rank){
 
        try {
+               globaldata = GlobalData::getInstance();
+               
                data.resize(1,0);
                
                double n = (double)rank->getNumSeqs();
                double f1 = (double)rank->get(1);
                
-               double D_rare = 0; //I didn't know what this was. Simply replace the '0' with the appropriate expression.
-               double C_rare = 1; //I didn't know what this was. Simply replace the '1' with the appropriate expression.
-               double Y_rare = 1; //I didn't know what this was. Simply replace the '1' with the appropriate expression.
+               int abund;
+               convert(globaldata->getAbund(), abund);
+               
+               Ace* calc = new Ace(abund);
+               EstOutput ace = calc->getValues(rank);
                
-               double f0 = D_rare/C_rare + f1/C_rare * Y_rare*Y_rare - D_rare;
+               double f0 = n - ace[0];
                
                data[0] = f0 * (1 - pow(1 - f1/n/f0, m));