GMOD / jbrowse

JBrowse 1, a full-featured genome browser built with JavaScript and HTML5. For JBrowse 2, see https://github.com/GMOD/jbrowse-components.
http://jbrowse.org
Other
460 stars 199 forks source link

keep zoom level when switching #829

Open sdavey opened 7 years ago

sdavey commented 7 years ago

we would like to be able to switch chromosomes (refseqs) without changing the zoom level. Is there an option already to do this? If not, can one please be added?

enuggetry commented 7 years ago

Unfortunately, not that I'm aware of. It seems there are some inherent functional properties of the implementation that suggests there may be a number of corner cases to deal with.

Noted.

nathandunn commented 7 years ago

For Apollo, the plugin over-rides the onResize function to deal with this. I can point you to that code if you want to write your own plugin.

sdavey commented 7 years ago

thanks for the suggestion. I found the code at https://github.com/GMOD/Apollo and will take a look.

Sean Davey Dept. of Cellular and Molecular Medicine University of Arizona sdavey@email.arizona.edumailto:sdavey@email.arizona.edu

On Nov 15, 2016, at 4:45 PM, Nathan Dunn notifications@github.com<mailto:notifications@github.com> wrote:

For Apollo, the plugin over-rides the onResize function to deal with this. I can point you to that code if you want to write your own plugin.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/GMOD/jbrowse/issues/829#issuecomment-260807396, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALOspjuWPoCFz0z4iQQ9VWz9s3wg7x-oks5q-kQcgaJpZM4Kt_9a.

nathandunn commented 7 years ago

You can try here:

https://github.com/GMOD/Apollo/blob/master/client/apollo/js/main.js#L219 https://github.com/GMOD/Apollo/blob/master/client/apollo/js/main.js#L219

Though there might be better ways to do this, as well.

Nathan

On Nov 15, 2016, at 3:49 PM, sdavey notifications@github.com wrote:

thanks for the suggestion. I found the code at https://github.com/GMOD/Apollo and will take a look.

Sean Davey Dept. of Cellular and Molecular Medicine University of Arizona sdavey@email.arizona.edumailto:sdavey@email.arizona.edu

On Nov 15, 2016, at 4:45 PM, Nathan Dunn notifications@github.com<mailto:notifications@github.com> wrote:

For Apollo, the plugin over-rides the onResize function to deal with this. I can point you to that code if you want to write your own plugin.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/GMOD/jbrowse/issues/829#issuecomment-260807396, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALOspjuWPoCFz0z4iQQ9VWz9s3wg7x-oks5q-kQcgaJpZM4Kt_9a.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GMOD/jbrowse/issues/829#issuecomment-260808082, or mute the thread https://github.com/notifications/unsubscribe-auth/AAt2qqwqGLTquuWNzId_2C_986yQXt9wks5q-kTygaJpZM4Kt_9a.

sdavey commented 7 years ago

looks great. thanks again.

Sean Davey Dept. of Cellular and Molecular Medicine University of Arizona sdavey@email.arizona.edumailto:sdavey@email.arizona.edu

On Nov 15, 2016, at 4:51 PM, Nathan Dunn notifications@github.com<mailto:notifications@github.com> wrote:

You can try here:

https://github.com/GMOD/Apollo/blob/master/client/apollo/js/main.js#L219 https://github.com/GMOD/Apollo/blob/master/client/apollo/js/main.js#L219

Though there might be better ways to do this, as well.

Nathan

On Nov 15, 2016, at 3:49 PM, sdavey notifications@github.com<mailto:notifications@github.com> wrote:

thanks for the suggestion. I found the code at https://github.com/GMOD/Apollo and will take a look.

Sean Davey Dept. of Cellular and Molecular Medicine University of Arizona sdavey@email.arizona.edumailto:sdavey@email.arizona.edumailto:sdavey@email.arizona.edu

On Nov 15, 2016, at 4:45 PM, Nathan Dunn notifications@github.com<mailto:notifications@github.commailto:notifications@github.com> wrote:

For Apollo, the plugin over-rides the onResize function to deal with this. I can point you to that code if you want to write your own plugin.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/GMOD/jbrowse/issues/829#issuecomment-260807396, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALOspjuWPoCFz0z4iQQ9VWz9s3wg7x-oks5q-kQcgaJpZM4Kt_9a.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GMOD/jbrowse/issues/829#issuecomment-260808082, or mute the thread https://github.com/notifications/unsubscribe-auth/AAt2qqwqGLTquuWNzId_2C_986yQXt9wks5q-kTygaJpZM4Kt_9a.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/GMOD/jbrowse/issues/829#issuecomment-260808494, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALOspvXV8dL4DaKTNl-bR6AT75aRtSO7ks5q-kV0gaJpZM4Kt_9a.

nathandunn commented 7 years ago

Also, I had a problem with some customizations I was making and had to add this after that code. Again, not sure if it was the best way, but it worked:

    browser.afterMilestone( 'completely initialized', function() {
        var view  = browser.view ;
        var projectionString = view.ref.name ;
        var projectionLength = window.parent.getProjectionLength(projectionString);
        var ratio = view.elem.clientWidth  / projectionLength  ;

        browser.view.pxPerBp = ratio ;
        browser.view.onResize();
    });
rbuels commented 6 years ago

This is an interesting one, because I can see how some users might want this behavior, but others might not. This sounds like a good idea for a plugin.