8 * Created by Pat Schloss on 6/17/09.
9 * Copyright 2009 Patrick D. Schloss. All rights reserved.
15 /**************************************************************************************************/
18 vector<string> accessions; //names of seqs in this branch of tree
19 map<string, int> children; //childs name to index in tree
20 int parent, childNumber, level;
21 string name, heirarchyID;
23 TaxNode(string n) : name(n), level(0), parent(-1) { }
27 /**************************************************************************************************/
33 void addSeqToTree(string, string);
34 void assignHeirarchyIDs(int);
35 void print(ofstream&);
36 vector<int> getGenusNodes();
37 TaxNode get(int i) { return tree[i]; }
38 TaxNode get(string seqName) { return tree[name2Taxonomy[seqName]]; }
39 int getIndex(string seqName) { return name2Taxonomy[seqName]; }
40 string getName(int i) { return tree[i].name; }
42 string getNextTaxon(string&);
44 vector<int> genusIndex; //holds the indexes in tree where the genus level taxonomies are stored
45 map<string, int> name2Taxonomy; //maps name to index in tree
46 map<int, int> uniqueTaxonomies; //map of unique taxonomies
47 void print(int, ofstream&);
52 /**************************************************************************************************/