]> git.donarmstrong.com Git - mothur.git/blob - getgroupscommand.h
added load.logfile command. changed summary.single output for subsample=t.
[mothur.git] / getgroupscommand.h
1 #ifndef GETGROUPSCOMMAND_H
2 #define GETGROUPSCOMMAND_H
3
4 /*
5  *  getgroupscommand.h
6  *  Mothur
7  *
8  *  Created by westcott on 11/10/10.
9  *  Copyright 2010 Schloss Lab. All rights reserved.
10  *
11  */
12
13
14 #include "command.hpp"
15 #include "groupmap.h"
16
17 class GetGroupsCommand : public Command {
18         
19 public:
20         
21         GetGroupsCommand(string);       
22         GetGroupsCommand();
23         ~GetGroupsCommand(){}
24         
25         vector<string> setParameters();
26         string getCommandName()                 { return "get.groups";                          }
27         string getCommandCategory()             { return "OTU-Based Approaches";        }
28         string getOutputFileNameTag(string, string);
29         string getHelpString(); 
30         string getCitation() { return "http://www.mothur.org/wiki/Get.groups"; }
31         string getDescription()         { return "gets sequences from a list, fasta, name, group, shared, design or taxonomy file from a given group or set of groups"; }
32
33         
34         int execute(); 
35         void help() { m->mothurOut(getHelpString()); }  
36         
37         
38 private:
39         set<string> names;
40         map<string, string> uniqueToRedundant; //if a namefile is given and the first column name is not selected
41                                                                                    //then the other files need to change the unique name in their file to match.
42                                                                                    //only add the names that need to be changed to keep the map search quick
43         string accnosfile, fastafile, namefile, groupfile, listfile, designfile, taxfile, outputDir, groups, sharedfile;
44         bool abort;
45         vector<string> outputNames, Groups;
46         GroupMap* groupMap;
47         
48         int readFasta();
49         int readName();
50         int readGroup();
51         int readList();
52         int readTax();
53         int fillNames();
54         int readShared();
55     int readDesign();
56         
57 };
58
59 #endif
60
61
62