1 #ifndef METASTATSCOMMAND_H
2 #define METASTATSCOMMAND_H
3 
4 /*
5  *  metastatscommand.h
6  *  Mothur
7  *
8  *  Created by westcott on 9/16/10.
9  *  Copyright 2010 Schloss Lab. All rights reserved.
10  *
11  */
12 
13 #include "command.hpp"
14 #include "inputdata.h"
15 #include "sharedrabundvectors.hpp"
16 #include "sharedclrvectors.hpp"
17 #include "mothurmetastats.h"
18 #include "designmap.h"
19 
20 
21 /**************************************************************************************************/
22 
23 class MetaStatsCommand : public Command {
24 
25 public:
26 	MetaStatsCommand(string);
~MetaStatsCommand()27 	~MetaStatsCommand() {}
28 
29 	vector<string> setParameters();
getCommandName()30 	string getCommandName()			{ return "metastats";				}
getCommandCategory()31 	string getCommandCategory()		{ return "OTU-Based Approaches";	}
32 
33 	string getHelpString();
34     string getOutputPattern(string);
getCitation()35 	string getCitation() { return "White JR, Nagarajan N, Pop M (2009). Statistical methods for detecting differentially abundant features in clinical metagenomic samples. PLoS Comput Biol 5: e1000352. \nhttp://www.mothur.org/wiki/Metastats"; }
getDescription()36 	string getDescription()		{ return "detects differentially abundant features in clinical metagenomic samples"; }
37 
38 	int execute();
help()39 	void help() { m->mothurOut(getHelpString()); }
40 
41 private:
42 
43 	bool abort, allLines, pickedGroups;
44 	set<string> labels; //holds labels to be used
45 	string groups, label,  inputDir, designfile, sets, sharedfile, clrfile, inputfile, format;
46 	vector<string> Groups, outputNames, Sets;
47 	vector< vector<string> > namesOfGroupCombos;
48 	int iters, processors;
49 	float threshold;
50 
51 	int process(SharedRAbundVectors*&, DesignMap*&);
52     int process(SharedCLRVectors*&, DesignMap*&);
53 };
54 
55 /**************************************************************************************************/
56 
57 #endif
58 
59