]> git.donarmstrong.com Git - mothur.git/blob - venncommand.h
added pipeline commands which involved change to command factory and command class...
[mothur.git] / venncommand.h
1 #ifndef VENNCOMMAND_H
2 #define VENNCOMMAND_H
3 /*
4  *  venncommand.h
5  *  Mothur
6  *
7  *  Created by Sarah Westcott on 3/30/09.
8  *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
9  *
10  */
11  
12 #include "command.hpp"
13 #include "inputdata.h"
14 #include "readotu.h"
15 #include "sharedlistvector.h"
16 #include "venn.h"
17 #include "validcalculator.h"
18
19
20 class GlobalData;
21
22
23 class VennCommand : public Command {
24
25 public:
26         VennCommand(string);
27         VennCommand();
28         ~VennCommand();
29         vector<string> getRequiredParameters();
30         vector<string> getValidParameters();
31         vector<string> getRequiredFiles();
32         map<string, vector<string> > getOutputFiles() { return outputTypes; }
33         int execute();
34         void help();
35         
36 private:
37         GlobalData* globaldata;
38         ReadOTUFile* read;
39         InputData* input;
40         SharedListVector* SharedList;
41         Venn* venn;
42         vector<Calculator*> vennCalculators;    
43         ValidCalculators* validCalculator;
44         vector<SharedRAbundVector*> lookup;
45         set< set<int> > combosOfFour;
46         SAbundVector* sabund;
47         int abund;
48         
49         bool abort, allLines, nseqs, perm;
50         set<string> labels; //holds labels to be used
51         string format, groups, calc, label, outputDir;
52         vector<string> Estimators, Groups, outputNames;
53         map<string, vector<string> > outputTypes;
54         
55         set< set<int> > findCombinations(int);
56         int getCombos(set<int>, set< set<int> >&);
57
58
59 };
60
61
62
63 #endif