]> git.donarmstrong.com Git - mothur.git/blob - rawtrainingdatamaker.h
made classifier faster
[mothur.git] / rawtrainingdatamaker.h
1 #ifndef RAWTRAININGDATAMAKER_H
2 #define RAWTRAININGDATAMAKER_H
3
4 /*
5  *  rawTrainingDataMaker.h
6  *  Mothur
7  *
8  *  Created by westcott on 4/21/10.
9  *  Copyright 2010 Schloss Lab. All rights reserved.
10  *
11  */
12
13 #include "mothur.h"
14 #include "mothurout.h"
15
16 /**************************************************************************************************/
17
18 struct rawTaxNode {
19         map<string, int> children;  //childs name to index in tree
20         int parent, level;
21         string name, rank;
22         
23         rawTaxNode(string n) : name(n), level(0), parent(-1) {          }
24         rawTaxNode(){}
25 };
26
27 /**************************************************************************************************/
28
29 class RawTrainingDataMaker {
30
31 public:
32         RawTrainingDataMaker();
33         RawTrainingDataMaker(string);  //pass it a taxonomy file and it makes the tree
34         ~RawTrainingDataMaker() {};
35         int addSeqToTree(string, string);
36         void assignRank(int);
37         void print(ofstream&);
38         
39 private:
40         string getNextTaxon(string&);
41         vector<rawTaxNode> tree;
42         void print(int, ofstream&);
43         int numNodes;
44         int numSeqs;
45         int maxLevel;
46         //map<string, string> sanityCheck;
47         MothurOut* m;
48 };
49
50 /**************************************************************************************************/
51
52 #endif
53
54