X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=treegroupscommand.h;h=3e8fbb01c4df3c34540a11342a5a960a03788145;hb=6446d2e9713a95db5f772135b7aa3387f7ebf7bb;hp=10a2e31c88ea6a177b55a6a2e8f19f99d07e520d;hpb=b22853b5cfbf5c47949ad2a084f2fad88b2e4be4;p=mothur.git diff --git a/treegroupscommand.h b/treegroupscommand.h index 10a2e31..3e8fbb0 100644 --- a/treegroupscommand.h +++ b/treegroupscommand.h @@ -17,6 +17,10 @@ #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. @@ -25,19 +29,28 @@ class GlobalData; +typedef list::iterator MatData; + class TreeGroupCommand : public Command { public: - TreeGroupCommand(); + TreeGroupCommand(string); ~TreeGroupCommand(); int execute(); + void help(); private: - void createTree(); + int createTree(); void printSims(ostream&); + int makeSimsShared(); + int makeSimsDist(); GlobalData* globaldata; ReadOTUFile* read; + ReadMatrix* readMatrix; + SparseMatrix* matrix; + NameAssignment* nameMap; + ListVector* list; TreeMap* tmap; Tree* t; vector treeCalculators; @@ -46,9 +59,21 @@ private: InputData* input; ValidCalculators* validCalculator; vector lookup; - string format, outputFile, groupNames; + string lastLabel; + string format, outputFile, groupNames, filename; int numGroups; ofstream out; + float precision, cutoff; + + bool abort, allLines; + set labels; //holds labels to be used + string phylipfile, columnfile, namefile, calc, groups, label, outputDir; + vector 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); + + };