8 * Created by westcott on 2/7/11.
9 * Copyright 2011 Schloss Lab. All rights reserved.
13 #include "command.hpp"
14 #include "inputdata.h"
15 #include "sharedrabundvector.h"
16 #include "validcalculator.h"
17 #include "readphylipvector.h"
21 class AmovaCommand : public Command {
27 vector<string> getRequiredParameters();
28 vector<string> getValidParameters();
29 vector<string> getRequiredFiles();
30 map<string, vector<string> > getOutputFiles() { return outputTypes; }
35 double runAMOVA(ofstream&, map<string, vector<int> >, double);
36 double calcSSWithin(map<string, vector<int> >&);
37 double calcSSTotal(map<string, vector<int> >&);
38 map<string, vector<int> > getRandomizedGroups(map<string, vector<int> >);
42 GlobalData* globaldata;
43 map<string, vector<string> > outputTypes;
44 vector<string> outputNames;
46 string outputDir, inputDir, designFileName, phylipFileName;
48 vector< vector<double> > distanceMatrix;
50 double experimentwiseAlpha;
55 // linePair(int i, int j) : start(i), num(j) {}
57 // vector<linePair> lines;
59 // vector< vector<string> > namesOfGroupCombos;
60 // vector<string> Groups, outputNames, Sets;
62 // string groups, sets, calc, sharedfile, label, allLines, pickedGroups;
63 // vector<Calculator*> calculators;
64 // set<string> labels; //holds labels to be used
65 // int driver(int, int, vector<SharedRAbundVector*>, string);
66 // int driver(int, int, vector<string>, string, vector< vector<double> >&);
67 // int process(vector<SharedRAbundVector*>);