]> git.donarmstrong.com Git - mothur.git/blobdiff - consensuscommand.h
added otu.association command. added calcSpearman, calcKendall and calcPearson functi...
[mothur.git] / consensuscommand.h
index 53b8094b440be3e757bff24209ca97022a7433df..a9878517db3b6a1e1bc86d057f1ce5d6a2554b82 100644 (file)
 #include "tree.h"
 #include "treemap.h"
 #include "sharedutilities.h"
-       
-class GlobalData;
 
 class ConcensusCommand : public Command {
        
 public:
        ConcensusCommand(string);       
-       ~ConcensusCommand();
-       int execute();
-       void help();    
+       ConcensusCommand();
+       ~ConcensusCommand() {}
+       
+       vector<string> setParameters();
+       string getCommandName()                 { return "consensus";   }
+       string getCommandCategory()             { return "Hidden";              }
+       string getHelpString(); 
+       string getCitation() { return "no citation"; }
+       string getDescription()         { return "consensus"; }
+
+       int execute(); 
+       void help() { m->mothurOut(getHelpString()); }  
+       
        
 private:
-       GlobalData* globaldata;
        SharedUtil* util;
        vector<Tree*> t;
        Tree* consensusTree;
@@ -35,15 +42,20 @@ private:
                                                                                // ie. combos FI and EGK would create nodePairs[vector containing F and I] = 1; nodePairs[vector containing E, G and K] = 1
                                                                                // if you saw the combo FI again in another tree you would then update nodePairs[vector containing F and I] = 2;
                                                                                // requires vectors to be sorted to find key.
+       map< vector<string>, vector< vector<string> > > bestSplit;  //maps a group to its best split
+       map< vector<string>, int > nodePairsInitialRate;
        map< vector<string>, int > nodePairsInTree;
        map<string, int>::iterator it;
        map< vector<string>, int>::iterator it2;
        string outputFile, notIncluded, filename;
        ofstream out, out2;
        int numNodes, numLeaves, count;  //count is the next available spot in the tree vector
+       vector<string> outputNames;
                                                                                
-       void getSets();
-       vector<string> getNextAvailableSet(vector<string>);  //gets next largest and highest rated set that is a subset of the set passed in.
+       int getSets();
+       int getSubgroupRating(vector<string>);
+       vector<string> getSmallest(map< vector<string>, int>);
+       vector<string> getNextAvailableSet(vector<string>, vector<string>&);  
        vector<string> getRestSet(vector<string>, vector<string>);
        bool isSubset(vector<string>, vector<string>); 
        int findSpot(string);