]> git.donarmstrong.com Git - mothur.git/blob - amovacommand.h
reworked amova / homova / anosim
[mothur.git] / amovacommand.h
1 #ifndef AMOVACOMMAND_H
2 #define AMOVACOMMAND_H
3
4 /*
5  *  amovacommand.h
6  *  mothur
7  *
8  *  Created by westcott on 2/7/11.
9  *  Copyright 2011 Schloss Lab. All rights reserved.
10  *
11  */
12
13 #include "command.hpp"
14
15 //class GlobalData;
16 class GroupMap;
17
18 class AmovaCommand : public Command {
19         
20 public:
21         AmovaCommand(string);
22         AmovaCommand();
23         ~AmovaCommand();
24         vector<string> getRequiredParameters();
25         vector<string> getValidParameters();
26         vector<string> getRequiredFiles();
27         map<string, vector<string> > getOutputFiles() { return outputTypes; }
28         int execute();
29         void help();
30         
31 private:
32         double runAMOVA(ofstream&, map<string, vector<int> >, double);
33         double calcSSWithin(map<string, vector<int> >&);
34         double calcSSTotal(map<string, vector<int> >&);
35         map<string, vector<int> > getRandomizedGroups(map<string, vector<int> >);
36
37         
38         bool abort;
39         map<string, vector<string> > outputTypes;
40         vector<string> outputNames;
41
42         string outputDir, inputDir, designFileName, phylipFileName;
43         GroupMap* designMap;
44         vector< vector<double> > distanceMatrix;
45         int iters;
46         double experimentwiseAlpha;
47 };
48
49 #endif
50