X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=indicatorcommand.h;h=1f46081dd464c32e599cf1d173d1eba60df3db46;hb=1a20e24ee786195ab0e1cccd4f5aede7a88f3f4e;hp=0d924fd1ff0a1a17cfa51b6faa5de55dcd3bf186;hpb=8173238f9f94af9baab8471de58bed7c8830948d;p=mothur.git diff --git a/indicatorcommand.h b/indicatorcommand.h index 0d924fd..1f46081 100644 --- a/indicatorcommand.h +++ b/indicatorcommand.h @@ -12,8 +12,7 @@ #include "command.hpp" #include "readtree.h" -#include "treemap.h" -#include "globaldata.hpp" +#include "counttable.h" #include "sharedrabundvector.h" #include "sharedrabundfloatvector.h" #include "inputdata.h" @@ -22,32 +21,49 @@ class IndicatorCommand : public Command { public: IndicatorCommand(string); IndicatorCommand(); - ~IndicatorCommand(); - vector getRequiredParameters(); - vector getValidParameters(); - vector getRequiredFiles(); - map > getOutputFiles() { return outputTypes; } + ~IndicatorCommand(){} + + 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"; } + int execute(); - void help(); + void help() { m->mothurOut(getHelpString()); } private: - GlobalData* globaldata; ReadTree* read; - TreeMap* treeMap; - string treefile, sharedfile, relabundfile, groups, label, inputFileName, outputDir; - bool abort, pickedGroups; + CountTable* ct; + GroupMap* designMap; + string treefile, sharedfile, relabundfile, groups, label, inputFileName, outputDir, designfile; + bool abort; + int iters, processors; vector outputNames, Groups; - map > outputTypes; vector lookup; vector lookupFloat; int getShared(); int getSharedFloat(); int GetIndicatorSpecies(Tree*&); + int GetIndicatorSpecies(); set getDescendantList(Tree*&, int, map >, map >&); - vector getValues(vector< vector >&); - vector getValues(vector< vector >&); - map getLengthToLeaf(Tree*&); + 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); + };