X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=treemap.h;h=d4b506e6fb1d26675937f89f2cc1591e21a98c07;hb=dd173a49e37f6bae73a63c32dd7c98d317bb4a79;hp=60f75b388571aff503ac95b96df5946e6fcfa89f;hpb=d037597badc8d18e235c59f0c1114180edb7f98f;p=mothur.git diff --git a/treemap.h b/treemap.h index 60f75b3..d4b506e 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,11 +20,12 @@ struct GroupIndex { int vectorIndex; }; - +class GroupMap; +class ListVector; class TreeMap { public: - TreeMap() {}; + TreeMap() { m = MothurOut::getInstance(); } TreeMap(string); ~TreeMap(); void readMap(); @@ -34,12 +33,17 @@ 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); + void addSeq(string, string); vector namesOfGroups; vector namesOfSeqs; map seqsPerGroup; //groupname, number of seqs in that group. - map treemap; //sequence name and groupname + 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; @@ -48,6 +52,8 @@ private: map::iterator it; map::iterator it2; void setNamesOfGroups(string); + MothurOut* m; + };