]> git.donarmstrong.com Git - mothur.git/blobdiff - readtree.h
working on pam
[mothur.git] / readtree.h
index 7cfb4b426eef1ca38e562ae1c52b4ad240afc4e3..8a692432c7cda431c6f5d73f409a0fa8e9152671 100644 (file)
@@ -10,8 +10,8 @@
  */
 
 #include "mothur.h"
-#include "globaldata.hpp"
 #include "tree.h"
+#include "counttable.h"
 
 #define MAX_LINE               513
 #define SKIPLINE(f,c)  {while((c=f.get())!=EOF && ((c) != '\n')){}}
@@ -25,13 +25,17 @@ class ReadTree {
                ReadTree(); 
                virtual ~ReadTree() {};
                
-               virtual int read() = 0;
+               virtual int read(CountTable*) = 0;
                int readSpecialChar(istream&, char, string);
                int readNodeChar(istream& f);
                float readBranchLength(istream& f);
+       
+               vector<Tree*> getTrees() { return Trees; }
+               int AssembleTrees();
                
        protected:
-               GlobalData* globaldata;
+               vector<Tree*> Trees;
+               CountTable* ct;
                int numNodes, numLeaves;
                MothurOut* m;
                
@@ -45,13 +49,13 @@ class ReadNewickTree : public ReadTree {
 public:
        ReadNewickTree(string file) : treeFile(file) { m->openInputFile(file, filehandle); readOk = 0; } 
        ~ReadNewickTree() {};
-       int read();
+       int read(CountTable*);
        
 private:
        Tree* T;
-       int readNewickInt(istream&, int&, Tree*);
-       int readTreeString();
-       string nexusTranslation();
+       int readNewickInt(istream&, int&, Tree*, CountTable*);
+       int readTreeString(CountTable*);
+       string nexusTranslation(CountTable*);
        ifstream filehandle;
        string treeFile;
        string holder;