]> git.donarmstrong.com Git - mothur.git/blobdiff - pcacommand.h
working on pca
[mothur.git] / pcacommand.h
index 089d1c102f38d66bfa0d83c2120dd3d3f1cd883e..eedfcf35c58d508cb37ebc41416ca0a3bfc7b1c8 100644 (file)
@@ -3,14 +3,16 @@
 
 /*
  *  pcacommand.h
- *  Mothur
+ *  mothur
  *
- *  Created by westcott on 1/4/10.
- *  Copyright 2010 Schloss Lab. All rights reserved.
+ *  Created by westcott on 1/7/11.
+ *  Copyright 2011 Schloss Lab. All rights reserved.
  *
  */
+
 #include "command.hpp"
+#include "linearalgebra.h"
+#include "globaldata.hpp"
 
 
 /*****************************************************************/
@@ -18,30 +20,33 @@ class PCACommand : public Command {
        
 public:
        PCACommand(string);     
+       PCACommand();
        ~PCACommand();
+       vector<string> getRequiredParameters();
+       vector<string> getValidParameters();
+       vector<string> getRequiredFiles();
+       map<string, vector<string> > getOutputFiles() { return outputTypes; }
        int execute();  
        void help();
        
 private:
-
-       bool abort;
-       string phylipfile, columnfile, namefile, format, filename, fbase, outputDir;
-       float cutoff, precision;
-       vector<string> outputNames;
+       GlobalData* globaldata;
        
-       void get_comment(istream&, char, char);
-       int read_phylip(istream&, int, vector<string>&, vector<vector<double> >&);
-       void read(string, vector<string>&, vector<vector<double> >&);
-       double pythag(double, double);
-       void matrix_mult(vector<vector<double> >, vector<vector<double> >, vector<vector<double> >&);
-       void recenter(double, vector<vector<double> >, vector<vector<double> >&);
-       void tred2(vector<vector<double> >&, vector<double>&, vector<double>&);
-       void qtli(vector<double>&, vector<double>&, vector<vector<double> >&);
-       void output(string, vector<string>, vector<vector<double> >, vector<double>);
+       bool abort, metric;
+       string outputDir, mode, inputFile, label, groups;
+       vector<string> outputNames, Groups;
+       set<string> labels;
+       map<string, vector<string> > outputTypes;
+       LinearAlgebra linearCalc;
        
-};
+       //vector< vector<double> > createMatrix(vector<SharedRAbundFloatVector*>);
+       int process(vector<SharedRAbundFloatVector*>&);
+       void output(string, vector<string>, vector<vector<double> >&, vector<double>);
        
+};
+
 /*****************************************************************/
-       
+
 #endif
 
+