X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=unifracunweightedcommand.h;h=3961e53cb68c96e70dd5bcd55449ed5d72346cd9;hp=ecf78f58a981e1f95602ed4e10973bcf7695cf14;hb=a8e2df1b96a57f5f29576b08361b86a96a8eff4f;hpb=fb5a52d8d7896ba00c9ccc6add22ed89c5fb2ad7 diff --git a/unifracunweightedcommand.h b/unifracunweightedcommand.h index ecf78f5..3961e53 100644 --- a/unifracunweightedcommand.h +++ b/unifracunweightedcommand.h @@ -10,55 +10,61 @@ * */ -#include -#include -#include -#include -#include #include "command.hpp" #include "unweighted.h" -#include "treemap.h" - -using namespace std; - -class GlobalData; +#include "counttable.h" +#include "sharedutilities.h" +#include "fileoutput.h" +#include "readtree.h" class UnifracUnweightedCommand : public Command { public: - UnifracUnweightedCommand(); - ~UnifracUnweightedCommand() { delete unweighted; } - int execute(); + UnifracUnweightedCommand(string); + UnifracUnweightedCommand(); + ~UnifracUnweightedCommand() {} + + vector setParameters(); + string getCommandName() { return "unifrac.unweighted"; } + string getCommandCategory() { return "Hypothesis Testing"; } + + string getHelpString(); + string getOutputPattern(string); + string getCitation() { return "Lozupone C, Knight R (2005). UniFrac: a new phylogenetic method for comparing microbial communities. Appl Environ Microbiol 71: 8228-35. \nhttp://www.mothur.org/wiki/Unifrac.unweighted"; } + string getDescription() { return "generic tests that describes whether two or more communities have the same structure"; } + + int execute(); + void help() { m->mothurOut(getHelpString()); } + private: - GlobalData* globaldata; + FileOutput* output; vector T; //user trees - vector utreeScores; //user tree unweighted scores - vector UWScoreSig; //tree unweighted score signifigance when compared to random trees - percentage of random trees with that score or lower. - Tree* randT; //random tree - TreeMap* tmap; - Unweighted* unweighted; - string sumFile, distFile, unweightedFile; - int iters; - EstOutput userData; //unweighted score info for user tree - EstOutput randomData; //unweighted score info for random trees - map validScores; //contains scores from both user and random - map rscoreFreq; //unweighted score, number of random trees with that score. - map uscoreFreq; //unweighted, number of user trees with that score. - map totalrscoreFreq; //unweighted score, number of random trees with that score. - map rCumul; //unweighted score, cumulative percentage of number of random trees with that score or higher. - map uCumul; //unweighted, cumulative percentage of number of user trees with that score or higher . - map::iterator it; - map::iterator it2; + CountTable* ct; + string sumFile, allGroups; + vector groupComb; // AB. AC, BC... + int iters, numGroups, numComp, counter, processors, subsampleSize, subsampleIters; + vector< vector > utreeScores; //scores for users trees for each comb. + vector< vector > UWScoreSig; //tree score signifigance when compared to random trees - percentage of random trees with that score or higher. + map validScores; //map contains scores from random + vector< map > rscoreFreq; //map -vector entry for each combination. + vector< map > rCumul; //map -vector entry for each combination. - ofstream outSum, outDist, out; + bool abort, phylip, random, includeRoot, consensus, subsample; + string groups, itersString, outputDir, outputForm, treefile, groupfile, namefile, countfile; + vector Groups, outputNames; //holds groups to be used + + ofstream outSum, out; + ifstream inFile; - void printUWSummaryFile(); + int runRandomCalcs(Tree*, vector); + void printUWSummaryFile(int); void printUnweightedFile(); - void saveRandomScores(); + void createPhylipFile(int); + vector buildTrees(vector< vector >&, int, CountTable&); + int getConsensusTrees(vector< vector >&, int); + int getAverageSTDMatrices(vector< vector >&, int); }; - - -#endif \ No newline at end of file +#endif