X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=rarefactsharedcommand.h;h=4f08d00d7332ae32824464b809744042bd997d7f;hp=ab870242000bb0b07f3e28078feba84bcce1de4c;hb=d1c97b8c04bb75faca1e76ffad60b37a4d789d3d;hpb=58cf1d08fee8c64334979075fa57bcafb035a2ed diff --git a/rarefactsharedcommand.h b/rarefactsharedcommand.h index ab87024..4f08d00 100644 --- a/rarefactsharedcommand.h +++ b/rarefactsharedcommand.h @@ -9,47 +9,48 @@ * */ -#include -#include -#include #include "command.hpp" -#include "sharedordervector.h" -#include "sharedlistvector.h" #include "inputdata.h" #include "rarefact.h" #include "display.h" -#include "readmatrix.hpp" - -/* The rarefaction.shared() command: - The rarefaction command generates a rarefaction curve from a given file representing several groups. - The rarefaction.shared command can only be executed after a successful read.shared command. It outputs a file for each estimator you choose to use. - The rarefaction.shared command parameters are label, line, iters, jumble and sharedrarefaction. - No parameters are required, but you may not use both the line and label parameters at the same time. - The rarefaction command should be in the following format: rarefaction.shared(label=yourLabel, line=yourLines, iters=yourIters, - jumble= yourJumble, sharedrarefaction=yourEstimators). Example rarefaction.shared(label=unique-.01-.03, line=0,5,10, iters=10000, - jumble=1, sharedrarefaction =sharedobserved). The default values for jumble is 0 (meaning don’t jumble, if it’s set to 1 then it will jumble), - iters is 1000 and sharedrarefaction is sharedobserved which calculates the shared rarefaction curve for the observed richness. - The valid sharedrarefaction estimator is sharedobserved. The label and line parameters are used to analyze specific lines in your input. */ - - -class GlobalData; +#include "validcalculator.h" class RareFactSharedCommand : public Command { public: - RareFactSharedCommand(); - ~RareFactSharedCommand(); - int execute(); + RareFactSharedCommand(string); + RareFactSharedCommand(); + ~RareFactSharedCommand() {} + + vector 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; - SharedListVector* SharedList; - ReadMatrix* read; - SharedOrderVector* order; - InputData* input; - Rarefact* rCurve; - vector rDisplays; - int freq, nIters; + + vector lookup; + int nIters, subsampleSize, iters; + string format; + float freq; + + map file2Group; //index in outputNames[i] -> group + bool abort, allLines, jumble, groupMode, subsample; + set labels; //holds labels to be used + string label, calc, groups, outputDir, sharedfile, designfile; + vector Estimators, Groups, outputNames, Sets; + + int process(GroupMap&, string); + vector createGroupFile(vector&); + int subsampleLookup(vector&, string); };