]> git.donarmstrong.com Git - mothur.git/blob - getsharedotucommand.h
working on pam
[mothur.git] / getsharedotucommand.h
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 "sharedrabundvector.h"
18 #include "inputdata.h"
19
20 //**********************************************************************************************************************
21 class GetSharedOTUCommand : public Command {
22         
23         public:
24         
25                 GetSharedOTUCommand(string);    
26                 GetSharedOTUCommand();  
27                 ~GetSharedOTUCommand() {}
28         
29                 vector<string> setParameters();
30                 string getCommandName()                 { return "get.sharedseqs";                      }
31                 string getCommandCategory()             { return "OTU-Based Approaches";        }
32                 string getRequiredCommand()             { return "none";                                        }
33                 
34         string getHelpString(); 
35     string getOutputPattern(string);    
36                 string getCitation() { return "http://www.mothur.org/wiki/Get.sharedseqs"; }
37                 string getDescription()         { return "identifies sequences that are either unique or shared by specific groups"; }
38
39                 int execute(); 
40                 void help() { m->mothurOut(getHelpString()); }  
41         
42         
43                 
44         private:
45                 ListVector* list;
46                 GroupMap* groupMap;
47                 
48                 set<string> labels;
49                 string fastafile, label, groups, listfile, groupfile, sharedfile, output, userGroups, outputDir, format;
50                 bool abort, allLines, unique;
51                 vector<string> Groups;
52                 map<string, string> groupFinder;
53                 map<string, string>::iterator it;
54                 vector<Sequence> seqs;
55                 vector<string> outputNames;
56                 
57                 int process(ListVector*);
58         int process(vector<SharedRAbundVector*>&);
59         int runShared();
60                 
61 };
62 //**********************************************************************************************************************
63
64 #endif
65