X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=heatmapsim.cpp;h=62965f9a3291d0052b6c216b6a800d6c97072f46;hb=3914b0d6480f67df53b1e838f51c4e6155710434;hp=9a1255037c4312291238b613d39929c7b50549b5;hpb=74844a60d80c6dd06e3fb02ee9b928424f9019b0;p=mothur.git diff --git a/heatmapsim.cpp b/heatmapsim.cpp index 9a12550..62965f9 100644 --- a/heatmapsim.cpp +++ b/heatmapsim.cpp @@ -20,8 +20,7 @@ #include "sharedbraycurtis.h" //********************************************************************************************************************** -HeatMapSim::HeatMapSim(string dir) : outputDir(dir) { - globaldata = GlobalData::getInstance(); +HeatMapSim::HeatMapSim(string dir, string i, int f) : outputDir(dir), inputfile(i), fontSize(f) { m = MothurOut::getInstance(); } //********************************************************************************************************************** @@ -32,10 +31,12 @@ vector HeatMapSim::getPic(vector lookup, vector outputNames; //make file for each calculator selected - for (int m = 0; m < calcs.size(); m++) { - - string filenamesvg = outputDir + getRootName(getSimpleName(globaldata->inputFileName)) + lookup[0]->getLabel() + calcs[m]->getName() + ".heatmap.sim.svg"; - openOutputFile(filenamesvg, outsvg); + for (int k = 0; k < calcs.size(); k++) { + + if (m->control_pressed) { return outputNames; } + + string filenamesvg = outputDir + m->getRootName(m->getSimpleName(inputfile)) + lookup[0]->getLabel() + "." + calcs[k]->getName() + ".heatmap.sim.svg"; + m->openOutputFile(filenamesvg, outsvg); outputNames.push_back(filenamesvg); //svg image @@ -44,12 +45,12 @@ vector HeatMapSim::getPic(vector lookup, vector"; - outsvg << "Heatmap at distance " + lookup[0]->getLabel() + "\n"; + outsvg << "Heatmap at distance " + lookup[0]->getLabel() + "\n"; //column labels for (int h = 0; h < lookup.size(); h++) { - outsvg << "getGroup().length() / 2)) + "\" y=\"50\">" + lookup[h]->getGroup() + "\n"; - outsvg << "getGroup().length() / 2)) + "\" x=\"50\">" + lookup[h]->getGroup() + "\n"; + outsvg << "getGroup().length() / 2)) + "\" y=\"50\">" + lookup[h]->getGroup() + "\n"; + outsvg << "getGroup().length() / 2)) + "\" x=\"50\">" + lookup[h]->getGroup() + "\n"; } sims.clear(); @@ -60,13 +61,15 @@ vector HeatMapSim::getPic(vector lookup, vectorcontrol_pressed) { outsvg.close(); return outputNames; } + vector subset; subset.push_back(lookup[i]); subset.push_back(lookup[j]); //get similairity between groups - data = calcs[m]->getValues(subset); - sims.push_back(data[0]); + data = calcs[k]->getValues(subset); + sims.push_back(1.0 - data[0]); //save biggest similairity to set relative sim // if (data[0] > biggest) { biggest = data[0]; } @@ -110,8 +113,8 @@ string HeatMapSim::getPic(vector< vector > dists, vector groups) vector sims; - string filenamesvg = outputDir + getRootName(getSimpleName(globaldata->inputFileName)) + "heatmap.sim.svg"; - openOutputFile(filenamesvg, outsvg); + string filenamesvg = outputDir + m->getRootName(m->getSimpleName(inputfile)) + "heatmap.sim.svg"; + m->openOutputFile(filenamesvg, outsvg); //svg image outsvg << "\n"; @@ -119,12 +122,12 @@ string HeatMapSim::getPic(vector< vector > dists, vector groups) //white backround outsvg << ""; - outsvg << "Heatmap for " + globaldata->inputFileName + "\n"; + outsvg << "Heatmap for " + inputfile + "\n"; //column labels for (int h = 0; h < groups.size(); h++) { - outsvg << "" + groups[h] + "\n"; - outsvg << "" + groups[h] + "\n"; + outsvg << "" + groups[h] + "\n"; + outsvg << "" + groups[h] + "\n"; } double biggest = -1; @@ -133,6 +136,8 @@ string HeatMapSim::getPic(vector< vector > dists, vector groups) //get sim for each comparison and save them so you can find the relative similairity for(int i = 0; i < (dists.size()-1); i++){ for(int j = (i+1); j < dists.size(); j++){ + + if (m->control_pressed) { outsvg.close(); return filenamesvg; } float sim = 1.0 - dists[i][j]; sims.push_back(sim); @@ -201,7 +206,7 @@ void HeatMapSim::printLegend(int y, float maxSim) { label /= 1000.0; string text = toString(label, 1); - outsvg << "" + text + "\n"; + outsvg << "" + text + "\n"; x += 153; } }