*/
#include "mothur.h"
-#include "globaldata.hpp"
#include "tree.h"
#define MAX_LINE 513
ReadTree();
virtual ~ReadTree() {};
- virtual int read() = 0;
+ virtual int read(TreeMap*) = 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;
+ TreeMap* treeMap;
int numNodes, numLeaves;
+ MothurOut* m;
};
class ReadNewickTree : public ReadTree {
public:
- ReadNewickTree(string file) : treeFile(file) { openInputFile(file, filehandle); readOk = 0; }
+ ReadNewickTree(string file) : treeFile(file) { m->openInputFile(file, filehandle); readOk = 0; }
~ReadNewickTree() {};
- int read();
+ int read(TreeMap*);
private:
Tree* T;
- int readNewickInt(istream&, int&, Tree*);
- int readTreeString();
- void nexusTranslation();
+ int readNewickInt(istream&, int&, Tree*, TreeMap*);
+ int readTreeString(TreeMap*);
+ string nexusTranslation(TreeMap*);
ifstream filehandle;
string treeFile;
string holder;