]> git.donarmstrong.com Git - mothur.git/blob - mergegroupscommand.h
changing command name classify.shared to classifyrf.shared
[mothur.git] / mergegroupscommand.h
1 #ifndef MERGEGROUPSCOMMAND_H
2 #define MERGEGROUPSCOMMAND_H
3
4 /*
5  *  mergegroupscommand.h
6  *  mothur
7  *
8  *  Created by westcott on 1/24/11.
9  *  Copyright 2011 Schloss Lab. All rights reserved.
10  *
11  */
12
13 #include "command.hpp"
14 #include "inputdata.h"
15 #include "sharedrabundvector.h"
16
17 class MergeGroupsCommand : public Command {
18         
19 public:
20         MergeGroupsCommand(string);
21         MergeGroupsCommand();
22         ~MergeGroupsCommand() {}
23         
24         vector<string> setParameters();
25         string getCommandName()                 { return "merge.groups";        }
26         string getCommandCategory()             { return "General";                     }
27         
28         string getHelpString(); 
29     string getOutputPattern(string);    
30         string getCitation() { return "http://www.mothur.org/wiki/Merge.groups"; }
31         string getDescription()         { return "reads shared file and a design file and merges the groups in the shared file that are in the same grouping in the design file"; }
32
33         
34         int execute(); 
35         void help() { m->mothurOut(getHelpString()); }  
36         
37 private:
38         GroupMap* designMap;
39         vector<SharedRAbundVector*> lookup;
40         
41         bool abort, allLines, pickedGroups;
42         set<string> labels; //holds labels to be used
43         string groups, label, outputDir, inputDir, designfile, sharedfile, groupfile;
44         vector<string> Groups, outputNames;
45                 
46         int process(vector<SharedRAbundVector*>&, ofstream&);
47         int processSharedFile(GroupMap*&);
48         int processGroupFile(GroupMap*&);
49 };
50
51 #endif
52