]> git.donarmstrong.com Git - mothur.git/blob - pcacommand.h
379cf6e654bb72b9e5a871ea93d1c230fe819809
[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 "sharedrabundfloatvector.h"
16
17 /*****************************************************************/
18 class PCACommand : public Command {
19         
20 public:
21         PCACommand(string);     
22         PCACommand();
23         ~PCACommand() {}
24         
25         vector<string> setParameters();
26         string getCommandName()                 { return "pca";                                 }
27         string getCommandCategory()             { return "Hypothesis Testing";  }
28         string getHelpString(); 
29         
30         int execute(); 
31         void help() { m->mothurOut(getHelpString()); }  
32         
33         
34 private:
35
36         bool abort, metric;
37         string outputDir, mode, inputFile, label, groups, sharedfile, relabundfile;
38         vector<string> outputNames, Groups;
39         set<string> labels;
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