#include "groupmap.h"
#include "treemap.h"
+#include "rabundvector.hpp"
+#include "sabundvector.hpp"
+#include "listvector.hpp"
+
+
using namespace std;
class ListVector;
class GroupMap;
class TreeMap;
class SAbundVector;
+class RAbundVector;
class GlobalData {
public:
vector<Tree*> gTree;
SharedListVector* gSharedList;
SAbundVector* sabund;
+ RAbundVector* rabund;
GroupMap* gGroupmap;
FullMatrix* gMatrix;
TreeMap* gTreemap;
vector<string> Estimators, Groups; //holds estimators to be used
set<int> lines; //hold lines to be used
set<string> labels; //holds labels to be used
+ vector<string> Treenames;
string getPhylipFile();
string getColumnFile();
string getGroups();
string getStep();
string getForm();
+ string getSorted();
+ string getScale();
void setListFile(string);
void setPhylipFile(string);
void clearAbund();
void parseGlobalData(string, string);
+
+ void parseTreeFile(); //parses through tree file to find names of nodes and number of them
+ //this is required in case user has sequences in the names file that are
+ //not included in the tree.
+ //only takes names from the first tree in the tree file and assumes that all trees use the same names.
+
private:
string phylipfile, columnfile, listfile, rabundfile, sabundfile, namefile, groupfile, orderfile, fastafile, treefile, sharedfile, line, label, randomtree, groups;
- string cutoff, format, precision, method, fileroot, iters, jumble, freq, calc, abund, step, form;
+ string cutoff, format, precision, method, fileroot, iters, jumble, freq, calc, abund, step, form, sorted, scale;
static GlobalData* _uniqueInstance;
GlobalData( const GlobalData& ); // Disable copy constructor
GlobalData();
~GlobalData();
void reset(); //clears all non filename parameters
+ void readTreeString(ifstream&);