#include "inputdata.h"
#include "rarefact.h"
#include "display.h"
-#include "readotu.h"
#include "validcalculator.h"
-class GlobalData;
-
class RareFactSharedCommand : public Command {
public:
RareFactSharedCommand(string);
- ~RareFactSharedCommand();
- int execute();
- void help();
+ RareFactSharedCommand();
+ ~RareFactSharedCommand() {}
+
+ vector<string> setParameters();
+ string getCommandName() { return "rarefaction.shared"; }
+ string getCommandCategory() { return "OTU-Based Approaches"; }
+
+ string getHelpString();
+ string getOutputPattern(string);
+ string getCitation() { return "Magurran AE (2004). Measuring biological diversity. Blackwell Pub.: Malden, Ma. \nhttp://www.mothur.org/wiki/Rarefaction.shared"; }
+ string getDescription() { return "generate inter-sample rarefaction curves using a re-sampling without replacement approach"; }
+
+ int execute();
+ void help() { m->mothurOut(getHelpString()); }
+
private:
- GlobalData* globaldata;
- ReadOTUFile* read;
+
vector<SharedRAbundVector*> lookup;
- InputData* input;
- ValidCalculators* validCalculator;
- Rarefact* rCurve;
- vector<Display*> rDisplays;
- int nIters;
+ int nIters, subsampleSize, iters;
string format;
float freq;
- bool abort, allLines, jumble;
+ map<int, string> file2Group; //index in outputNames[i] -> group
+ bool abort, allLines, jumble, groupMode, subsample;
set<string> labels; //holds labels to be used
- string label, calc, groups, outputDir;
- vector<string> Estimators, Groups, outputNames;
-
+ string label, calc, groups, outputDir, sharedfile, designfile;
+ vector<string> Estimators, Groups, outputNames, Sets;
+
+ int process(GroupMap&, string);
+ vector<string> createGroupFile(vector<string>&);
+ int subsampleLookup(vector<SharedRAbundVector*>&, string);
};