#include "memchord.h"
#include "memeuclidean.h"
#include "mempearson.h"
+#include "sharedjsd.h"
+#include "sharedrjsd.h"
class SummarySharedCommand : public Command {
vector<string> setParameters();
string getCommandName() { return "summary.shared"; }
string getCommandCategory() { return "OTU-Based Approaches"; }
+
string getHelpString();
+ string getOutputPattern(string);
string getCitation() { return "http://www.mothur.org/wiki/Summary.shared"; }
string getDescription() { return "generate a summary file containing calculator values for each line in the OTU data and for all possible comparisons between groups"; }
vector<Calculator*> sumCalculators;
InputData* input;
- bool abort, allLines, mult, all, createPhylip;
+ bool abort, allLines, mult, all, createPhylip, subsample;
set<string> labels; //holds labels to be used
- string label, calc, groups, sharedfile;
+ string label, calc, groups, sharedfile, output;
vector<string> Estimators, Groups, outputNames;
vector<SharedRAbundVector*> lookup;
string format, outputDir;
- int numGroups, processors;
+ int numGroups, processors, subsampleSize, iters;
int process(vector<SharedRAbundVector*>, string, string);
int driver(vector<SharedRAbundVector*>, int, int, string, string, vector< vector<seqDist> >&);
+ int printSims(ostream&, vector< vector<double> >&);
};
unsigned long long end;
MothurOut* m;
string sumFile;
+ int count;
summarySharedData(){}
summarySharedData(string sf, MothurOut* mout, unsigned long long st, unsigned long long en, vector<string> est, vector<SharedRAbundVector*> lu) {
end = en;
Estimators = est;
thisLookup = lu;
+ count=0;
}
};
/**************************************************************************************************/
sumCalculators.push_back(new MemEuclidean());
}else if (pDataArray->Estimators[i] == "mempearson") {
sumCalculators.push_back(new MemPearson());
+ }else if (pDataArray->Estimators[i] == "jsd") {
+ sumCalculators.push_back(new JSD());
+ }else if (pDataArray->Estimators[i] == "rjsd") {
+ sumCalculators.push_back(new RJSD());
}
}
}
vector<SharedRAbundVector*> subset;
for (int k = pDataArray->start; k < pDataArray->end; k++) { // pass cdd each set of groups to compare
-
+ pDataArray->count++;
for (int l = 0; l < k; l++) {
outputFileHandle << pDataArray->thisLookup[0]->getLabel() << '\t';