]> git.donarmstrong.com Git - mothur.git/blob - sharedchao1.h
working on pam
[mothur.git] / sharedchao1.h
1 #ifndef SHAREDCHAO1_H
2 #define SHAREDCHAO1_H
3 /*
4  *  sharedchao1.h
5  *  Dotur
6  *
7  *  Created by Sarah Westcott on 1/8/09.
8  *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
9  *
10  */
11
12 /* This class implements the Sharedchao1 estimator on two groups. 
13 It is a child of the calculator class. */
14
15
16 #include "calculator.h"
17
18 /***********************************************************************/
19
20
21 class SharedChao1 : public Calculator  {
22         
23         public: 
24                 SharedChao1() : Calculator("sharedchao", 1, true) {};
25                 EstOutput getValues(SAbundVector*) {return data;};
26                 EstOutput getValues(vector<SharedRAbundVector*>);
27                 string getCitation() { return "http://www.mothur.org/wiki/Sharedchao"; }
28         private:
29                 IntNode* f1root;
30                 IntNode* f2root;
31                 vector<IntNode*> f1leaves;
32                 vector<IntNode*> f2leaves;
33                 int numLeaves;
34                 int numNodes;
35
36                 void initialTree(int);  //builds trees structure with n leaf nodes initialized to 0.
37                 void setCoef(IntNode*, int);
38                 void updateTree(vector<int>); //take vector containing the abundance info. for a bin and updates trees.
39                 void updateBranchf1(IntNode*, vector<int>, int);  //pointer, vector of abundance values, index into vector
40                 void updateBranchf2(IntNode*, vector<int>, int);  //pointer, vector of abundance values, index into vector
41                 
42                 //for debugging
43                 void printTree();
44                 void printBranch(IntNode*);
45 };
46
47 /***********************************************************************/
48
49 #endif