]> git.donarmstrong.com Git - mothur.git/blob - pcacommand.h
added pca command
[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/4/10.
9  *  Copyright 2010 Schloss Lab. All rights reserved.
10  *
11  */
12  
13 #include "command.hpp"
14
15
16 /*****************************************************************/
17 class PCACommand : public Command {
18         
19 public:
20         PCACommand(string);     
21         ~PCACommand();
22         int execute();  
23         void help();
24         
25 private:
26
27         bool abort;
28         string phylipfile, columnfile, namefile, format, filename, fbase;
29         float cutoff, precision;
30         int matrix;
31         
32         void get_comment(istream&, char, char);
33         void read_mega(istream&, int, vector<string>&, vector<vector<double> >&);
34         void read_phylip(istream&, int, vector<string>&, vector<vector<double> >&);
35         void read(string, int, vector<string>&, vector<vector<double> >&);
36         double pythag(double, double);
37         void matrix_mult(vector<vector<double> >, vector<vector<double> >, vector<vector<double> >&);
38         void recenter(double, vector<vector<double> >, vector<vector<double> >&);
39         void tred2(vector<vector<double> >&, vector<double>&, vector<double>&);
40         void qtli(vector<double>&, vector<double>&, vector<vector<double> >&);
41         void output(string, vector<string>, vector<vector<double> >, vector<double>);
42         void print_matrix(vector<vector<double> >);
43         
44 };
45         
46 /*****************************************************************/
47         
48 #endif
49