]> git.donarmstrong.com Git - mothur.git/blob - venncommand.h
Merge remote-tracking branch 'mothur/master'
[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 "sharedlistvector.h"
15 #include "venn.h"
16 #include "validcalculator.h"
17
18 class VennCommand : public Command {
19
20 public:
21         VennCommand(string);
22         VennCommand();
23         ~VennCommand() {}
24         
25         vector<string> setParameters();
26         string getCommandName()                 { return "venn";                                        }
27         string getCommandCategory()             { return "OTU-Based Approaches";        }
28         string getOutputFileNameTag(string, string);
29         string getHelpString(); 
30         string getCitation() { return "http://www.mothur.org/wiki/Venn"; }
31         string getDescription()         { return "generates a Venn diagram from data provided in a shared file"; }
32
33         int execute(); 
34         void help() { m->mothurOut(getHelpString()); }  
35         
36 private:
37         InputData* input;
38         SharedListVector* SharedList;
39         Venn* venn;
40         vector<Calculator*> vennCalculators;    
41         vector<SharedRAbundVector*> lookup;
42         set< set<int> > combosOfFour;
43         SAbundVector* sabund;
44         int abund, fontsize;
45         
46         bool abort, allLines, nseqs, perm;
47         set<string> labels; //holds labels to be used
48         string format, groups, calc, label, outputDir, sharedfile, listfile, inputfile;
49         vector<string> Estimators, Groups, outputNames;
50         
51         set< set<int> > findCombinations(int);
52         int getCombos(set<int>, set< set<int> >&);
53
54
55 };
56
57
58
59 #endif