X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=readtree.h;h=6b074de839070a86bd3e010bbf222a7ec4011dce;hb=2ecee16fec29d4c525f740ec19b27962ca09c050;hp=d363cd6884835558fba84e9ebaad678c4efe21b5;hpb=60fdefb3a300b59c3bbeffdca8a5f1f30c6a43af;p=mothur.git diff --git a/readtree.h b/readtree.h index d363cd6..6b074de 100644 --- a/readtree.h +++ b/readtree.h @@ -9,11 +9,7 @@ * */ -using namespace std; - -#include -#include -#include "globaldata.hpp" +#include "mothur.h" #include "tree.h" #define MAX_LINE 513 @@ -26,21 +22,23 @@ class Tree; class ReadTree { public: ReadTree(); - ~ReadTree() {}; + virtual ~ReadTree() {}; - virtual void read() {}; + virtual int read(TreeMap*) = 0; int readSpecialChar(istream&, char, string); int readNodeChar(istream& f); float readBranchLength(istream& f); - - - Tree* getTree() { return T; } + + vector getTrees() { return Trees; } + int AssembleTrees(map); + protected: + vector Trees; + TreeMap* treeMap; int numNodes, numLeaves; - GlobalData* globaldata; + MothurOut* m; + - protected: - Tree* T; }; /****************************************************************************/ @@ -48,16 +46,22 @@ class ReadTree { class ReadNewickTree : public ReadTree { public: - ReadNewickTree(string file) : treeFile(file) { openInputFile(file, filehandle); } + ReadNewickTree(string file) : treeFile(file) { m->openInputFile(file, filehandle); readOk = 0; } ~ReadNewickTree() {}; - void read(); + int read(TreeMap*); private: - int readNewickInt(istream&, int&, Tree*); + Tree* T; + int readNewickInt(istream&, int&, Tree*, TreeMap*); + int readTreeString(TreeMap*); + string nexusTranslation(TreeMap*); ifstream filehandle; string treeFile; + string holder; + int readOk; // readOk = 0 means success, readOk = 1 means errors. + }; /****************************************************************************/ -#endif \ No newline at end of file +#endif