X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=classify.h;fp=classify.h;h=4e0354782e5063e2a52268e88a1412b40db3c28e;hb=0caf3fbabaa3ece404f8ce77f4c883dc5b1bf1dc;hp=0000000000000000000000000000000000000000;hpb=1b73ff67c83892a025e597dabd9df6fe7b58206a;p=mothur.git diff --git a/classify.h b/classify.h new file mode 100644 index 0000000..4e03547 --- /dev/null +++ b/classify.h @@ -0,0 +1,60 @@ +#ifndef CLASSIFY_H +#define CLASSIFY_H + +/* + * classify.h + * Mothur + * + * Created by westcott on 11/3/09. + * Copyright 2009 Schloss Lab. All rights reserved. + * + */ + + +/* This class is a parent to bayesian, knn. */ + +#include "mothur.h" +#include "database.hpp" +#include "phylotree.h" + + +class Sequence; + + +/**************************************************************************************************/ + +class Classify { + +public: + 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 taxonomy; //name maps to taxonomy + //map genusCount; //maps genus to count - in essence a list of how many seqs are in each taxonomy + map::iterator itTax; + map::iterator it; + Database* database; + PhyloTree* phyloTree; + + string taxFile, templateFile, simpleTax; + vector names; + int threadID; + bool flip, flipped; + + int readTaxonomy(string); + vector parseTax(string); + MothurOut* m; + +}; + +/**************************************************************************************************/ + +#endif +