]> git.donarmstrong.com Git - mothur.git/blobdiff - phylodiversitycommand.h
added adjustDots function to pcr.seqs, keeps sequences aligned in case where primers...
[mothur.git] / phylodiversitycommand.h
index 76c996c405a92fdb7f5c51d67728c46cf9c902b0..ec372ba20acac93709ca4fff0b58c8a42dadf048 100644 (file)
  */
 
 #include "command.hpp"
-#include "treemap.h"
-#include "globaldata.hpp"
+#include "counttable.h"
+#include "sharedutilities.h"
+#include "tree.h"
 
 class PhyloDiversityCommand : public Command {
        
        public:
                PhyloDiversityCommand(string);
-               ~PhyloDiversityCommand();
-               int execute();  
-               void help();
+               PhyloDiversityCommand();
+               ~PhyloDiversityCommand(){}
        
-       private:
-               GlobalData* globaldata;
+               vector<string> setParameters();
+               string getCommandName()                 { return "phylo.diversity";                     }
+               string getCommandCategory()             { return "Hypothesis Testing";          }
                
+       string getHelpString(); 
+    string getOutputPattern(string);   
+               string getCitation() { return "Faith DP (1994). Phylogenetic pattern and the quantification of organismal biodiversity. Philos Trans R Soc Lond B Biol Sci 345: 45-58. \nhttp://www.mothur.org/wiki/Phylo.diversity"; }
+               string getDescription()         { return "phylo.diversity"; }
+
+               int execute();
+               void help() { m->mothurOut(getHelpString()); }
+private:
+               CountTable* ct;
                float freq;
-               int iters;  
+               int iters, processors, numUniquesInName;  
                bool abort, rarefy, summary, collect, scale;
-               string groups, outputDir;
+               string groups, outputDir, treefile, groupfile, namefile, countfile;
                vector<string> Groups, outputNames; //holds groups to be used, and outputFile names
                
+        map<string, int> getRootForGroups(Tree* t);
+               int readNamesFile();
                void printData(set<int>&, map< string, vector<float> >&, ofstream&, int);
                void printSumData(map< string, vector<float> >&, ofstream&, int);
-               float calcBranchLength(Tree*, int);
+        vector<float> calcBranchLength(Tree*, int, vector< map<string, bool> >&, map<string, int>);
+               int driver(Tree*, map< string, vector<float> >&, map<string, vector<float> >&, int, int, vector<int>&, set<int>&, ofstream&, ofstream&, bool);
+               int createProcesses(vector<int>&, Tree*, map< string, vector<float> >&, map<string, vector<float> >&, int, int, vector<int>&, set<int>&, ofstream&, ofstream&);
+
 };
 
 #endif