]> git.donarmstrong.com Git - mothur.git/blob - indicatorcommand.h
fixed indicator grouping problem
[mothur.git] / indicatorcommand.h
1 #ifndef INDICATORCOMMAND_H
2 #define INDICATORCOMMAND_H
3
4 /*
5  *  indicatorcommand.h
6  *  Mothur
7  *
8  *  Created by westcott on 11/12/10.
9  *  Copyright 2010 Schloss Lab. All rights reserved.
10  *
11  */
12
13 #include "command.hpp"
14 #include "readtree.h"
15 #include "treemap.h"
16 #include "globaldata.hpp"
17 #include "sharedrabundvector.h"
18 #include "sharedrabundfloatvector.h"
19 #include "inputdata.h"
20
21 class IndicatorCommand : public Command {
22 public:
23         IndicatorCommand(string);
24         IndicatorCommand();
25         ~IndicatorCommand();
26         vector<string> getRequiredParameters();
27         vector<string> getValidParameters();
28         vector<string> getRequiredFiles();
29         map<string, vector<string> > getOutputFiles() { return outputTypes; }
30         int execute();
31         void help();
32         
33 private:
34         GlobalData* globaldata;
35         ReadTree* read;
36         TreeMap* treeMap;
37         string treefile, sharedfile, relabundfile, groups, label, inputFileName, outputDir;
38         bool abort;
39         vector<string> outputNames, Groups;
40         map<string, vector<string> > outputTypes;
41         vector<SharedRAbundVector*> lookup;
42         vector<SharedRAbundFloatVector*> lookupFloat;
43         
44         int getShared();
45         int getSharedFloat();
46         int GetIndicatorSpecies(Tree*&);
47         set<string> getDescendantList(Tree*&, int, map<int, set<string> >, map<int, set<int> >&);
48         vector<float> getValues(vector< vector<SharedRAbundVector*> >&);
49         vector<float> getValues(vector< vector<SharedRAbundFloatVector*> >&);
50         map<int, float> getDistToRoot(Tree*&);
51         
52 };
53
54
55 #endif
56