1 #ifndef GETSHAREDOTUCOMMAND_H 2 #define GETSHAREDOTUCOMMAND_H 3 4 /* 5 * getsharedotucommand.h 6 * Mothur 7 * 8 * Created by westcott on 9/22/09. 9 * Copyright 2009 Schloss Lab. All rights reserved. 10 * 11 */ 12 13 #include "command.hpp" 14 #include "listvector.hpp" 15 #include "sequence.hpp" 16 #include "groupmap.h" 17 #include "counttable.h" 18 19 #include "inputdata.h" 20 21 //********************************************************************************************************************** 22 class GetSharedOTUCommand : public Command { 23 24 public: 25 26 GetSharedOTUCommand(string); ~GetSharedOTUCommand()27 ~GetSharedOTUCommand() {} 28 29 vector<string> setParameters(); getCommandName()30 string getCommandName() { return "get.sharedseqs"; } getCommandCategory()31 string getCommandCategory() { return "OTU-Based Approaches"; } getRequiredCommand()32 string getRequiredCommand() { return "none"; } 33 34 string getHelpString(); 35 string getOutputPattern(string); getCitation()36 string getCitation() { return "http://www.mothur.org/wiki/Get.sharedseqs"; } getDescription()37 string getDescription() { return "identifies sequences that are either unique or shared by specific groups"; } 38 39 int execute(); help()40 void help() { m->mothurOut(getHelpString()); } 41 42 43 44 private: 45 ListVector* list; 46 GroupMap* groupMap; 47 CountTable* ct; 48 49 set<string> labels; 50 string fastafile, label, groups, listfile, groupfile, sharedfile, output, userGroups, format, countfile; 51 bool abort, allLines, unique; 52 vector<string> Groups; 53 map<string, string> groupFinder; 54 map<string, string>::iterator it; 55 vector<Sequence> seqs; 56 vector<string> outputNames; 57 58 int process(ListVector*); 59 int process(SharedRAbundVectors*&); 60 int runShared(); 61 62 }; 63 //********************************************************************************************************************** 64 65 #endif 66 67