]> git.donarmstrong.com Git - mothur.git/blob - mergegroupscommand.h
added load.logfile command. changed summary.single output for subsample=t.
[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         string getOutputFileNameTag(string, string);
28         string getHelpString(); 
29         string getCitation() { return "http://www.mothur.org/wiki/Merge.groups"; }
30         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"; }
31
32         
33         int execute(); 
34         void help() { m->mothurOut(getHelpString()); }  
35         
36 private:
37         GroupMap* designMap;
38         vector<SharedRAbundVector*> lookup;
39         
40         bool abort, allLines, pickedGroups;
41         set<string> labels; //holds labels to be used
42         string groups, label, outputDir, inputDir, designfile, sharedfile, groupfile;
43         vector<string> Groups, outputNames;
44                 
45         int process(vector<SharedRAbundVector*>&, ofstream&);
46         int processSharedFile(GroupMap*&);
47         int processGroupFile(GroupMap*&);
48 };
49
50 #endif
51