X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=sharedchao1.h;fp=sharedchao1.h;h=ae07a8706c30fa76d1b2c975db417201a9470b5f;hb=0caf3fbabaa3ece404f8ce77f4c883dc5b1bf1dc;hp=0000000000000000000000000000000000000000;hpb=1b73ff67c83892a025e597dabd9df6fe7b58206a;p=mothur.git diff --git a/sharedchao1.h b/sharedchao1.h new file mode 100644 index 0000000..ae07a87 --- /dev/null +++ b/sharedchao1.h @@ -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); + string getCitation() { return "http://www.mothur.org/wiki/Sharedchao"; } + private: + IntNode* f1root; + IntNode* f2root; + vector f1leaves; + vector 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); //take vector containing the abundance info. for a bin and updates trees. + void updateBranchf1(IntNode*, vector, int); //pointer, vector of abundance values, index into vector + void updateBranchf2(IntNode*, vector, int); //pointer, vector of abundance values, index into vector + + //for debugging + void printTree(); + void printBranch(IntNode*); +}; + +/***********************************************************************/ + +#endif