MD-Anderson-Bioinformatics / NG-CHM

A dynamic, graphical environment for exploration of clustered or non-clustered heat map data in a web browser.
https://bioinformatics.mdanderson.org/main/NG-CHM-V2:Overview
GNU General Public License v2.0
10 stars 9 forks source link

Map zooming can break map display when zooming using dendrogram selected area. #477

Closed jmelott closed 1 year ago

jmelott commented 1 year ago

Open developer console. Open attached map in viewer. matrix_11_2000_2000_samples_samples47.ngchm.zip

In Summary select bottom-most large dendrogram section in row dendrogram area.

Zoom out with mouse wheel to maximum zoom level and map display will crash.

Error will appear in console: MatrixManager.js:287 Constructing TileWindow with out-of-range tiles {layer: 'dl1', level: 's', startRowTile: 0, endRowTile: 2, startColTile: 0, …} HeatMapLevel {tileCache: TileCache, level: 's', totalRows: 859, totalColumns: 999, numTileRows: 2, …} TileWindow @ MatrixManager.js:287 HeatMap.getNewTileWindow @ MatrixManager.js:1469 (anonymous) @ MatrixManager.js:1483 getTileAccessWindow @ MatrixManager.js:1820 HeatMap.getTileWindow @ MatrixManager.js:1482 AccessWindow @ MatrixManager.js:667 HeatMap.getNewAccessWindow @ MatrixManager.js:1498 getDetailWindow @ DetailHeatMapViews.js:146 DET.setDrawDetailTimeout @ DetailHeatMapDisplay.js:105 updateSelection @ DetailHeatMapManager.js:133 DET.detailFullMap @ DetailHeatMapDisplay.js:696 DEV.detailDataZoomOut @ DetailHeatMapEvent.js:966 DEV.handleScroll @ DetailHeatMapEvent.js:439

Followed by multiple errors of this type. MatrixManager.js:2189 Request for unknown zip tile: matrix_11_2000_2000_samples_samples/dl1/s/s.0.0

bmbroom commented 1 year ago

I don't get the unknown zip tile messages, but I get lots of other display artifacts in the detail view when zooming out to the full map.

bmbroom commented 1 year ago

Now I get the unknown zip tile messages. I think they're a symptom of the broader breakage.

bmbroom commented 1 year ago

Commit 0567aca prevents the zoom out to FULL_MAP.

This was the case for 'small' restricted ribbon selections and I think intentional. (It differs from the behavior in the current release, which permits zoom out to FULL_MAP for both 'small' and 'large' restricted (subdendro) ribbon selections. It's very annoying since you lose the restriction and can't get it back.)

This commit makes 'large' restricted ribbon selections behave like 'small' restricted ribbon selections did.

The system distinguishes 'small' ribbon selections (< 500 elements) from 'large' ones (>= 500 elements) for display purposes. Clearly from the user's perspective, they should behave very similarly.

When I changed keyboard navigation before, I mistook small ribbon selections for restricted ribbon selections.

jmelott commented 1 year ago

I first clicked the really large dendrogram on the left side of the summary map. Zooming all the way out and back in a few times in the detail map did not cause an error. I then click on the a smaller dendrogram area blow that and the detail viewer started displaying things incorrectly and there were multiple errors in the console. image

Errors: DetailHeatMapDisplay.js:2363 Negative padding in drawScatterBarPlotColClassBar -494 506 999 1 D