#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;
// 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);