X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=subsamplecommand.h;h=c746e144119dc4d4c0d45ef10872b1f7c9951129;hb=01f8d2c7d982a6209211f5abbcf2a086fdf60d0a;hp=9f3e55bea25c3b47db441d618c80638b1ee2d404;hpb=4ad32478c7b1bbb464c839a6e133f5b517a3efec;p=mothur.git diff --git a/subsamplecommand.h b/subsamplecommand.h index 9f3e55b..c746e14 100644 --- a/subsamplecommand.h +++ b/subsamplecommand.h @@ -11,11 +11,11 @@ */ #include "command.hpp" -#include "globaldata.hpp" #include "sharedrabundvector.h" #include "listvector.hpp" #include "rabundvector.hpp" #include "inputdata.h" +#include "sequence.hpp" class SubSampleCommand : public Command { @@ -23,38 +23,40 @@ class SubSampleCommand : public Command { public: SubSampleCommand(string); SubSampleCommand(); - ~SubSampleCommand(); - vector getRequiredParameters(); - vector getValidParameters(); - vector getRequiredFiles(); - map > getOutputFiles() { return outputTypes; } - int execute(); - void help(); + ~SubSampleCommand() {} -private: - - struct nameToBin { - string name; - int bin; - - nameToBin(string n, int b) : name(n), bin(b) {} - }; - - GlobalData* globaldata; + vector setParameters(); + string getCommandName() { return "sub.sample"; } + string getCommandCategory() { return "General"; } + string getOutputFileNameTag(string, string); + string getHelpString(); + string getCitation() { return "http://www.mothur.org/wiki/Sub.sample"; } + string getDescription() { return "get a sampling of sequences from a list, shared, rabund, sabund or fasta file"; } + + int execute(); + void help() { m->mothurOut(getHelpString()); } - bool abort, pickedGroups, allLines; +private: + bool abort, pickedGroups, allLines, persample; string listfile, groupfile, sharedfile, rabundfile, sabundfile, fastafile, namefile; set labels; //holds labels to be used string groups, label, outputDir; vector Groups, outputNames; - map > outputTypes; int size; + vector names; + map > nameMap; - int eliminateZeroOTUS(vector&); int getSubSampleShared(); int getSubSampleList(); - int processShared(vector&, ofstream&); - int processListGroup(ListVector*&, GroupMap*&, ofstream&, ofstream&); + int getSubSampleRabund(); + int getSubSampleSabund(); + int getSubSampleFasta(); + int processShared(vector&); + int processRabund(RAbundVector*&, ofstream&); + int processSabund(SAbundVector*&, ofstream&); + int processList(ListVector*&, ofstream&, set&); + int getNames(); + int readNames(); };