]> git.donarmstrong.com Git - mothur.git/blob - globaldata.hpp
merged pat's trim seqs edits with sarah's major overhaul of global data; also added...
[mothur.git] / globaldata.hpp
1 #ifndef GLOBALDATA_HPP
2 #define GLOBALDATA_HPP
3
4 #include "mothur.h"
5 #include "groupmap.h"
6 #include "treemap.h"
7 #include "rabundvector.hpp"
8 #include "sabundvector.hpp"
9 #include "listvector.hpp"
10 #include "tree.h"
11 #include "sparsematrix.hpp"
12
13 class ListVector;
14 class SharedListVector;
15 class SparseMatrix;
16 class FullMatrix;
17 class Tree;
18 class OrderVector;
19 class InputData;
20 class GroupMap;
21 class TreeMap;
22 class SAbundVector;
23 class RAbundVector;
24 class SequenceDB;
25
26 class GlobalData {
27 public:
28         static GlobalData* getInstance();
29         ListVector* gListVector;
30         SparseMatrix* gSparseMatrix;
31         InputData* ginput;
32         OrderVector* gorder;
33         ListVector* glist;
34         vector<Tree*> gTree;
35         SharedListVector* gSharedList;
36         SAbundVector* sabund;
37         RAbundVector* rabund;
38         GroupMap* gGroupmap;
39         FullMatrix* gMatrix;
40         TreeMap* gTreemap;
41         SequenceDB* gSequenceDB;
42         string inputFileName, argv;
43         bool allLines, runParse;
44         vector<string>  Estimators, Groups; //holds estimators to be used
45         set<int> lines; //hold lines to be used
46         set<string> labels; //holds labels to be used
47         vector<string> Treenames;
48         
49         string getPhylipFile();
50         string getColumnFile();
51         string getListFile();
52         string getRabundFile();
53         string getSabundFile();
54         string getNameFile();   //do we need this?
55         string getGroupFile();  //do we need this?
56         string getOrderFile();
57 //      string getFastaFile();
58         string getTreeFile();
59         string getSharedFile();
60         string getFormat();     //do we need this?
61 //      string getCandidateFile();
62 //      string getTemplateFile();
63
64         void setListFile(string);
65 //      void setFastaFile(string);
66         void setTreeFile(string);
67 //      void setCandidateFile(string);
68 //      void setTemplateFile(string);
69         void setGroupFile(string);              //do we need this?
70         void setPhylipFile(string);
71         void setColumnFile(string);
72         void setNameFile(string);       //do we need this?
73         void setRabundFile(string);
74         void setSabundFile(string);
75         void setSharedFile(string);
76         void setOrderFile(string file);
77         void setFormat(string); //do we need this?
78         
79         void clear(); 
80         void clearLabels();
81         void clearAbund();
82         
83         void newRead();
84         
85 private:
86
87         string phylipfile, columnfile, listfile, rabundfile, sabundfile, namefile, groupfile, orderfile, treefile, sharedfile, format;
88
89         static GlobalData* _uniqueInstance;
90         GlobalData( const GlobalData& ); // Disable copy constructor
91         void operator=( const GlobalData& ); // Disable assignment operator
92         GlobalData();
93         ~GlobalData();
94         
95         
96 };
97
98 #endif