]> git.donarmstrong.com Git - mothur.git/blob - getgroupscommand.h
finished shhh.seqs command, fixed bug with remove.groups and get.groups that caused...
[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 getHelpString(); 
29         string getCitation() { return "http://www.mothur.org/wiki/Get.groups"; }
30         string getDescription()         { return "gets sequences from a list, fasta, name, group or taxonomy file from a given group or set of groups"; }
31
32         
33         int execute(); 
34         void help() { m->mothurOut(getHelpString()); }  
35         
36         
37 private:
38         set<string> names;
39         map<string, string> uniqueToRedundant; //if a namefile is given and the first column name is not selected
40                                                                                    //then the other files need to change the unique name in their file to match.
41                                                                                    //only add the names that need to be changed to keep the map search quick
42         string accnosfile, fastafile, namefile, groupfile, listfile, taxfile, outputDir, groups, sharedfile;
43         bool abort;
44         vector<string> outputNames, Groups;
45         GroupMap* groupMap;
46         
47         int readFasta();
48         int readName();
49         int readGroup();
50         void readAccnos();
51         int readList();
52         int readTax();
53         int fillNames();
54         int readShared();
55         
56 };
57
58 #endif
59
60
61