1 #ifndef SUBSAMPLECOMMAND_H
2 #define SUBSAMPLECOMMAND_H
8 * Created by westcott on 10/27/10.
9 * Copyright 2010 Schloss Lab. All rights reserved.
13 #include "command.hpp"
14 #include "sharedrabundvector.h"
15 #include "listvector.hpp"
16 #include "rabundvector.hpp"
17 #include "inputdata.h"
18 #include "sequence.hpp"
21 class SubSampleCommand : public Command {
24 SubSampleCommand(string);
26 ~SubSampleCommand() {}
28 vector<string> setParameters();
29 string getCommandName() { return "sub.sample"; }
30 string getCommandCategory() { return "General"; }
31 string getHelpString();
34 void help() { m->mothurOut(getHelpString()); }
37 bool abort, pickedGroups, allLines, persample;
38 string listfile, groupfile, sharedfile, rabundfile, sabundfile, fastafile, namefile;
39 set<string> labels; //holds labels to be used
40 string groups, label, outputDir;
41 vector<string> Groups, outputNames;
44 map<string, vector<string> > nameMap;
46 int eliminateZeroOTUS(vector<SharedRAbundVector*>&);
47 int getSubSampleShared();
48 int getSubSampleList();
49 int getSubSampleRabund();
50 int getSubSampleSabund();
51 int getSubSampleFasta();
52 int processShared(vector<SharedRAbundVector*>&, ofstream&);
53 int processRabund(RAbundVector*&, ofstream&);
54 int processSabund(SAbundVector*&, ofstream&);
55 int processList(ListVector*&, ofstream&, set<string>&);