*/
#include "command.hpp"
-#include "inputdata.h"
-#include "readotu.h"
+#include "globaldata.hpp"
#include "sharedrabundvector.h"
+#include "listvector.hpp"
+#include "rabundvector.hpp"
+#include "inputdata.h"
-class GlobalData;
class SubSampleCommand : public Command {
private:
GlobalData* globaldata;
- ReadOTUFile* read;
- InputData* input;
- vector<SharedRAbundVector*> lookup;
- ListVector* list;
- RAbundVector* rabund;
- SAbundVector* sabund;
- bool abort, allLines, pickedGroups;
+ bool abort, pickedGroups, allLines, persample;
+ string listfile, groupfile, sharedfile, rabundfile, sabundfile, fastafile, namefile;
set<string> labels; //holds labels to be used
string groups, label, outputDir;
vector<string> Groups, outputNames;
map<string, vector<string> > outputTypes;
+ int size;
+ vector<string> names;
+ map<string, vector<string> > nameMap;
int eliminateZeroOTUS(vector<SharedRAbundVector*>&);
- int getSubSampleShared(vector<SharedRAbundVector*>&, ofstream&);
+ int getSubSampleShared();
+ int getSubSampleList();
+ int getSubSampleRabund();
+ int getSubSampleSabund();
+ int getSubSampleFasta();
+ int processShared(vector<SharedRAbundVector*>&, ofstream&);
+ int processRabund(RAbundVector*&, ofstream&);
+ int processSabund(SAbundVector*&, ofstream&);
+ int processList(ListVector*&, ofstream&, set<string>&);
+ int getNames();
+ int readNames();
+
};
#endif