*/
#include "command.hpp"
-#include "coverage.h"
#include "fullmatrix.h"
+#include "libshuff.h"
+#include "groupmap.h"
-using namespace std;
-
-class GlobalData;
class LibShuffCommand : public Command {
- public:
- LibShuffCommand();
- ~LibShuffCommand();
- int execute();
+public:
+ LibShuffCommand(string);
+ LibShuffCommand();
+ ~LibShuffCommand(){};
+
+ vector<string> setParameters();
+ string getCommandName() { return "libshuff"; }
+ string getCommandCategory() { return "Hypothesis Testing"; }
+ string getOutputFileNameTag(string, string);
+ string getHelpString();
+ string getCitation() { return "Singleton DR, Furlong MA, Rathbun SL, Whitman WB (2001). Quantitative comparisons of 16S rRNA gene sequence libraries from environmental samples. Appl Environ Microbiol 67: 4374-6. \nSchloss PD, Larget BR, Handelsman J (2004). Integration of microbial ecology and statistics: a test to compare gene libraries. Appl Environ Microbiol 70: 5485-92. \nhttp://www.mothur.org/wiki/Libshuff"; }
+ string getDescription() { return "a generic test that describes whether two or more communities have the same structure using the Cramer-von Mises test statistic"; }
+
+ int execute();
+ void help() { m->mothurOut(getHelpString()); }
+
+private:
+ vector<string> groupNames;
+
+ void setGroups();
+ int printCoverageFile();
+ int printSummaryFile();
- private:
- vector< vector<float> > cValues; // vector of coverage scores, one for each comparison.
- vector<float> deltaValues; // vector of delta scores, one for each comparison.
- vector<float> sumDelta; //sum of delta scores, one for each comparison.
- vector<float> sumDeltaSig; //number of random matrixes with that delta value or ??
- vector< vector<float> > rsumDelta; //vector< vector<sumdelta scores for a given comparison> >
- vector<string> groupComb;
-
-
- void setGroups();
- int findIndex(float, int);
- void printCoverageFile(float);
- void printSummaryFile();
+ GroupMap* groupMap;
+ FullMatrix* matrix;
+ Libshuff* form;
+ float cutOff, step;
+ int numGroups, numComp, iters;
+ string coverageFile, summaryFile, phylipfile, groupfile;
+ vector<vector<int> > pValueCounts;
+ vector<vector<double> > savedDXYValues;
+ vector<vector<vector<double> > > savedMinValues;
- GlobalData* globaldata;
- Coverage* coverage;
- FullMatrix* matrix;
- float cutOff;
- int numGroups, numComp, iters;
- string coverageFile, summaryFile;
- ofstream out, outSum;
-
-
+ bool abort, sim;
+ string outputFile, groups, userform, savegroups, outputDir;
+ vector<string> Groups, outputNames; //holds groups to be used
};
#endif