X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=indicatorcommand.h;h=1f46081dd464c32e599cf1d173d1eba60df3db46;hb=1a5c2356c1b955c6ec024b2baf9f46377ee7c72e;hp=00694bea297688fc57804fc4ab41b61287e798d0;hpb=a44542a3c740cf957cff72ac71742f2fe48b0eaf;p=mothur.git diff --git a/indicatorcommand.h b/indicatorcommand.h index 00694be..1f46081 100644 --- a/indicatorcommand.h +++ b/indicatorcommand.h @@ -12,7 +12,7 @@ #include "command.hpp" #include "readtree.h" -#include "treemap.h" +#include "counttable.h" #include "sharedrabundvector.h" #include "sharedrabundfloatvector.h" #include "inputdata.h" @@ -26,19 +26,22 @@ public: vector setParameters(); string getCommandName() { return "indicator"; } string getCommandCategory() { return "Hypothesis Testing"; } + string getHelpString(); + string getOutputPattern(string); string getCitation() { return "Dufrene M, Legendre P (1997). Species assemblages and indicator species: The need for a flexible asymmetrical approach. Ecol Monogr 67: 345-66.\n McCune B, Grace JB, Urban DL (2002). Analysis of ecological communities. MjM Software Design: Gleneden Beach, OR. \nLegendre P, Legendre L (1998). Numerical Ecology. Elsevier: New York. \nhttp://www.mothur.org/wiki/Indicator"; } - string getDescription() { return "calculate the indicator value for each OTU for each tree node"; } + string getDescription() { return "calculate the indicator value for each OTU"; } int execute(); void help() { m->mothurOut(getHelpString()); } private: ReadTree* read; - TreeMap* treeMap; + CountTable* ct; GroupMap* designMap; string treefile, sharedfile, relabundfile, groups, label, inputFileName, outputDir, designfile; bool abort; + int iters, processors; vector outputNames, Groups; vector lookup; vector lookupFloat; @@ -46,10 +49,21 @@ private: int getShared(); int getSharedFloat(); int GetIndicatorSpecies(Tree*&); + int GetIndicatorSpecies(); set getDescendantList(Tree*&, int, map >, map >&); - vector getValues(vector< vector >&); - vector getValues(vector< vector >&); + vector getValues(vector< vector >&, vector&, map< vector, vector >); + vector getValues(vector< vector >&, vector&, map< vector, vector >); + map getDistToRoot(Tree*&); + map< vector, vector > randomizeGroupings(vector< vector >&, int); + map< vector, vector > randomizeGroupings(vector< vector >&, int); + + vector driver(vector< vector >&, map< vector, vector >, int, vector, int); + vector driver(vector< vector >&, map< vector, vector >, int, vector, int); + + vector getPValues(vector< vector >&, map< vector, vector >, int, vector); + vector getPValues(vector< vector >&, map< vector, vector >, int, vector); + };