X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=indicatorcommand.h;h=c5112e683dbf78a074aa1df6c1978d3b1fb0756d;hb=e0ce7cbc93d7d2fbb753ca694182db092a0ea0e7;hp=9c8c6d437470588be099c656d89942ab8d78cc61;hpb=e150b0b0664caec517485ee6d69dcdade6dcae77;p=mothur.git diff --git a/indicatorcommand.h b/indicatorcommand.h index 9c8c6d4..c5112e6 100644 --- a/indicatorcommand.h +++ b/indicatorcommand.h @@ -27,8 +27,9 @@ public: string getCommandName() { return "indicator"; } string getCommandCategory() { return "Hypothesis Testing"; } string getHelpString(); - string getCitation() { return "http://www.mothur.org/wiki/Indicator"; } - + 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()); } @@ -38,6 +39,7 @@ private: 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 +47,18 @@ 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 >&, map< vector, vector >); + vector getValues(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); + };