]> git.donarmstrong.com Git - mothur.git/blob - classifytreecommand.h
Merge remote-tracking branch 'mothur/master'
[mothur.git] / classifytreecommand.h
1 #ifndef Mothur_classifytreecommand_h
2 #define Mothur_classifytreecommand_h
3
4 //
5 //  classifytreecommand.h
6 //  Mothur
7 //
8 //  Created by Sarah Westcott on 2/20/12.
9 //  Copyright (c) 2012 Schloss Lab. All rights reserved.
10 //
11
12 #include "command.hpp"
13 #include "readtree.h"
14 #include "treemap.h"
15
16 class ClassifyTreeCommand : public Command {
17 public:
18         ClassifyTreeCommand(string);
19         ClassifyTreeCommand();
20         ~ClassifyTreeCommand(){}
21         
22         vector<string> setParameters();
23         string getCommandName()                 { return "classify.tree";                               }
24         string getCommandCategory()             { return "Phylotype Analysis";          }
25         string getHelpString(); 
26         string getCitation() { return "http://www.mothur.org/wiki/Classify.tree"; }
27         string getDescription()         { return "Find the consensus taxonomy for the descendant of each tree node"; }
28     
29         int execute();
30         void help() { m->mothurOut(getHelpString()); }  
31         
32 private:
33         ReadTree* read;
34     TreeMap* tmap;
35         string treefile, taxonomyfile, groupfile, namefile, outputDir;
36         bool abort;
37         vector<string> outputNames;
38     int numUniquesInName, cutoff;
39     map<string, string> nameMap;
40     map<string, int> nameCount;
41     map<string, string> taxMap;
42         
43         int getClassifications(Tree*&);
44         map<string, set<string> > getDescendantList(Tree*&, int, map<int, map<string, set<string> > >);
45     string getTaxonomy(set<string>, int&);
46     int readNamesFile(); 
47     int readTaxonomyFile();
48         
49 };
50
51
52
53 #endif