X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=unifracweightedcommand.h;h=7317c8a43092a5712a06dda00589d1eb4528c649;hb=a98eb683e17d8e49583bf2d215ab7562a4cdca75;hp=2d78d57fe827a0678421f39a44c0d2e6fe4cedf0;hpb=0470f6d037aacb3563c3f7010708120a4a67d4e6;p=mothur.git diff --git a/unifracweightedcommand.h b/unifracweightedcommand.h index 2d78d57..7317c8a 100644 --- a/unifracweightedcommand.h +++ b/unifracweightedcommand.h @@ -23,12 +23,19 @@ class GlobalData; class UnifracWeightedCommand : public Command { public: - UnifracWeightedCommand(string); - ~UnifracWeightedCommand() { delete weighted; delete util; } + UnifracWeightedCommand(string); + ~UnifracWeightedCommand() { if (abort == false) { delete weighted; delete util; } } 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,10 +43,9 @@ 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; + string sumFile, outputDir; int iters, numGroups, numComp, counter; EstOutput userData; //weighted score info for user tree EstOutput randomData; //weighted score info for random trees @@ -48,25 +54,23 @@ class UnifracWeightedCommand : public Command { vector< map > rScoreFreq; //map -vector entry for each combination. vector< map > rCumul; //map -vector entry for each c map validScores; //map contains scores from random - map::iterator it2; - map::iterator it; - OptionParser* parser; - map parameters; - map::iterator it4; - bool abort; + bool abort, phylip, random; string groups, itersString; - vector Groups; //holds groups to be used + vector Groups, outputNames; //holds groups to be used + int processors; - ofstream outSum, out; - ifstream inFile; + ofstream outSum; void printWSummaryFile(); void printWeightedFile(); + void createPhylipFile(); //void removeValidScoresDuplicates(); int findIndex(float, int); void calculateFreqsCumuls(); + int createProcesses(Tree*, vector< vector >, vector&, vector< vector >&); + int driver(Tree*, vector< vector >, int, int, vector&, vector< vector >&); };