]> git.donarmstrong.com Git - mothur.git/blobdiff - treemap.h
created mothurOut class to handle logfiles
[mothur.git] / treemap.h
index 60fb924278c8df36a405ca363c2584d5ae2fa42a..bda6926c20ea79800e9f9cc8a06b87ce6f44c68c 100644 (file)
--- a/treemap.h
+++ b/treemap.h
@@ -9,11 +9,9 @@
  *
  */
 
-#include <map>
-#include <string>
-#include <iostream>
-#include <fstream>
-#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();
@@ -35,12 +34,15 @@ public:
        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<string> namesOfGroups;
        vector<string> namesOfSeqs;
     map<string,int> seqsPerGroup;      //groupname, number of seqs in that group.
        map<string, GroupIndex> treemap; //sequence name and <groupname, vector index>
        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;
@@ -49,6 +51,8 @@ private:
        map<string, GroupIndex>::iterator it;
        map<string, int>::iterator it2;
        void setNamesOfGroups(string); 
+       MothurOut* m;
+       
        
 };