*/
-/* This class is a parent to phylotyp, bayesian, knn. */
+/* This class is a parent to bayesian, knn. */
#include "mothur.h"
#include "database.hpp"
-
+#include "phylotree.h"
class Sequence;
+
/**************************************************************************************************/
class Classify {
public:
- Classify(string, string, string, int, int, int, int, int);
- Classify(){};
-
+ Classify();
virtual ~Classify(){};
virtual string getTaxonomy(Sequence*) = 0;
+ virtual string getSimpleTax() { return simpleTax; }
+ virtual bool getFlipped() { return flipped; }
+ virtual void generateDatabaseAndNames(string, string, string, int, float, float, float, float);
+ virtual void setDistName(string s) {} //for knn, so if distance method is selected with knn you can create the smallest distance file in the right place.
protected:
map<string, string> taxonomy; //name maps to taxonomy
+ //map<string, int> genusCount; //maps genus to count - in essence a list of how many seqs are in each taxonomy
+ map<string, int>::iterator itTax;
map<string, string>::iterator it;
Database* database;
+ PhyloTree* phyloTree;
- string taxFile, templateFile;
+ string taxFile, templateFile, simpleTax;
vector<string> names;
+ int threadID;
+ bool flip, flipped;
+
+ int readTaxonomy(string);
+ vector<string> parseTax(string);
+ MothurOut* m;
- void readTaxonomy(string);
-
};
/**************************************************************************************************/