maximilianh/cellBrowser

Single datasets direct entry into viewer (skip selection) for usage in Galaxy

Closed this issue · 5 comments

pcm32 commented

In the UCSC CellBrowser tool for Galaxy the idea is that the user has only a single dataset to see. Currently, since Galaxy 20.01 or 19.09, something in the Galaxy javascript seems to break the view of the selection part (useful when you have multiple datasets). @maximilianh mentioned that he could add an option so that if a single dataset was available to CellBrowser, it would take you directly to it. Could we have this feature?

Many thanks!

pcm32 commented

I have sorted this out with a redirect on our Galaxy side.

pcm32 commented

I think that the current solution I'm using:

<!DOCTYPE HTML>
<html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="refresh" content="0; url=index.html?ds=sample">
        <script type="text/javascript">
            window.location.href = "index.html?ds=sample"
        </script>
        <title>Page Redirection</title>
    </head>
    <body>
        <!-- Note: don't tell people to `click` the link, just tell them that it is a link. -->
        If you are not redirected automatically, follow this <a href='index.html?ds=sample'>link to example</a>.
    </body>
</html>

is not working entirely well as it take some minutes for the interface to be able to respond to layout changes. Maybe because I'm jumping directly there this might be skipping some preprocessing that the user needs to wait for? Any suggestions on how to improve this @maximilianh ?

pcm32 commented

The UI only becomes responsive after all these has happened:

Loading cart from local storage:  Object
cellBrowser.js?01ccf2da80:2345 Color by meta field CellType
cellBrowser.js?01ccf2da80:1645 Saving state:  Object
maxPlot.js?7e6b2f6100:1250 Zoom factor:  1 , Radius: 3, alpha: 0.515
maxPlot.js?7e6b2f6100:630 scale: 2.97998046875ms
maxPlot.js?7e6b2f6100:850 Drawing 8397 coords with drawImg renderer, radius=3
maxPlot.js?7e6b2f6100:923 8397 circles drawn
maxPlot.js?7e6b2f6100:1301 draw: 40.89892578125ms
maxPlot.js?7e6b2f6100:811 labels: 3.510009765625ms
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
maxPlot.js?7e6b2f6100:1250 Zoom factor:  1 , Radius: 3, alpha: 0.515
maxPlot.js?7e6b2f6100:630 scale: 3.125ms
maxPlot.js?7e6b2f6100:850 Drawing 8397 coords with drawImg renderer, radius=3
maxPlot.js?7e6b2f6100:923 8397 circles drawn
maxPlot.js?7e6b2f6100:1301 draw: 21.791748046875ms
maxPlot.js?7e6b2f6100:811 labels: 0.422119140625ms
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
clearMetaAndGene @ cellBrowser.js?01ccf2da80:5586
onCellClickOrHover @ cellBrowser.js?01ccf2da80:5660
MaxPlot.onNoMouseMove @ maxPlot.js?7e6b2f6100:1852
setTimeout (async)
MaxPlot.onMouseMove @ maxPlot.js?7e6b2f6100:1797
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
onCellClickOrHover @ cellBrowser.js?01ccf2da80:5668
MaxPlot.onNoMouseMove @ maxPlot.js?7e6b2f6100:1852
setTimeout (async)
MaxPlot.onMouseMove @ maxPlot.js?7e6b2f6100:1797
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
clearMetaAndGene @ cellBrowser.js?01ccf2da80:5586
onCellClickOrHover @ cellBrowser.js?01ccf2da80:5660
MaxPlot.onNoMouseMove @ maxPlot.js?7e6b2f6100:1852
setTimeout (async)
MaxPlot.onMouseMove @ maxPlot.js?7e6b2f6100:1797
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
onCellClickOrHover @ cellBrowser.js?01ccf2da80:5668
MaxPlot.onNoMouseMove @ maxPlot.js?7e6b2f6100:1852
setTimeout (async)
MaxPlot.onMouseMove @ maxPlot.js?7e6b2f6100:1797
cellBrowser.js?01ccf2da80:5439 APOC3 is not loaded yet, not updating expr table colors
cbData.js?869310bf20:138 Webserver does not support byte range requests, working around it, but this may be slow
cbData.js?869310bf20:896 Got expression data, size = 6649 bytes
cbData.js?869310bf20:637 discretize DNASE1L3: 3.57568359375ms
cbData.js?869310bf20:138 Webserver does not support byte range requests, working around it, but this may be slow
cbData.js?869310bf20:896 Got expression data, size = 27346 bytes
cbData.js?869310bf20:637 discretize APOC3: 11.9580078125ms
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
clearMetaAndGene @ cellBrowser.js?01ccf2da80:5586
onCellClickOrHover @ cellBrowser.js?01ccf2da80:5660
MaxPlot.onNoMouseMove @ maxPlot.js?7e6b2f6100:1852
setTimeout (async)
MaxPlot.onMouseMove @ maxPlot.js?7e6b2f6100:1797
cellBrowser.js?01ccf2da80:5439 IGFBP7 is not loaded yet, not updating expr table colors
cellBrowser.js?01ccf2da80:5433 Timer 'avgCalc' already exists
updateGeneTableColors @ cellBrowser.js?01ccf2da80:5433
onCellClickOrHover @ cellBrowser.js?01ccf2da80:5668
MaxPlot.onNoMouseMove @ maxPlot.js?7e6b2f6100:1852
setTimeout (async)
MaxPlot.onMouseMove @ maxPlot.js?7e6b2f6100:1797
cellBrowser.js?01ccf2da80:5439 IGFBP7 is not loaded yet, not updating expr table colors
cbData.js?869310bf20:138 Webserver does not support byte range requests, working around it, but this may be slow

I realise that I get these messages: Webserver does not support byte range requests but I have set proxy_force_ranges on; in nginx with no effect. Anything else I should set on nginx? Thanks!

After several months of waiting, I've finally made this change: if there is a single dataset and we're currently at the root dataset in the tree, then load this first and only dataset directly and don't open a dialog box. Sorry for the long wait!

Also, there is a new URL argument, &openDialog=1 that you can use to force opening the info dialog, though it's not directly related to your question.