#include "listvector.hpp"
#include "sequence.hpp"
#include "groupmap.h"
-#include "globaldata.hpp"
+#include "sharedrabundvector.h"
+#include "inputdata.h"
//**********************************************************************************************************************
class GetSharedOTUCommand : public Command {
public:
GetSharedOTUCommand(string);
- ~GetSharedOTUCommand();
- int execute();
- void help();
+ GetSharedOTUCommand();
+ ~GetSharedOTUCommand() {}
+
+ vector<string> setParameters();
+ string getCommandName() { return "get.sharedseqs"; }
+ string getCommandCategory() { return "OTU-Based Approaches"; }
+ string getRequiredCommand() { return "none"; }
- private:
+ string getHelpString();
+ string getOutputPattern(string);
+ string getCitation() { return "http://www.mothur.org/wiki/Get.sharedseqs"; }
+ string getDescription() { return "identifies sequences that are either unique or shared by specific groups"; }
+
+ int execute();
+ void help() { m->mothurOut(getHelpString()); }
+
+
- GlobalData* globaldata;
+ private:
ListVector* list;
GroupMap* groupMap;
set<string> labels;
- string fastafile, label, groups, listfile, groupfile, output;
- bool abort, allLines;
+ string fastafile, label, groups, listfile, groupfile, sharedfile, output, userGroups, outputDir, format;
+ bool abort, allLines, unique;
vector<string> Groups;
map<string, string> groupFinder;
map<string, string>::iterator it;
vector<Sequence> seqs;
+ vector<string> outputNames;
- void process(ListVector*);
+ int process(ListVector*);
+ int process(vector<SharedRAbundVector*>&);
+ int runShared();
};
//**********************************************************************************************************************