X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=venn.cpp;h=3c0d797b4a246246af19a664b032017745e9f546;hb=2c5f6dfaab750da109bb7bc7e51b005d135c2d77;hp=bcc475171fe7b35ee8697a5adb7a29af8033f3c5;hpb=e2373397d9316500ee0d196e60dcab75d208511a;p=mothur.git diff --git a/venn.cpp b/venn.cpp index bcc4751..3c0d797 100644 --- a/venn.cpp +++ b/venn.cpp @@ -88,17 +88,14 @@ void Venn::getPic(SharedOrderVector* sharedorder, vector vCalcs) { //in essence you want to run it like a single if (vCalcs[i]->getName() == "sharedsobs") { - delete vCalcs[i]; - vCalcs[i] = new Sobs(); + singleCalc = new Sobs(); }else if (vCalcs[i]->getName() == "sharedchao") { - delete vCalcs[i]; - vCalcs[i] = new Chao1(); + singleCalc = new Chao1(); }else if (vCalcs[i]->getName() == "sharedace") { - delete vCalcs[i]; - vCalcs[i] = new Ace(10); + singleCalc = new Ace(10); } - vector data = vCalcs[i]->getValues(sabund); + vector data = singleCalc->getValues(sabund); //svg image outsvg << "\n"; @@ -117,6 +114,8 @@ void Venn::getPic(SharedOrderVector* sharedorder, vector vCalcs) { outsvg << "\n\n"; outsvg.close(); + delete singleCalc; + } /******************* 2 Groups **************************/ @@ -139,22 +138,18 @@ void Venn::getPic(SharedOrderVector* sharedorder, vector vCalcs) { //in essence you want to run it like a single if (vCalcs[i]->getName() == "sharedsobs") { - delete vCalcs[i]; - vCalcs[i] = new Sobs(); + singleCalc = new Sobs(); }else if (vCalcs[i]->getName() == "sharedchao") { - delete vCalcs[i]; - vCalcs[i] = new Chao1(); + singleCalc = new Chao1(); }else if (vCalcs[i]->getName() == "sharedace") { - delete vCalcs[i]; - vCalcs[i] = new Ace(10); + singleCalc = new Ace(10); } //get estimates for numA - vector numA = vCalcs[i]->getValues(sabundA); + vector numA = singleCalc->getValues(sabundA); //get estimates for numB - vector numB = vCalcs[i]->getValues(sabundB); - cout << numA[0] << '\t' << numB[0] << '\t' << shared[0] << endl; + vector numB = singleCalc->getValues(sabundB); //image window outsvg << "\n"; @@ -189,6 +184,7 @@ void Venn::getPic(SharedOrderVector* sharedorder, vector vCalcs) { outsvg.close(); delete sabundA; delete sabundB; + delete singleCalc; } /******************* 3 Groups **************************/ @@ -237,28 +233,25 @@ void Venn::getPic(SharedOrderVector* sharedorder, vector vCalcs) { } vector sharedCwithAB = vCalcs[i]->getValues(lookup[2], merge); - + delete merge; //in essence you want to run it like a single if (vCalcs[i]->getName() == "sharedsobs") { - delete vCalcs[i]; - vCalcs[i] = new Sobs(); + singleCalc = new Sobs(); }else if (vCalcs[i]->getName() == "sharedchao") { - delete vCalcs[i]; - vCalcs[i] = new Chao1(); + singleCalc = new Chao1(); }else if (vCalcs[i]->getName() == "sharedace") { - delete vCalcs[i]; - vCalcs[i] = new Ace(10); + singleCalc = new Ace(10); } //get estimates for numA - vector numA = vCalcs[i]->getValues(sabundA); + vector numA = singleCalc->getValues(sabundA); //get estimates for numB - vector numB = vCalcs[i]->getValues(sabundB); + vector numB = singleCalc->getValues(sabundB); //get estimates for numC - vector numC = vCalcs[i]->getValues(sabundC); + vector numC = singleCalc->getValues(sabundC); //find possible sharedABC values float sharedABC1, sharedABC2, sharedABC3, sharedABC; @@ -287,7 +280,9 @@ void Venn::getPic(SharedOrderVector* sharedorder, vector vCalcs) { outsvg << ""; outsvg << ""; outsvg << ""; - +//cout << "numA = " << numA[0] << " numB = " << numB[0] << " numC = " << numC[0] << endl; +//cout << "sharedAB = " << sharedAB[0] << " sharedAC = " << sharedAC[0] << " sharedBC = " << sharedBC[0] << endl; +//cout << "sharedAwithBC = " << sharedAwithBC[0] << " sharedBwithAC = " << sharedBwithAC[0] << " sharedCwithAB = " << sharedCwithAB[0] << endl; //place labels within overlaps outsvg << "" + toString(numA[0]-sharedAwithBC[0]) + "\n"; outsvg << "getGroup().length() / 2)) + "\" y=\"150\">" + lookup[0]->getGroup() + "\n"; @@ -326,6 +321,7 @@ void Venn::getPic(SharedOrderVector* sharedorder, vector vCalcs) { //close file outsvg << "\n\n"; outsvg.close(); + delete singleCalc; } /******************* 4 Groups **************************/