+ if (command == "read.dist") {
+ //is it valid
+ if ((readdist.find(parameter)) != (readdist.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = readdist.begin(); it != readdist.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }
+ }else if (command == "read.otu") {
+ //is it valid
+ if ((readotu.find(parameter)) != (readotu.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = readotu.begin(); it != readotu.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }
+ //are you looking for a calculator for a rarefaction parameter
+ }else if (command == "read.tree") {
+ //is it valid
+ if ((readtree.find(parameter)) != (readtree.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = readtree.begin(); it != readtree.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }
+ //are you looking for a calculator for a summary parameter
+ }else if (command == "cluster") {
+ //is it valid
+ if ((cluster.find(parameter)) != (cluster.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = cluster.begin(); it != cluster.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; } //are you looking for a calculator for a sharedsummary parameter
+ }else if (command == "deconvolute") {
+ //is it valid
+ if ((deconvolute.find(parameter)) != (deconvolute.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = deconvolute.begin(); it != deconvolute.end(); it++) {
+ cout << it->first;
+ }
+ cout << endl;
+ return false; }
+ }else if (command == "parsimony") {
+ //is it valid
+ if ((parsimony.find(parameter)) != (parsimony.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = parsimony.begin(); it != parsimony.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }
+ }else if (command == "collect.single") {
+ //is it valid
+ if ((collectsingle.find(parameter)) != (collectsingle.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = collectsingle.begin(); it != collectsingle.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }
+ }else if (command == "collect.shared") {
+ //is it valid
+ if ((collectshared.find(parameter)) != (collectshared.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = collectshared.begin(); it != collectshared.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }
+ }else if (command == "rarefaction.single") {
+ //is it valid
+ if ((rarefactsingle.find(parameter)) != (rarefactsingle.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = rarefactsingle.begin(); it != rarefactsingle.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }
+ }else if (command == "rarefaction.shared") {
+ //is it valid
+ if ((rarefactshared.find(parameter)) != (rarefactshared.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = rarefactshared.begin(); it != rarefactshared.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }
+ }else if (command == "summary.single") {
+ //is it valid
+ if ((summarysingle.find(parameter)) != (summarysingle.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = summarysingle.begin(); it != summarysingle.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }
+ }else if (command == "summary.shared") {
+ //is it valid
+ if ((summaryshared.find(parameter)) != (summaryshared.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = summaryshared.begin(); it != summaryshared.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }
+ }else if (command == "unifrac.weighted") {
+ //is it valid
+ if ((unifracweighted.find(parameter)) != (unifracweighted.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = unifracweighted.begin(); it != unifracweighted.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }
+ }else if (command == "unifrac.unweighted") {
+ //is it valid
+ if ((unifracunweighted.find(parameter)) != (unifracunweighted.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = unifracunweighted.begin(); it != unifracunweighted.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }
+ }else if (command == "libshuff") {
+ //is it valid
+ if ((libshuff.find(parameter)) != (libshuff.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = libshuff.begin(); it != libshuff.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }
+ }else if (command == "heatmap") {
+ //is it valid
+ if ((heatmap.find(parameter)) != (heatmap.end())) {
+ return true;
+ }else {
+ cout << parameter << " is not a valid parameter for the " + command + " command. Valid parameters are ";
+ for (it = heatmap.begin(); it != heatmap.end(); it++) {
+ cout << it->first << ", ";
+ }
+ cout << endl;
+ return false; }