]> git.donarmstrong.com Git - mothur.git/blob - metastatscommand.h
added command descriptions
[mothur.git] / metastatscommand.h
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 "sharedrabundvector.h"
16
17 class MetaStatsCommand : public Command {
18
19 public:
20         MetaStatsCommand(string);
21         MetaStatsCommand();
22         ~MetaStatsCommand() {}
23         
24         vector<string> setParameters();
25         string getCommandName()                 { return "metastats";                           }
26         string getCommandCategory()             { return "OTU-Based Approaches";        }
27         string getHelpString(); 
28         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"; }
29         string getDescription()         { return "detects differentially abundant features in clinical metagenomic samples"; }
30
31         int execute(); 
32         void help() { m->mothurOut(getHelpString()); }  
33         
34 private:
35         struct linePair {
36                 int start;
37                 int num;
38                 linePair(int i, int j) : start(i), num(j) {}
39         };
40         vector<linePair> lines;
41         
42         GroupMap* designMap;
43         InputData* input;
44         vector<SharedRAbundVector*> lookup;
45                 
46         bool abort, allLines, pickedGroups;
47         set<string> labels; //holds labels to be used
48         string groups, label, outputDir, inputDir, designfile, sets, sharedfile;
49         vector<string> Groups, outputNames, Sets;
50         vector< vector<string> > namesOfGroupCombos;
51         int iters, processors;
52         float threshold;
53         
54         int process(vector<SharedRAbundVector*>&);
55         int driver(int, int, vector<SharedRAbundVector*>&);
56 };
57
58 #endif
59