#include "sharedthetayc.h"
#include "sharedthetan.h"
+
//**********************************************************************************************************************
SummarySharedCommand::SummarySharedCommand(){
format = globaldata->getFormat();
validCalculator = new ValidCalculators();
+ //set users groups
+ setGroups();
+
int i;
for (i=0; i<globaldata->Estimators.size(); i++) {
if (validCalculator->isValidCalculator("sharedsummary", globaldata->Estimators[i]) == true) {
}
count++;
}
-
+
+ //reset groups parameter
+ globaldata->Groups.clear(); globaldata->setGroups("");
+
return 0;
}
catch(exception& e) {
break;
}
}
-
}
+
+ //get rid of vectors from groups you don't want to analyze
+ for (int r = 0; r < lookup.size(); r++) {
+ if (inUsersGroups(lookup[r]->getGroup(), globaldata->Groups) != true) {
+ lookup.erase(lookup.begin()+r);
+ }
+ }
+
}
catch(exception& e) {
cout << "Standard Error: " << e.what() << " has occurred in the SummarySharedCommand class Function getSharedVectors. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
}
//**********************************************************************************************************************
+void SummarySharedCommand::setGroups() {
+ try {
+ //if the user has not entered specific groups to analyze then do them all
+ if (globaldata->Groups.size() != 0) {
+ if (globaldata->Groups[0] != "all") {
+ //check that groups are valid
+ for (int i = 0; i < globaldata->Groups.size(); i++) {
+ if (globaldata->gGroupmap->isValidGroup(globaldata->Groups[i]) != true) {
+ cout << globaldata->Groups[i] << " is not a valid group, and will be disregarded." << endl;
+ // erase the invalid group from globaldata->Groups
+ globaldata->Groups.erase(globaldata->Groups.begin()+i);
+ }
+ }
+
+ //if the user only entered invalid groups
+ if ((globaldata->Groups.size() == 0) || (globaldata->Groups.size() == 1)) {
+ cout << "When using the groups parameter you must have at least 2 valid groups. I will run the command using all the groups in your groupfile." << endl;
+ for (int i = 0; i < globaldata->gGroupmap->namesOfGroups.size(); i++) {
+ globaldata->Groups.push_back(globaldata->gGroupmap->namesOfGroups[i]);
+ }
+ }
+ }else{//user has enter "all" and wants the default groups
+ globaldata->Groups.clear();
+ for (int i = 0; i < globaldata->gGroupmap->namesOfGroups.size(); i++) {
+ globaldata->Groups.push_back(globaldata->gGroupmap->namesOfGroups[i]);
+ }
+ globaldata->setGroups("");
+ }
+ }else {
+ for (int i = 0; i < globaldata->gGroupmap->namesOfGroups.size(); i++) {
+ globaldata->Groups.push_back(globaldata->gGroupmap->namesOfGroups[i]);
+ }
+ }
+
+ }
+ catch(exception& e) {
+ cout << "Standard Error: " << e.what() << " has occurred in the SummarySharedCommand class Function setGroups. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+ exit(1);
+ }
+ catch(...) {
+ cout << "An unknown error has occurred in the SummarySharedCommand class function setGroups. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+ exit(1);
+ }
+
+}
+/***********************************************************/