2 * collectsharedcommand.cpp
5 * Created by Sarah Westcott on 1/2/09.
6 * Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
10 #include "collectsharedcommand.h"
11 #include "sharedsobscollectsummary.h"
12 #include "sharedchao1.h"
13 #include "sharedace.h"
14 #include "sharedjabund.h"
15 #include "sharedsorabund.h"
16 #include "sharedjclass.h"
17 #include "sharedsorclass.h"
18 #include "sharedjest.h"
19 #include "sharedsorest.h"
20 #include "sharedthetayc.h"
21 #include "sharedthetan.h"
24 //**********************************************************************************************************************
26 CollectSharedCommand::CollectSharedCommand(){
28 globaldata = GlobalData::getInstance();
30 fileNameRoot = getRootName(globaldata->inputFileName);
31 //groupmap = globaldata->gGroupmap;
34 for (i=0; i<globaldata->sharedEstimators.size(); i++) {
35 if (globaldata->sharedEstimators[i] == "sharedChao") {
36 cDisplays.push_back(new CollectDisplay(new SharedChao1(), new SharedOneColumnFile(fileNameRoot+"shared.chao")));
37 }else if (globaldata->sharedEstimators[i] == "sharedSobs") {
38 cDisplays.push_back(new CollectDisplay(new SharedSobsCS(), new SharedOneColumnFile(fileNameRoot+"shared.sobs")));
39 }else if (globaldata->sharedEstimators[i] == "sharedAce") {
40 cDisplays.push_back(new CollectDisplay(new SharedAce(), new SharedOneColumnFile(fileNameRoot+"shared.ace")));
41 }else if (globaldata->sharedEstimators[i] == "sharedJabund") {
42 cDisplays.push_back(new CollectDisplay(new SharedJAbund(), new SharedOneColumnFile(fileNameRoot+"shared.jabund")));
43 }else if (globaldata->sharedEstimators[i] == "sharedSorensonAbund") {
44 cDisplays.push_back(new CollectDisplay(new SharedSorAbund(), new SharedOneColumnFile(fileNameRoot+"shared.sorabund")));
45 }else if (globaldata->sharedEstimators[i] == "sharedJclass") {
46 cDisplays.push_back(new CollectDisplay(new SharedJclass(), new SharedOneColumnFile(fileNameRoot+"shared.jclass")));
47 }else if (globaldata->sharedEstimators[i] == "sharedSorClass") {
48 cDisplays.push_back(new CollectDisplay(new SharedSorClass(), new SharedOneColumnFile(fileNameRoot+"shared.sorclass")));
49 }else if (globaldata->sharedEstimators[i] == "sharedJest") {
50 cDisplays.push_back(new CollectDisplay(new SharedJest(), new SharedOneColumnFile(fileNameRoot+"shared.jest")));
51 }else if (globaldata->sharedEstimators[i] == "sharedSorEst") {
52 cDisplays.push_back(new CollectDisplay(new SharedSorEst(), new SharedOneColumnFile(fileNameRoot+"shared.sorest")));
53 }else if (globaldata->sharedEstimators[i] == "SharedThetaYC") {
54 cDisplays.push_back(new CollectDisplay(new SharedThetaYC(), new SharedOneColumnFile(fileNameRoot+"shared.thetayc")));
55 }else if (globaldata->sharedEstimators[i] == "SharedThetaN") {
56 cDisplays.push_back(new CollectDisplay(new SharedThetaN(), new SharedOneColumnFile(fileNameRoot+"shared.thetan")));
61 cout << "Standard Error: " << e.what() << " has occurred in the CollectSharedCommand class Function CollectSharedCommand. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
65 cout << "An unknown error has occurred in the CollectSharedCommand class function CollectSharedCommand. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
71 //**********************************************************************************************************************
73 CollectSharedCommand::~CollectSharedCommand(){
80 //**********************************************************************************************************************
82 int CollectSharedCommand::execute(){
85 read = new ReadPhilFile(globaldata->inputFileName);
86 read->read(&*globaldata);
88 input = globaldata->ginput;
89 SharedList = globaldata->gSharedList;
90 order = SharedList->getSharedOrderVector();
94 if(globaldata->allLines == 1 || globaldata->lines.count(count) == 1 || globaldata->labels.count(order->getLabel()) == 1){
95 //create collectors curve
96 cCurve = new Collect(order, cDisplays);
97 convert(globaldata->getFreq(), freq);
98 cCurve->getSharedCurve(freq);
102 cout << order->getLabel() << '\t' << count << endl;
105 SharedList = input->getSharedListVector(); //get new list vector to process
106 if (SharedList != NULL) {
107 order = SharedList->getSharedOrderVector(); //gets new order vector with group info.
115 for(int i=0;i<cDisplays.size();i++){ delete cDisplays[i]; }
118 catch(exception& e) {
119 cout << "Standard Error: " << e.what() << " has occurred in the CollectSharedCommand class Function execute. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
123 cout << "An unknown error has occurred in the CollectSharedCommand class function execute. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
129 //**********************************************************************************************************************