]> git.donarmstrong.com Git - mothur.git/blobdiff - sharedchao1.h
Revert to previous commit
[mothur.git] / sharedchao1.h
diff --git a/sharedchao1.h b/sharedchao1.h
new file mode 100644 (file)
index 0000000..ae07a87
--- /dev/null
@@ -0,0 +1,49 @@
+#ifndef SHAREDCHAO1_H
+#define SHAREDCHAO1_H
+/*
+ *  sharedchao1.h
+ *  Dotur
+ *
+ *  Created by Sarah Westcott on 1/8/09.
+ *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
+ *
+ */
+
+/* This class implements the Sharedchao1 estimator on two groups. 
+It is a child of the calculator class. */
+
+
+#include "calculator.h"
+
+/***********************************************************************/
+
+
+class SharedChao1 : public Calculator  {
+       
+       public: 
+               SharedChao1() : Calculator("sharedchao", 1, true) {};
+               EstOutput getValues(SAbundVector*) {return data;};
+               EstOutput getValues(vector<SharedRAbundVector*>);
+               string getCitation() { return "http://www.mothur.org/wiki/Sharedchao"; }
+       private:
+               IntNode* f1root;
+               IntNode* f2root;
+               vector<IntNode*> f1leaves;
+               vector<IntNode*> f2leaves;
+               int numLeaves;
+               int numNodes;
+
+               void initialTree(int);  //builds trees structure with n leaf nodes initialized to 0.
+               void setCoef(IntNode*, int);
+               void updateTree(vector<int>); //take vector containing the abundance info. for a bin and updates trees.
+               void updateBranchf1(IntNode*, vector<int>, int);  //pointer, vector of abundance values, index into vector
+               void updateBranchf2(IntNode*, vector<int>, int);  //pointer, vector of abundance values, index into vector
+               
+               //for debugging
+               void printTree();
+               void printBranch(IntNode*);
+};
+
+/***********************************************************************/
+
+#endif