X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=treemap.h;h=bda6926c20ea79800e9f9cc8a06b87ce6f44c68c;hb=7a8fc1115b3871107c09a4b9b307b1f2ab7d3fcf;hp=d9617f5455e03f0f5fc702fffaf3516335351b15;hpb=58cf1d08fee8c64334979075fa57bcafb035a2ed;p=mothur.git diff --git a/treemap.h b/treemap.h index d9617f5..bda6926 100644 --- a/treemap.h +++ b/treemap.h @@ -9,11 +9,9 @@ * */ -#include -#include -#include -#include -#include "utilities.hpp" +#include "mothur.h" +#include "groupmap.h" +#include "listvector.hpp" /* This class is used by the read.tree command to build the tree container. */ @@ -22,10 +20,12 @@ struct GroupIndex { int vectorIndex; }; - +class GroupMap; +class ListVector; class TreeMap { public: + TreeMap() { m = MothurOut::getInstance(); } TreeMap(string); ~TreeMap(); void readMap(); @@ -33,18 +33,27 @@ public: 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; 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(ListVector*); //takes listvector info and fills treemap for use by tree.shared command. private: ifstream fileHandle; string groupFileName; int numGroups; map::iterator it; + map::iterator it2; void setNamesOfGroups(string); - map treemap; //sequence name and groupname + MothurOut* m; + + }; #endif