X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=unifracweightedcommand.h;h=2eee7c44e674073420c217f1b4d49aa4dc769497;hb=fca3f55d5ded10c3dc77856f3cc4a1c53b02bb6f;hp=c36152d107d894c4e26c857ce3508e4780ae06ef;hpb=315e38cf393c82be238da5b32574f225a020d25c;p=mothur.git diff --git a/unifracweightedcommand.h b/unifracweightedcommand.h index c36152d..2eee7c4 100644 --- a/unifracweightedcommand.h +++ b/unifracweightedcommand.h @@ -23,12 +23,24 @@ class GlobalData; class UnifracWeightedCommand : public Command { public: - UnifracWeightedCommand(string); + UnifracWeightedCommand(string); + UnifracWeightedCommand(); ~UnifracWeightedCommand() { if (abort == false) { delete weighted; delete util; } } + vector getRequiredParameters(); + vector getValidParameters(); + vector getRequiredFiles(); + map > getOutputFiles() { return outputTypes; } int execute(); void help(); private: + struct linePair { + int start; + int num; + linePair(int i, int j) : start(i), num(j) {} + }; + vector lines; + GlobalData* globaldata; SharedUtil* util; FileOutput* output; @@ -36,7 +48,6 @@ class UnifracWeightedCommand : public Command { vector utreeScores; //user tree unweighted scores vector WScoreSig; //tree weighted score signifigance when compared to random trees - percentage of random trees with that score or lower. vector groupComb; // AB. AC, BC... - Tree* randT; //random tree TreeMap* tmap; Weighted* weighted; string sumFile, outputDir; @@ -49,9 +60,11 @@ class UnifracWeightedCommand : public Command { vector< map > rCumul; //map -vector entry for each c map validScores; //map contains scores from random - bool abort, phylip, random; - string groups, itersString; - vector Groups; //holds groups to be used + bool abort, phylip, random, includeRoot; + string groups, itersString, outputForm; + vector Groups, outputNames; //holds groups to be used + map > outputTypes; + int processors; ofstream outSum; @@ -62,6 +75,8 @@ class UnifracWeightedCommand : public Command { //void removeValidScoresDuplicates(); int findIndex(float, int); void calculateFreqsCumuls(); + int createProcesses(Tree*, vector< vector >, vector< vector >&); + int driver(Tree*, vector< vector >, int, int, vector< vector >&); };