]> git.donarmstrong.com Git - mothur.git/blob - metastatscommand.h
added citation function to commands
[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, J.R., Nagarajan, N. & Pop, M. Statistical methods for detecting differentially abundant features in clinical metagenomic samples. PLoS Comput Biol 5, e1000352 (2009). http://www.mothur.org/wiki/Metastats"; }
29         
30         int execute(); 
31         void help() { m->mothurOut(getHelpString()); }  
32         
33 private:
34         struct linePair {
35                 int start;
36                 int num;
37                 linePair(int i, int j) : start(i), num(j) {}
38         };
39         vector<linePair> lines;
40         
41         GroupMap* designMap;
42         InputData* input;
43         vector<SharedRAbundVector*> lookup;
44                 
45         bool abort, allLines, pickedGroups;
46         set<string> labels; //holds labels to be used
47         string groups, label, outputDir, inputDir, designfile, sets, sharedfile;
48         vector<string> Groups, outputNames, Sets;
49         vector< vector<string> > namesOfGroupCombos;
50         int iters, processors;
51         float threshold;
52         
53         int process(vector<SharedRAbundVector*>&);
54         int driver(int, int, vector<SharedRAbundVector*>&);
55 };
56
57 #endif
58