]> git.donarmstrong.com Git - mothur.git/blobdiff - getgroupscommand.h
Revert to previous commit
[mothur.git] / getgroupscommand.h
diff --git a/getgroupscommand.h b/getgroupscommand.h
new file mode 100644 (file)
index 0000000..224f4f0
--- /dev/null
@@ -0,0 +1,62 @@
+#ifndef GETGROUPSCOMMAND_H
+#define GETGROUPSCOMMAND_H
+
+/*
+ *  getgroupscommand.h
+ *  Mothur
+ *
+ *  Created by westcott on 11/10/10.
+ *  Copyright 2010 Schloss Lab. All rights reserved.
+ *
+ */
+
+
+#include "command.hpp"
+#include "groupmap.h"
+
+class GetGroupsCommand : public Command {
+       
+public:
+       
+       GetGroupsCommand(string);       
+       GetGroupsCommand();
+       ~GetGroupsCommand(){}
+       
+       vector<string> setParameters();
+       string getCommandName()                 { return "get.groups";                          }
+       string getCommandCategory()             { return "OTU-Based Approaches";        }
+       string getHelpString(); 
+       string getCitation() { return "http://www.mothur.org/wiki/Get.groups"; }
+       string getDescription()         { return "gets sequences from a list, fasta, name, group, shared, design or taxonomy file from a given group or set of groups"; }
+
+       
+       int execute(); 
+       void help() { m->mothurOut(getHelpString()); }  
+       
+       
+private:
+       set<string> names;
+       map<string, string> uniqueToRedundant; //if a namefile is given and the first column name is not selected
+                                                                                  //then the other files need to change the unique name in their file to match.
+                                                                                  //only add the names that need to be changed to keep the map search quick
+       string accnosfile, fastafile, namefile, groupfile, listfile, designfile, taxfile, outputDir, groups, sharedfile;
+       bool abort;
+       vector<string> outputNames, Groups;
+       GroupMap* groupMap;
+       
+       int readFasta();
+       int readName();
+       int readGroup();
+       void readAccnos();
+       int readList();
+       int readTax();
+       int fillNames();
+       int readShared();
+    int readDesign();
+       
+};
+
+#endif
+
+
+