]> git.donarmstrong.com Git - mothur.git/blob - pcacommand.h
eedfcf35c58d508cb37ebc41416ca0a3bfc7b1c8
[mothur.git] / pcacommand.h
1 #ifndef PCACOMMAND_H
2 #define PCACOMMAND_H
3
4 /*
5  *  pcacommand.h
6  *  mothur
7  *
8  *  Created by westcott on 1/7/11.
9  *  Copyright 2011 Schloss Lab. All rights reserved.
10  *
11  */
12
13 #include "command.hpp"
14 #include "linearalgebra.h"
15 #include "globaldata.hpp"
16
17
18 /*****************************************************************/
19 class PCACommand : public Command {
20         
21 public:
22         PCACommand(string);     
23         PCACommand();
24         ~PCACommand();
25         vector<string> getRequiredParameters();
26         vector<string> getValidParameters();
27         vector<string> getRequiredFiles();
28         map<string, vector<string> > getOutputFiles() { return outputTypes; }
29         int execute();  
30         void help();
31         
32 private:
33         GlobalData* globaldata;
34         
35         bool abort, metric;
36         string outputDir, mode, inputFile, label, groups;
37         vector<string> outputNames, Groups;
38         set<string> labels;
39         map<string, vector<string> > outputTypes;
40         LinearAlgebra linearCalc;
41         
42         //vector< vector<double> > createMatrix(vector<SharedRAbundFloatVector*>);
43         int process(vector<SharedRAbundFloatVector*>&);
44         void output(string, vector<string>, vector<vector<double> >&, vector<double>);
45         
46 };
47
48 /*****************************************************************/
49
50 #endif
51
52