]> git.donarmstrong.com Git - mothur.git/blobdiff - treegroupscommand.h
added formatmatrix, formatcolumn, and formatphylip classes. Used these classes in...
[mothur.git] / treegroupscommand.h
index 10a2e31c88ea6a177b55a6a2e8f19f99d07e520d..3f2822cfae2abe2929b8ac8f2b94b0e5b9236503 100644 (file)
 #include "validcalculator.h"
 #include "tree.h"
 #include "treemap.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(ostream&);
+       void makeSimsShared();
+       void makeSimsDist();
        
        GlobalData* globaldata;
        ReadOTUFile* read;
+       ReadMatrix* readMatrix;
+       SparseMatrix* matrix;
+       NameAssignment* nameMap;
+       ListVector* list;
        TreeMap* tmap;
        Tree* t;
        vector<Calculator*> treeCalculators;
@@ -46,9 +59,21 @@ private:
        InputData* input;
        ValidCalculators* validCalculator;
        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;
+       vector<string>  Estimators, Groups; //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*>);
+       
+       
 
 };