]> git.donarmstrong.com Git - mothur.git/blob - amovacommand.h
added sets to amova and homova commands. added oligos to make.contigs. added metadat...
[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 class GroupMap;
15
16 class AmovaCommand : public Command {
17         
18 public:
19         AmovaCommand(string);
20         AmovaCommand();
21         ~AmovaCommand() {}
22         
23         vector<string> setParameters();
24         string getCommandName()                 { return "amova";                                       }
25         string getCommandCategory()             { return "Hypothesis Testing";          }
26         string getOutputFileNameTag(string, string);
27         string getHelpString(); 
28         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"; }
29         string getDescription()         { return "analysis of molecular variance"; }
30         
31         int execute();
32         void help() { m->mothurOut(getHelpString()); }
33         
34 private:
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> >);
39
40         bool abort;
41         vector<string> outputNames, Sets;
42
43         string outputDir, inputDir, designFileName, phylipFileName;
44         GroupMap* designMap;
45         vector< vector<double> > distanceMatrix;
46         int iters;
47         double experimentwiseAlpha;
48 };
49
50 #endif
51