- if(globaldata->Estimators[i] == "sobs"){
- sumCalculators.push_back(new Sobs());
- }else if(globaldata->Estimators[i] == "chao"){
- sumCalculators.push_back(new Chao1());
- }else if(globaldata->Estimators[i] == "geom"){
- sumCalculators.push_back(new Geom());
- }else if(globaldata->Estimators[i] == "logsd"){
- sumCalculators.push_back(new LogSD());
- }else if(globaldata->Estimators[i] == "qstat"){
- sumCalculators.push_back(new QStat());
- }else if(globaldata->Estimators[i] == "bergerparker"){
- sumCalculators.push_back(new BergerParker());
- }else if(globaldata->Estimators[i] == "bstick"){
- sumCalculators.push_back(new BStick());
- }else if(globaldata->Estimators[i] == "ace"){
- convert(globaldata->getAbund(), abund);
- if(abund < 5)
- abund = 10;
- sumCalculators.push_back(new Ace(abund));
- }else if(globaldata->Estimators[i] == "jack"){
- sumCalculators.push_back(new Jackknife());
- }else if(globaldata->Estimators[i] == "shannon"){
- sumCalculators.push_back(new Shannon());
- }else if(globaldata->Estimators[i] == "npshannon"){
- sumCalculators.push_back(new NPShannon());
- }else if(globaldata->Estimators[i] == "simpson"){
- sumCalculators.push_back(new Simpson());
- }else if(globaldata->Estimators[i] == "bootstrap"){
- sumCalculators.push_back(new Bootstrap());
- }else if (globaldata->Estimators[i] == "nseqs") {
- sumCalculators.push_back(new NSeqs());
+ //if the user has not specified any labels use the ones from read.otu
+ if(label == "") {
+ allLines = globaldata->allLines;
+ labels = globaldata->labels;
+ }
+
+ calc = validParameter.validFile(parameters, "calc", false);
+ if (calc == "not found") { calc = "sobs-chao-ace-jack-shannon-npshannon-simpson"; }
+ else {
+ if (calc == "default") { calc = "sobs-chao-ace-jack-shannon-npshannon-simpson"; }
+ }
+ splitAtDash(calc, Estimators);
+
+ string temp;
+ temp = validParameter.validFile(parameters, "abund", false); if (temp == "not found") { temp = "10"; }
+ convert(temp, abund);
+
+ temp = validParameter.validFile(parameters, "size", false); if (temp == "not found") { temp = "0"; }
+ convert(temp, size);
+
+ if (abort == false) {
+
+ validCalculator = new ValidCalculators();
+ int i;
+
+ for (i=0; i<Estimators.size(); i++) {
+ if (validCalculator->isValidCalculator("summary", Estimators[i]) == true) {
+ if(Estimators[i] == "sobs"){
+ sumCalculators.push_back(new Sobs());
+ }else if(Estimators[i] == "chao"){
+ sumCalculators.push_back(new Chao1());
+ }else if(Estimators[i] == "coverage"){
+ sumCalculators.push_back(new Coverage());
+ }else if(Estimators[i] == "geometric"){
+ sumCalculators.push_back(new Geom());
+ }else if(Estimators[i] == "logseries"){
+ sumCalculators.push_back(new LogSD());
+ }else if(Estimators[i] == "qstat"){
+ sumCalculators.push_back(new QStat());
+ }else if(Estimators[i] == "bergerparker"){
+ sumCalculators.push_back(new BergerParker());
+ }else if(Estimators[i] == "bstick"){
+ sumCalculators.push_back(new BStick());
+ }else if(Estimators[i] == "ace"){
+ if(abund < 5)
+ abund = 10;
+ sumCalculators.push_back(new Ace(abund));
+ }else if(Estimators[i] == "jack"){
+ sumCalculators.push_back(new Jackknife());
+ }else if(Estimators[i] == "shannon"){
+ sumCalculators.push_back(new Shannon());
+ }else if(Estimators[i] == "npshannon"){
+ sumCalculators.push_back(new NPShannon());
+ }else if(Estimators[i] == "simpson"){
+ sumCalculators.push_back(new Simpson());
+ }else if(Estimators[i] == "bootstrap"){
+ sumCalculators.push_back(new Bootstrap());
+ }else if (Estimators[i] == "nseqs") {
+ sumCalculators.push_back(new NSeqs());
+ }else if (Estimators[i] == "goodscoverage") {
+ sumCalculators.push_back(new GoodsCoverage());
+ }else if (Estimators[i] == "efron") {
+ sumCalculators.push_back(new Efron(size));
+ }else if (Estimators[i] == "boneh") {
+ sumCalculators.push_back(new Boneh(size));
+ }else if (Estimators[i] == "solow") {
+ sumCalculators.push_back(new Solow(size));
+ }else if (Estimators[i] == "shen") {
+ sumCalculators.push_back(new Shen(size, abund));
+ }
+ }