*/
#include "command.hpp"
-#include "inputdata.h"
-#include "sharedrabundvector.h"
-#include "validcalculator.h"
-#include "readphylipvector.h"
-
-class GlobalData;
+class GroupMap;
class AmovaCommand : public Command {
public:
AmovaCommand(string);
AmovaCommand();
- ~AmovaCommand();
- vector<string> getRequiredParameters();
- vector<string> getValidParameters();
- vector<string> getRequiredFiles();
- map<string, vector<string> > getOutputFiles() { return outputTypes; }
+ ~AmovaCommand() {}
+
+ vector<string> setParameters();
+ string getCommandName() { return "amova"; }
+ string getCommandCategory() { return "Hypothesis Testing"; }
+ string getHelpString();
+ string getCitation() { return "Anderson MJ (2001). A new method for non-parametric multivariate analysis of variance. Austral Ecol 26: 32-46.\nhttp://www.mothur.org/wiki/Amova"; }
+ string getDescription() { return "analysis of molecular variance"; }
+
int execute();
- void help();
+ void help() { m->mothurOut(getHelpString()); }
private:
double runAMOVA(ofstream&, map<string, vector<int> >, double);
double calcSSTotal(map<string, vector<int> >&);
map<string, vector<int> > getRandomizedGroups(map<string, vector<int> >);
-
bool abort;
- GlobalData* globaldata;
- map<string, vector<string> > outputTypes;
vector<string> outputNames;
string outputDir, inputDir, designFileName, phylipFileName;
vector< vector<double> > distanceMatrix;
int iters;
double experimentwiseAlpha;
-
-// struct linePair {
-// int start;
-// int num;
-// linePair(int i, int j) : start(i), num(j) {}
-// };
-// vector<linePair> lines;
-//
-// vector< vector<string> > namesOfGroupCombos;
-// vector<string> Groups, outputNames, Sets;
-// int processors;
-// string groups, sets, calc, sharedfile, label, allLines, pickedGroups;
-// vector<Calculator*> calculators;
-// set<string> labels; //holds labels to be used
-// int driver(int, int, vector<SharedRAbundVector*>, string);
-// int driver(int, int, vector<string>, string, vector< vector<double> >&);
-// int process(vector<SharedRAbundVector*>);
};
#endif