]> git.donarmstrong.com Git - mothur.git/blobdiff - treegroupscommand.h
finished chimera.slayer adding trim parameter, added persample parameter to sub.sampl...
[mothur.git] / treegroupscommand.h
index 4c3b8424efa456ff20d52f8f217f2f3015d793b6..c61c9fbfa63bf84a2482955ca20aa914f89b9400 100644 (file)
  */
  
 #include "command.hpp"
-#include "sharedordervector.h"
-#include "sharedlistvector.h"
 #include "inputdata.h"
 #include "groupmap.h"
-#include "readmatrix.hpp"
+#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();
        ~TreeGroupCommand();
+       vector<string> getRequiredParameters();
+       vector<string> getValidParameters();
+       vector<string> getRequiredFiles();
+       map<string, vector<string> > getOutputFiles() { return outputTypes; }
        int execute();  
+       void help();
        
 private:
-       void createTree();
-       void printSims();
+       int createTree();
+       void printSims(ostream&);
+       int makeSimsShared();
+       int makeSimsDist();
        
        GlobalData* globaldata;
-       SharedUtil* util;
-       ReadMatrix* read;
+       ReadOTUFile* read;
+       ReadMatrix* readMatrix;
+       SparseMatrix* matrix;
+       NameAssignment* nameMap;
+       ListVector* list;
        TreeMap* tmap;
        Tree* t;
        vector<Calculator*> treeCalculators;
@@ -49,11 +63,23 @@ 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;
+       map<string, vector<string> > outputTypes;
+
+       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.
+       int process(vector<SharedRAbundVector*>);
+       
+       
 
 };