X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=indicatorcommand.h;h=1f46081dd464c32e599cf1d173d1eba60df3db46;hb=e1de1a55a2a0f87bd8e2fbedc0b583aee04a4ba4;hp=9c8c6d437470588be099c656d89942ab8d78cc61;hpb=e150b0b0664caec517485ee6d69dcdade6dcae77;p=mothur.git diff --git a/indicatorcommand.h b/indicatorcommand.h index 9c8c6d4..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 getCitation() { return "http://www.mothur.org/wiki/Indicator"; } + 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); + };