From c44f9a9a4b2be6f0c287fbd58fea3b4bc0f04244 Mon Sep 17 00:00:00 2001 From: corywang Date: Fri, 13 Mar 2015 11:10:25 -0400 Subject: [PATCH] Fixed rest of currently known zoom and exon bugs --- VQI_GenomeBrowser.js | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/VQI_GenomeBrowser.js b/VQI_GenomeBrowser.js index 20d3eba..2c4fef4 100755 --- a/VQI_GenomeBrowser.js +++ b/VQI_GenomeBrowser.js @@ -293,8 +293,6 @@ function VQI_GenomeBrowser(id) { xScale.domain()[1] > panExtent[1] ? maxX : zoom.translate()[0]; - - console.log(tx); return tx; } @@ -320,20 +318,18 @@ function VQI_GenomeBrowser(id) { zoom.scale(scale); + + //translates scale with regards to the middle of xMin and xMax var divisor = (width) / ((xScale.domain()[1]-xScale.domain()[0])*scale); var diff = margin - scale* margin; var minX = -(((xScale.domain()[0]-xScale.domain()[1])*scale)+(panExtent[1]-(panExtent[1]-(width/divisor)))) + diff; var maxX = -(((xScale.domain()[0]-xScale.domain()[1]))+(panExtent[1]-panExtent[0]))*divisor*scale + diff; var midScale = d3.scale.linear() - .domain([panExtent[0], panExtent[1]]) + .domain([panExtent[0] + (xMax - xMin) / 2, panExtent[1] - (xMax - xMin) / 2]) .range([minX,maxX]); - //TODO: Need to figure out actual translation - var zoomWidth = midScale(xMin); - - /*console.log(diff); - console.log(zoomWidth);*/ + var zoomWidth = midScale((xMax + xMin)/2); zoom.translate([zoomWidth,0]) .scale(scale); @@ -490,24 +486,26 @@ function VQI_GenomeBrowser(id) { .text(name); } // test.addTrack({start:20000000, end:20000100}) - var tracks = svg.selectAll("line") - .data(thisData) + svg.selectAll("line") + .data(thisData, function (d){return d;}) .enter() .append("line"); + var tracks = svg.selectAll("line") + .data(thisData, function (d){return d;}) var lineAttributes = tracks .attr("x1", function (d) { return xScale(d[index.start]); }) .attr("y1", function (d) { - return height / 2 + margin + 20 + ySpace; + return thisY; }) .attr("x2", function (d) { return xScale(d[index.end]); }) .attr("y2", function (d) { // return 50; - return height / 2 + margin + 20 + ySpace; + return thisY; }) .style("stroke", "black") .style("stroke-width", "2px") @@ -566,7 +564,7 @@ function VQI_GenomeBrowser(id) { return name + " (" + d[indexArray.chr] + " : " + d[indexArray.start] + " - " + d[indexArray.end] + ")"; } }); - $('svg line').tipsy({ + $(tracks[0]).tipsy({ gravity: 'n', html: true, title: function () {