]> git.donarmstrong.com Git - mothur.git/blob - pcacommand.h
added load.logfile command. changed summary.single output for subsample=t.
[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 getOutputFileNameTag(string, string);
29         string getHelpString(); 
30         string getCitation() { return "McCune B, Grace JB, Urban DL (2002). Analysis of ecological communities. MjM Software Design: Gleneden Beach, OR. \nLegendre P, Legendre L (1998). Numerical Ecology. Elsevier: New York. \nhttp://www.mothur.org/wiki/Pca"; }
31         string getDescription()         { return "pca"; }
32
33         int execute(); 
34         void help() { m->mothurOut(getHelpString()); }  
35         
36         
37 private:
38
39         bool abort, metric;
40         string outputDir, mode, inputFile, label, groups, sharedfile, relabundfile;
41         vector<string> outputNames, Groups;
42         set<string> labels;
43         LinearAlgebra linearCalc;
44         
45         //vector< vector<double> > createMatrix(vector<SharedRAbundFloatVector*>);
46         int process(vector<SharedRAbundFloatVector*>&);
47         void output(string, vector<string>, vector<vector<double> >&, vector<double>);
48         
49 };
50
51 /*****************************************************************/
52
53 #endif
54
55