]> git.donarmstrong.com Git - mothur.git/blob - bootstrapsharedcommand.h
53f6a26fd471d395a19d414af75640dc9bb0d62c
[mothur.git] / bootstrapsharedcommand.h
1 #ifndef BOOTSTRAPSHAREDCOMMAND_H
2 #define BOOTSTRAPSHAREDCOMMAND_H
3
4 /*
5  *  bootstrapsharedcommand.h
6  *  Mothur
7  *
8  *  Created by Sarah Westcott on 4/16/09.
9  *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
10  *
11  */
12  
13 #include "command.hpp"
14 #include "sharedordervector.h"
15 #include "inputdata.h"
16 #include "groupmap.h"
17 #include "readotu.h"
18 #include "validcalculator.h"
19 #include "tree.h"
20 #include "treemap.h"
21 #include "sharedutilities.h"
22 #include "consensuscommand.h"
23         
24 class GlobalData;
25
26 class BootSharedCommand : public Command {
27         
28 public:
29         BootSharedCommand(string);      
30         BootSharedCommand();
31         ~BootSharedCommand();
32         vector<string> getRequiredParameters();
33         vector<string> getValidParameters();
34         vector<string> getRequiredFiles();
35         map<string, vector<string> > getOutputFiles() { return outputTypes; }
36         int execute();  
37         void help();
38         
39 private:
40         int createTree(ostream*, Tree*);
41         void printSims();
42         int process(SharedOrderVector*);
43         
44         
45         GlobalData* globaldata;
46         SharedUtil* util;
47         ReadOTUFile* read;
48         TreeMap* tmap;
49         Tree* t;
50         Tree* tempTree;
51         ConcensusCommand* consensus;
52         vector< vector<Tree*> > trees;  //a vector of trees for each calculator chosen
53         vector<Calculator*> treeCalculators;
54         vector<ofstream*> out;
55         vector< vector<float> > simMatrix;
56         map<int, int> index;  //maps row in simMatrix to vector index in the tree       
57         InputData* input;
58         ValidCalculators* validCalculator;
59         SharedOrderVector* order;
60         vector<SharedRAbundVector*> lookup;
61
62         bool abort, allLines;
63         set<string> labels; //holds labels to be used
64         string outputFile, calc, groups, label, outputDir;
65         int numGroups, iters;
66         vector<string>  Estimators, Groups, outputNames; //holds estimators to be used
67         map< string, vector<string> > outputTypes;
68
69 };
70         
71         
72 #endif
73
74