]> git.donarmstrong.com Git - mothur.git/blobdiff - treegroupscommand.h
created mothurOut class to handle logfiles
[mothur.git] / treegroupscommand.h
index 3c40eff6ab95c0dcb12e931e5f785f30654243db..899716c6055b0dc12cbe493fc1ff3e5b8170d769 100644 (file)
  */
  
 #include "command.hpp"
-#include "sharedordervector.h"
-#include "sharedlistvector.h"
 #include "inputdata.h"
 #include "groupmap.h"
 #include "readotu.h"
 #include "validcalculator.h"
 #include "tree.h"
 #include "treemap.h"
-#include "sharedutilities.h"
+#include "readmatrix.hpp"
+#include "readcolumn.h"
+#include "readphylip.h"
+#include "sparsematrix.hpp"
 
 
 /* This command create a tree file for each similarity calculator at distance level, using various calculators to find the similiarity between groups. 
        
 class GlobalData;
 
+typedef list<PCell>::iterator MatData;
+
 class TreeGroupCommand : public Command {
        
 public:
-       TreeGroupCommand();     
+       TreeGroupCommand(string);       
        ~TreeGroupCommand();
        int execute();  
+       void help();
        
 private:
        void createTree();
-       void printSims();
+       void printSims(ostream&);
+       void makeSimsShared();
+       void makeSimsDist();
        
        GlobalData* globaldata;
-       SharedUtil* util;
        ReadOTUFile* read;
+       ReadMatrix* readMatrix;
+       SparseMatrix* matrix;
+       NameAssignment* nameMap;
+       ListVector* list;
        TreeMap* tmap;
        Tree* t;
        vector<Calculator*> treeCalculators;
@@ -49,11 +58,22 @@ private:
        map<int, int> index;  //maps row in simMatrix to vector index in the tree       
        InputData* input;
        ValidCalculators* validCalculator;
-       SharedListVector* SharedList;
-       SharedOrderVector* order;
        vector<SharedRAbundVector*> lookup;
-       string format, outputFile, groupNames;
+       string lastLabel;
+       string format, outputFile, groupNames, filename;
        int numGroups;
+       ofstream out;
+       float precision, cutoff;
+
+       bool abort, allLines;
+       set<string> labels; //holds labels to be used
+       string phylipfile, columnfile, namefile, calc, groups, label, outputDir;
+       vector<string>  Estimators, Groups, outputNames; //holds estimators to be used
+       
+       //if the users enters label "0.06" and there is no "0.06" in their file use the next lowest label.
+       void process(vector<SharedRAbundVector*>);
+       
+       
 
 };