vector<int> getGenusTotals();
void setUp(string); //used to create file needed for summary file if you use () constructor and add seqs manually instead of passing taxonomyfile
- TaxNode get(int i) { return tree[i]; }
- TaxNode get(string seqName) { return tree[name2Taxonomy[seqName]]; }
- int getIndex(string seqName) { return name2Taxonomy[seqName]; }
- string getName(int i) { return tree[i].name; }
+ TaxNode get(int i);
+ TaxNode get(string seqName);
+ string getName(int i);
+ int getIndex(string seqName);
string getFullTaxonomy(string); //pass a sequence name return taxonomy
- int getMaxLevel() { return maxLevel; }
- int getNumSeqs() { return numSeqs; }
+
+ int getMaxLevel() { return maxLevel; }
+ int getNumSeqs() { return numSeqs; }
+ int getNumNodes() { return tree.size(); }
+
+ bool ErrorCheck(vector<string>);
private:
- string getNextTaxon(string&);
- void print(ofstream&, vector<TaxNode>&);
+ string getNextTaxon(string&, string);
+ void print(ofstream&, vector<TaxNode>&); //used to create static reference taxonomy file
+ void fillOutTree(int, vector<TaxNode>&); //used to create static reference taxonomy file
void binUnclassified(string);
vector<TaxNode> tree;
vector<int> totals; //holds the numSeqs at each genus level taxonomy
map<string, int> name2Taxonomy; //maps name to index in tree
map<int, int> uniqueTaxonomies; //map of unique taxonomies
+ map<int, int> leafNodes; //used to create static reference taxonomy file
//void print(int, ofstream&);
int numNodes;
int numSeqs;