X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=indicatorcommand.h;h=1f46081dd464c32e599cf1d173d1eba60df3db46;hp=578aa95cbd6ebd773e6595c875ef487fe4a6861b;hb=1a20e24ee786195ab0e1cccd4f5aede7a88f3f4e;hpb=8f7f4fc08b8c70d9ef0f79607813dba4e926e102 diff --git a/indicatorcommand.h b/indicatorcommand.h index 578aa95..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,18 +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"; } + 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; @@ -45,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); + };