]> git.donarmstrong.com Git - mothur.git/blobdiff - indicatorcommand.h
sffinfo bug with flow grams right index when clipQualRight=0
[mothur.git] / indicatorcommand.h
index 0d924fd1ff0a1a17cfa51b6faa5de55dcd3bf186..1f46081dd464c32e599cf1d173d1eba60df3db46 100644 (file)
@@ -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<string> getRequiredParameters();
-       vector<string> getValidParameters();
-       vector<string> getRequiredFiles();
-       map<string, vector<string> > getOutputFiles() { return outputTypes; }
+       ~IndicatorCommand(){}
+       
+       vector<string> 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<string> outputNames, Groups;
-       map<string, vector<string> > outputTypes;
        vector<SharedRAbundVector*> lookup;
        vector<SharedRAbundFloatVector*> lookupFloat;
        
        int getShared();
        int getSharedFloat();
        int GetIndicatorSpecies(Tree*&);
+       int GetIndicatorSpecies();
        set<string> getDescendantList(Tree*&, int, map<int, set<string> >, map<int, set<int> >&);
-       vector<float> getValues(vector< vector<SharedRAbundVector*> >&);
-       vector<float> getValues(vector< vector<SharedRAbundFloatVector*> >&);
-       map<int, float> getLengthToLeaf(Tree*&);
+       vector<float> getValues(vector< vector<SharedRAbundVector*> >&, vector<string>&, map< vector<int>, vector<int> >);
+       vector<float> getValues(vector< vector<SharedRAbundFloatVector*> >&, vector<string>&, map< vector<int>, vector<int> >);
+    
+       map<int, float> getDistToRoot(Tree*&);
+       map< vector<int>, vector<int> > randomizeGroupings(vector< vector<SharedRAbundVector*> >&, int);
+       map< vector<int>, vector<int> > randomizeGroupings(vector< vector<SharedRAbundFloatVector*> >&, int);
+    
+       vector<float> driver(vector< vector<SharedRAbundFloatVector*> >&, map< vector<int>, vector<int> >, int, vector<float>, int);
+       vector<float> driver(vector< vector<SharedRAbundVector*> >&, map< vector<int>, vector<int> >, int, vector<float>, int);
+    
+       vector<float> getPValues(vector< vector<SharedRAbundFloatVector*> >&, map< vector<int>, vector<int> >, int, vector<float>);
+       vector<float> getPValues(vector< vector<SharedRAbundVector*> >&, map< vector<int>, vector<int> >, int, vector<float>);
+
        
 };