]> git.donarmstrong.com Git - mothur.git/blob - classify.h
finished work on classify.seqs bayesian method and various bug fixes
[mothur.git] / classify.h
1 #ifndef CLASSIFY_H
2 #define CLASSIFY_H
3
4 /*
5  *  classify.h
6  *  Mothur
7  *
8  *  Created by westcott on 11/3/09.
9  *  Copyright 2009 Schloss Lab. All rights reserved.
10  *
11  */
12
13
14 /* This class is a parent to phylotyp, bayesian, knn.  */
15
16 #include "mothur.h"
17 #include "database.hpp"
18 #include "doTaxonomy.h"
19
20
21 class Sequence;
22
23
24 /**************************************************************************************************/
25
26 class Classify {
27
28 public:
29         Classify(string, string, string, int, int, int, int, int);
30         Classify(){     delete phyloTree;  }
31         
32         virtual ~Classify(){};
33         virtual string getTaxonomy(Sequence*) = 0;
34         //virtual map<string, int> getConfidenceScores() { return taxConfidenceScore; }
35         //virtual vector<string> parseTax(string);
36         virtual string getSimpleTax()  { return simpleTax;      }
37         
38 protected:
39
40         map<string, string> taxonomy;  //name maps to taxonomy
41         //map<string, int> genusCount;  //maps genus to count - in essence a list of how many seqs are in each taxonomy
42         map<string, int>::iterator itTax;
43         map<string, string>::iterator it;
44         Database* database;
45         PhyloTree* phyloTree;
46         
47         string taxFile, templateFile, simpleTax;
48         vector<string> names;
49         //map<string, int> taxConfidenceScore;
50         
51         void readTaxonomy(string);
52         vector<string> parseTax(string);
53 };
54
55 /**************************************************************************************************/
56
57 #endif
58