X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=pcacommand.h;h=482ecc3fecf678cca5853eb9c1160f005204a604;hp=089d1c102f38d66bfa0d83c2120dd3d3f1cd883e;hb=615301e57c25e241356a9c2380648d117709458d;hpb=aa9238c0a9e6e7aa0ed8b8b606b08ad4fd7dcfe3 diff --git a/pcacommand.h b/pcacommand.h index 089d1c1..482ecc3 100644 --- a/pcacommand.h +++ b/pcacommand.h @@ -3,45 +3,54 @@ /* * 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 "command.hpp" +#include "linearalgebra.h" +#include "sharedrabundfloatvector.h" /*****************************************************************/ class PCACommand : public Command { public: PCACommand(string); - ~PCACommand(); - int execute(); - void help(); + PCACommand(); + ~PCACommand() {} + + vector setParameters(); + string getCommandName() { return "pca"; } + string getCommandCategory() { return "Hypothesis Testing"; } + + string getHelpString(); + string getOutputPattern(string); + 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"; } + string getDescription() { return "pca"; } + + int execute(); + void help() { m->mothurOut(getHelpString()); } + private: - bool abort; - string phylipfile, columnfile, namefile, format, filename, fbase, outputDir; - float cutoff, precision; - vector outputNames; + bool abort, metric; + string outputDir, mode, inputFile, label, groups, sharedfile, relabundfile; + vector outputNames, Groups; + set labels; + LinearAlgebra linearCalc; - void get_comment(istream&, char, char); - int read_phylip(istream&, int, vector&, vector >&); - void read(string, vector&, vector >&); - double pythag(double, double); - void matrix_mult(vector >, vector >, vector >&); - void recenter(double, vector >, vector >&); - void tred2(vector >&, vector&, vector&); - void qtli(vector&, vector&, vector >&); - void output(string, vector, vector >, vector); + //vector< vector > createMatrix(vector); + int process(vector&); + void output(string, string, vector, vector >&, vector); }; - + /*****************************************************************/ - + #endif +