]> git.donarmstrong.com Git - mothur.git/blob - catchallcommand.h
Merge remote-tracking branch 'mothur/master'
[mothur.git] / catchallcommand.h
1 #ifndef CATCHALLCOMMAND_H
2 #define CATCHALLCOMMAND_H
3
4 /*
5  *  catchallcommand.h
6  *  Mothur
7  *
8  *  Created by westcott on 5/11/10.
9  *  Copyright 2010 Schloss Lab. All rights reserved.
10  *
11  */
12
13 #include "command.hpp"
14 #include "inputdata.h"
15 #include "sabundvector.hpp"
16
17 /* 
18  citation goes here
19  */ 
20
21 /****************************************************************************/
22
23 class CatchAllCommand : public Command {
24
25 public:
26
27         CatchAllCommand(string);
28         CatchAllCommand();
29         ~CatchAllCommand() {}
30         
31         vector<string> setParameters();
32         string getCommandName()                 { return "catchall";                    }
33         string getCommandCategory()             { return "OTU-Based Approaches";        }
34         string getOutputFileNameTag(string, string);
35         string getHelpString(); 
36         string getCitation() { return "Bunge, J. (2011). Estimating the number of species with CatchAll. Forthcoming in Proceedings of the Pacific Symposium on Biocomputing 2011.\nhttp://www.northeastern.edu/catchall/index.html http://www.mothur.org/wiki/Catchall"; }
37         string getDescription()         { return "estimate number of species"; }
38         
39         int execute(); 
40         void help() { m->mothurOut(getHelpString()); }  
41         
42 private:
43         string outputDir, sharedfile, sabundfile, format, path, savedOutputDir;
44         bool abort, allLines;
45         set<string> labels;
46         vector<string> outputNames;
47         vector<string> groups;
48         
49         string process(SAbundVector*, string);
50         int createSummaryFile(string, string, ofstream&); 
51         vector<string> parseSharedFile(string);
52         string combineSummmary(vector<string>&);
53 };
54
55 /****************************************************************************/
56
57 #endif
58
59