X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=treemap.h;h=7ed8d04f0886367f5a17a5baeec4848e75687358;hb=a8b8361418a0ed64878430f928099298aa018503;hp=8f744c80a3e92873699aca320032cedeea59a007;hpb=825512fb96e5bb00e08665396d9fa6a8c4da5a68;p=mothur.git diff --git a/treemap.h b/treemap.h index 8f744c8..7ed8d04 100644 --- a/treemap.h +++ b/treemap.h @@ -25,31 +25,39 @@ class ListVector; class TreeMap { public: - TreeMap() {}; + TreeMap() { m = MothurOut::getInstance(); } TreeMap(string); ~TreeMap(); - void readMap(); + int readMap(); int getNumGroups(); int getNumSeqs(); void setIndex(string, int); //sequencename, index int getIndex(string); //returns vector index of sequence bool isValidGroup(string); //return true if string is a valid group + void removeSeq(string); //removes a sequence, this is to accomadate trees that do not contain all the seqs in your groupfile string getGroup(string); - vector namesOfGroups; + void addSeq(string, string); + void addGroup(string s) { setNamesOfGroups(s); } + vector getNamesOfGroups() { + sort(namesOfGroups.begin(), namesOfGroups.end()); + return namesOfGroups; + } vector namesOfSeqs; map seqsPerGroup; //groupname, number of seqs in that group. map treemap; //sequence name and void print(ostream&); - void makeSim(GroupMap*); //takes groupmap info and fills treemap for use by tree.shared command. + void makeSim(vector); //takes groupmap info and fills treemap for use by tree.shared command. void makeSim(ListVector*); //takes listvector info and fills treemap for use by tree.shared command. private: + vector namesOfGroups; ifstream fileHandle; string groupFileName; int numGroups; map::iterator it; map::iterator it2; void setNamesOfGroups(string); + MothurOut* m; };