X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=treegroupscommand.h;h=36c852bd8ef545894b9aa00245064eb112e236c6;hp=b0ae730d98aa8af6da4fecabe3cf0f7aa03df2d4;hb=615301e57c25e241356a9c2380648d117709458d;hpb=0cefb55a2616975bd4a144fc345693695ffc9bb6 diff --git a/treegroupscommand.h b/treegroupscommand.h index b0ae730..36c852b 100644 --- a/treegroupscommand.h +++ b/treegroupscommand.h @@ -15,11 +15,10 @@ #include "groupmap.h" #include "validcalculator.h" #include "tree.h" -#include "treemap.h" +#include "counttable.h" #include "readmatrix.hpp" #include "readcolumn.h" #include "readphylip.h" -#include "sparsematrix.hpp" #include "sharedsobscollectsummary.h" #include "sharedchao1.h" #include "sharedace.h" @@ -69,8 +68,6 @@ They can also use as many or as few calculators as they wish. */ -typedef list::iterator MatData; - class TreeGroupCommand : public Command { public: @@ -81,8 +78,9 @@ public: vector setParameters(); string getCommandName() { return "tree.shared"; } string getCommandCategory() { return "OTU-Based Approaches"; } - string getOutputFileNameTag(string, string); + string getHelpString(); + string getOutputPattern(string); string getCitation() { return "http://www.mothur.org/wiki/Tree.shared"; } string getDescription() { return "generate a tree file that describes the dissimilarity among groups"; } @@ -107,13 +105,13 @@ private: NameAssignment* nameMap; ListVector* list; - TreeMap* tmap; + CountTable* ct; Tree* t; InputData* input; vector treeCalculators; vector lookup; string lastLabel; - string format, groupNames, filename, sharedfile, inputfile; + string format, groupNames, filename, sharedfile, countfile, inputfile; int numGroups, subsampleSize, iters, processors; ofstream out; float precision, cutoff; @@ -141,6 +139,7 @@ struct treeSharedData { unsigned long long start; unsigned long long end; MothurOut* m; + int count; treeSharedData(){} treeSharedData(MothurOut* mout, unsigned long long st, unsigned long long en, vector est, vector lu) { @@ -149,6 +148,7 @@ struct treeSharedData { end = en; Estimators = est; thisLookup = lu; + count=0; } }; /**************************************************************************************************/ @@ -251,6 +251,8 @@ static DWORD WINAPI MyTreeSharedThreadFunction(LPVOID lpParam){ vector subset; for (int k = pDataArray->start; k < pDataArray->end; k++) { // pass cdd each set of groups to compare + pDataArray->count++; + for (int l = 0; l < k; l++) { if (k != l) { //we dont need to similiarity of a groups to itself