[Gmod-ajax] Plugin to modify the trackList

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[Gmod-ajax] Plugin to modify the trackList

Scott Cain
Hi All,

Is it possible to write a plugin that would modify the trackList?  I ask because the C. elegans browser at WormBase has 1300 tracks (!) and attempting to open it in Firefox kills it on my laptop, Safari takes 4 minutes and Chrome takes 1.5 minutes.  Most of those tracks come from modENCODE, and suspect most users don't care about the data.  As a way to make life easier for most users, I'd like to create a button to add the modENCODE tracks on request rather than loading them at start up.  Sounds like a great idea; can it be done?

Thanks,
Scott


--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     216-392-3087
Ontario Institute for Cancer Research

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Plugin to modify the trackList

nathandunn

One approach would be to intercept the trackList.conf using a tool like node.js, a simple python server, etc. to do the rewrite.  So, you could have a passthrough unless you see a “show” modEncode flag in which case you load the entire thing.

Maybe an easier way would be to create another TrackList type, by extending the SimpleTrackSelector . . . you might be able to asynchronously load tracks from there.

Unfortunately, my intuition of what you want to change is base-functionality . . in Browser::createTrackList.  I’m not sure how easy that is to subclass with a plugin.  In theory this method is asynchronous, but you should see what method is pegging your browser.  I think most of the browsers should give you that information.    

Nathan Dunn, PhD
Berkeley Bioinformatics Open-source Projects (BBOP)
Genomics Division, Lawrence Berkeley National Laboratory
[hidden email]


On Apr 12, 2016, at 4:47 PM, Scott Cain <[hidden email]> wrote:

Hi All,

Is it possible to write a plugin that would modify the trackList?  I ask because the C. elegans browser at WormBase has 1300 tracks (!) and attempting to open it in Firefox kills it on my laptop, Safari takes 4 minutes and Chrome takes 1.5 minutes.  Most of those tracks come from modENCODE, and suspect most users don't care about the data.  As a way to make life easier for most users, I'd like to create a button to add the modENCODE tracks on request rather than loading them at start up.  Sounds like a great idea; can it be done?

Thanks,
Scott


--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     216-392-3087
Ontario Institute for Cancer Research
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Plugin to modify the trackList

Colin
The main thing that probably causes slowness is having too much track metadata. The track metadata is indexed for the track selectors, but it will use a hashing algorithm on the client side which makes it slow


Associated screenshot (showing hashing with crc32 on track metadata) http://gmod.827538.n3.nabble.com/attachment/4051666/0/t1.png

I think the easiest workaround would be cutting down on track metadata or using a different track metadata store. Nevertheless, having a plugin to modify the track list or to create track hubs is also interesting, and I think is being worked on via the faye server and related things.

-Colin

On Wed, Apr 13, 2016 at 10:40 AM, Nathan Dunn <[hidden email]> wrote:

One approach would be to intercept the trackList.conf using a tool like node.js, a simple python server, etc. to do the rewrite.  So, you could have a passthrough unless you see a “show” modEncode flag in which case you load the entire thing.

Maybe an easier way would be to create another TrackList type, by extending the SimpleTrackSelector . . . you might be able to asynchronously load tracks from there.

Unfortunately, my intuition of what you want to change is base-functionality . . in Browser::createTrackList.  I’m not sure how easy that is to subclass with a plugin.  In theory this method is asynchronous, but you should see what method is pegging your browser.  I think most of the browsers should give you that information.    

Nathan Dunn, PhD
Berkeley Bioinformatics Open-source Projects (BBOP)
Genomics Division, Lawrence Berkeley National Laboratory
[hidden email]


On Apr 12, 2016, at 4:47 PM, Scott Cain <[hidden email]> wrote:

Hi All,

Is it possible to write a plugin that would modify the trackList?  I ask because the C. elegans browser at WormBase has 1300 tracks (!) and attempting to open it in Firefox kills it on my laptop, Safari takes 4 minutes and Chrome takes 1.5 minutes.  Most of those tracks come from modENCODE, and suspect most users don't care about the data.  As a way to make life easier for most users, I'd like to create a button to add the modENCODE tracks on request rather than loading them at start up.  Sounds like a great idea; can it be done?

Thanks,
Scott


--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     <a href="tel:216-392-3087" value="+12163923087" target="_blank">216-392-3087
Ontario Institute for Cancer Research
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax



------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Plugin to modify the trackList

Colin
Just as a sidenode, the modencode sample browser has 1800 tracks or so and is quick http://jbrowse.org/code/JBrowse-1.12.1/?data=sample_data%2Fjson%2Fmodencode&loc=ctgA%3A1..50001&tracks=&highlight=


-Colin

On Wed, Apr 13, 2016 at 11:03 AM, Colin <[hidden email]> wrote:
The main thing that probably causes slowness is having too much track metadata. The track metadata is indexed for the track selectors, but it will use a hashing algorithm on the client side which makes it slow


Associated screenshot (showing hashing with crc32 on track metadata) http://gmod.827538.n3.nabble.com/attachment/4051666/0/t1.png

I think the easiest workaround would be cutting down on track metadata or using a different track metadata store. Nevertheless, having a plugin to modify the track list or to create track hubs is also interesting, and I think is being worked on via the faye server and related things.

-Colin

On Wed, Apr 13, 2016 at 10:40 AM, Nathan Dunn <[hidden email]> wrote:

One approach would be to intercept the trackList.conf using a tool like node.js, a simple python server, etc. to do the rewrite.  So, you could have a passthrough unless you see a “show” modEncode flag in which case you load the entire thing.

Maybe an easier way would be to create another TrackList type, by extending the SimpleTrackSelector . . . you might be able to asynchronously load tracks from there.

Unfortunately, my intuition of what you want to change is base-functionality . . in Browser::createTrackList.  I’m not sure how easy that is to subclass with a plugin.  In theory this method is asynchronous, but you should see what method is pegging your browser.  I think most of the browsers should give you that information.    

Nathan Dunn, PhD
Berkeley Bioinformatics Open-source Projects (BBOP)
Genomics Division, Lawrence Berkeley National Laboratory
[hidden email]


On Apr 12, 2016, at 4:47 PM, Scott Cain <[hidden email]> wrote:

Hi All,

Is it possible to write a plugin that would modify the trackList?  I ask because the C. elegans browser at WormBase has 1300 tracks (!) and attempting to open it in Firefox kills it on my laptop, Safari takes 4 minutes and Chrome takes 1.5 minutes.  Most of those tracks come from modENCODE, and suspect most users don't care about the data.  As a way to make life easier for most users, I'd like to create a button to add the modENCODE tracks on request rather than loading them at start up.  Sounds like a great idea; can it be done?

Thanks,
Scott


--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     <a href="tel:216-392-3087" value="+12163923087" target="_blank">216-392-3087
Ontario Institute for Cancer Research
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax




------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Plugin to modify the trackList

Scott Cain
At Colin's suggestion, I significantly trimmed down the bulk of the metadata (typically three to four paragraphs down to one short paragraph) and it loads much quicker (10 seconds versus 90 seconds in Chrome).  I'll probably host those descriptions elsewhere and bring them in via a callback or something.  They'll be unsearchable, but I don't think that will matter too much.


On Wed, Apr 13, 2016 at 12:06 PM, Colin <[hidden email]> wrote:
Just as a sidenode, the modencode sample browser has 1800 tracks or so and is quick http://jbrowse.org/code/JBrowse-1.12.1/?data=sample_data%2Fjson%2Fmodencode&loc=ctgA%3A1..50001&tracks=&highlight=


-Colin

On Wed, Apr 13, 2016 at 11:03 AM, Colin <[hidden email]> wrote:
The main thing that probably causes slowness is having too much track metadata. The track metadata is indexed for the track selectors, but it will use a hashing algorithm on the client side which makes it slow


Associated screenshot (showing hashing with crc32 on track metadata) http://gmod.827538.n3.nabble.com/attachment/4051666/0/t1.png

I think the easiest workaround would be cutting down on track metadata or using a different track metadata store. Nevertheless, having a plugin to modify the track list or to create track hubs is also interesting, and I think is being worked on via the faye server and related things.

-Colin

On Wed, Apr 13, 2016 at 10:40 AM, Nathan Dunn <[hidden email]> wrote:

One approach would be to intercept the trackList.conf using a tool like node.js, a simple python server, etc. to do the rewrite.  So, you could have a passthrough unless you see a “show” modEncode flag in which case you load the entire thing.

Maybe an easier way would be to create another TrackList type, by extending the SimpleTrackSelector . . . you might be able to asynchronously load tracks from there.

Unfortunately, my intuition of what you want to change is base-functionality . . in Browser::createTrackList.  I’m not sure how easy that is to subclass with a plugin.  In theory this method is asynchronous, but you should see what method is pegging your browser.  I think most of the browsers should give you that information.    

Nathan Dunn, PhD
Berkeley Bioinformatics Open-source Projects (BBOP)
Genomics Division, Lawrence Berkeley National Laboratory
[hidden email]


On Apr 12, 2016, at 4:47 PM, Scott Cain <[hidden email]> wrote:

Hi All,

Is it possible to write a plugin that would modify the trackList?  I ask because the C. elegans browser at WormBase has 1300 tracks (!) and attempting to open it in Firefox kills it on my laptop, Safari takes 4 minutes and Chrome takes 1.5 minutes.  Most of those tracks come from modENCODE, and suspect most users don't care about the data.  As a way to make life easier for most users, I'd like to create a button to add the modENCODE tracks on request rather than loading them at start up.  Sounds like a great idea; can it be done?

Thanks,
Scott


--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     <a href="tel:216-392-3087" value="+12163923087" target="_blank">216-392-3087
Ontario Institute for Cancer Research
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax






--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     216-392-3087
Ontario Institute for Cancer Research

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Plugin to modify the trackList

vkrishna
I agree with Colin, we've also noticed that there is significant slowdown in rendering the track list when there is a lot of metadata. A track hub type implementation would be very cool, allowing users to point a JBrowse instance to 1 or more hubs on the fly (similar to IGB QuickLoad functionality).

One thing we've done on our end is to segregate tracks into either the Hierarchical or the Faceted selector based on metadata (i.e. metadata rich tracks are listed in the Faceted selector only, and maintained in a separate config file, trackList2.json). This was implemented as a plugin called "ComboTrackSelector" and can be seen in action here: http://www.araport.org/locus/AT3G24650/browse (plugin code available here: https://github.com/Arabidopsis-Information-Portal/jbrowse/tree/stable/plugins/ComboTrackSelector). Currently, the visibility of this plugin is controlled by the "&tracklist=1" URL parameter, but could potentially be uncoupled and controlled separately.

Thank you.
Vivek

On Wed, Apr 13, 2016 at 12:23 PM Scott Cain <[hidden email]> wrote:
At Colin's suggestion, I significantly trimmed down the bulk of the metadata (typically three to four paragraphs down to one short paragraph) and it loads much quicker (10 seconds versus 90 seconds in Chrome).  I'll probably host those descriptions elsewhere and bring them in via a callback or something.  They'll be unsearchable, but I don't think that will matter too much.


On Wed, Apr 13, 2016 at 12:06 PM, Colin <[hidden email]> wrote:
Just as a sidenode, the modencode sample browser has 1800 tracks or so and is quick http://jbrowse.org/code/JBrowse-1.12.1/?data=sample_data%2Fjson%2Fmodencode&loc=ctgA%3A1..50001&tracks=&highlight=


-Colin

On Wed, Apr 13, 2016 at 11:03 AM, Colin <[hidden email]> wrote:
The main thing that probably causes slowness is having too much track metadata. The track metadata is indexed for the track selectors, but it will use a hashing algorithm on the client side which makes it slow


Associated screenshot (showing hashing with crc32 on track metadata) http://gmod.827538.n3.nabble.com/attachment/4051666/0/t1.png

I think the easiest workaround would be cutting down on track metadata or using a different track metadata store. Nevertheless, having a plugin to modify the track list or to create track hubs is also interesting, and I think is being worked on via the faye server and related things.

-Colin

On Wed, Apr 13, 2016 at 10:40 AM, Nathan Dunn <[hidden email]> wrote:

One approach would be to intercept the trackList.conf using a tool like node.js, a simple python server, etc. to do the rewrite.  So, you could have a passthrough unless you see a “show” modEncode flag in which case you load the entire thing.

Maybe an easier way would be to create another TrackList type, by extending the SimpleTrackSelector . . . you might be able to asynchronously load tracks from there.

Unfortunately, my intuition of what you want to change is base-functionality . . in Browser::createTrackList.  I’m not sure how easy that is to subclass with a plugin.  In theory this method is asynchronous, but you should see what method is pegging your browser.  I think most of the browsers should give you that information.    

Nathan Dunn, PhD
Berkeley Bioinformatics Open-source Projects (BBOP)
Genomics Division, Lawrence Berkeley National Laboratory
[hidden email]


On Apr 12, 2016, at 4:47 PM, Scott Cain <[hidden email]> wrote:

Hi All,

Is it possible to write a plugin that would modify the trackList?  I ask because the C. elegans browser at WormBase has 1300 tracks (!) and attempting to open it in Firefox kills it on my laptop, Safari takes 4 minutes and Chrome takes 1.5 minutes.  Most of those tracks come from modENCODE, and suspect most users don't care about the data.  As a way to make life easier for most users, I'd like to create a button to add the modENCODE tracks on request rather than loading them at start up.  Sounds like a great idea; can it be done?

Thanks,
Scott


--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     <a href="tel:216-392-3087" value="+12163923087" target="_blank">216-392-3087
Ontario Institute for Cancer Research
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax






--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     216-392-3087
Ontario Institute for Cancer Research
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Plugin to modify the trackList

Scott Cain
Hi Vivek,

Colin and I were just talking about the cool things you've done with the ComboTrackSelector; I very much think WormBase would benefit from this, once I get my metadata issues under control :-)

Scott


On Wed, Apr 13, 2016 at 1:02 PM, Krishnakumar, Vivek <[hidden email]> wrote:
I agree with Colin, we've also noticed that there is significant slowdown in rendering the track list when there is a lot of metadata. A track hub type implementation would be very cool, allowing users to point a JBrowse instance to 1 or more hubs on the fly (similar to IGB QuickLoad functionality).

One thing we've done on our end is to segregate tracks into either the Hierarchical or the Faceted selector based on metadata (i.e. metadata rich tracks are listed in the Faceted selector only, and maintained in a separate config file, trackList2.json). This was implemented as a plugin called "ComboTrackSelector" and can be seen in action here: http://www.araport.org/locus/AT3G24650/browse (plugin code available here: https://github.com/Arabidopsis-Information-Portal/jbrowse/tree/stable/plugins/ComboTrackSelector). Currently, the visibility of this plugin is controlled by the "&tracklist=1" URL parameter, but could potentially be uncoupled and controlled separately.

Thank you.
Vivek


On Wed, Apr 13, 2016 at 12:23 PM Scott Cain <[hidden email]> wrote:
At Colin's suggestion, I significantly trimmed down the bulk of the metadata (typically three to four paragraphs down to one short paragraph) and it loads much quicker (10 seconds versus 90 seconds in Chrome).  I'll probably host those descriptions elsewhere and bring them in via a callback or something.  They'll be unsearchable, but I don't think that will matter too much.


On Wed, Apr 13, 2016 at 12:06 PM, Colin <[hidden email]> wrote:
Just as a sidenode, the modencode sample browser has 1800 tracks or so and is quick http://jbrowse.org/code/JBrowse-1.12.1/?data=sample_data%2Fjson%2Fmodencode&loc=ctgA%3A1..50001&tracks=&highlight=


-Colin

On Wed, Apr 13, 2016 at 11:03 AM, Colin <[hidden email]> wrote:
The main thing that probably causes slowness is having too much track metadata. The track metadata is indexed for the track selectors, but it will use a hashing algorithm on the client side which makes it slow


Associated screenshot (showing hashing with crc32 on track metadata) http://gmod.827538.n3.nabble.com/attachment/4051666/0/t1.png

I think the easiest workaround would be cutting down on track metadata or using a different track metadata store. Nevertheless, having a plugin to modify the track list or to create track hubs is also interesting, and I think is being worked on via the faye server and related things.

-Colin

On Wed, Apr 13, 2016 at 10:40 AM, Nathan Dunn <[hidden email]> wrote:

One approach would be to intercept the trackList.conf using a tool like node.js, a simple python server, etc. to do the rewrite.  So, you could have a passthrough unless you see a “show” modEncode flag in which case you load the entire thing.

Maybe an easier way would be to create another TrackList type, by extending the SimpleTrackSelector . . . you might be able to asynchronously load tracks from there.

Unfortunately, my intuition of what you want to change is base-functionality . . in Browser::createTrackList.  I’m not sure how easy that is to subclass with a plugin.  In theory this method is asynchronous, but you should see what method is pegging your browser.  I think most of the browsers should give you that information.    

Nathan Dunn, PhD
Berkeley Bioinformatics Open-source Projects (BBOP)
Genomics Division, Lawrence Berkeley National Laboratory
[hidden email]


On Apr 12, 2016, at 4:47 PM, Scott Cain <[hidden email]> wrote:

Hi All,

Is it possible to write a plugin that would modify the trackList?  I ask because the C. elegans browser at WormBase has 1300 tracks (!) and attempting to open it in Firefox kills it on my laptop, Safari takes 4 minutes and Chrome takes 1.5 minutes.  Most of those tracks come from modENCODE, and suspect most users don't care about the data.  As a way to make life easier for most users, I'd like to create a button to add the modENCODE tracks on request rather than loading them at start up.  Sounds like a great idea; can it be done?

Thanks,
Scott


--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     <a href="tel:216-392-3087" value="+12163923087" target="_blank">216-392-3087
Ontario Institute for Cancer Research
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax






--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     <a href="tel:216-392-3087" value="+12163923087" target="_blank">216-392-3087
Ontario Institute for Cancer Research
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax



--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     216-392-3087
Ontario Institute for Cancer Research

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: Plugin to modify the trackList

vkrishna
Hi Scott,

That's good to hear! The ComboTrackSelector development was started by my colleague, Maria Kim (who is no longer with the project), but I've been involved in refactoring the plugin and am continuing to maintain the code. I would be happy to answer any questions you (or others) may have.

I'm also currently in the process of decoupling the plugin from our jbrowse fork, and adding a README to explain how it can be configured and used by others.

Thank you!
Vivek


On Wed, Apr 13, 2016 at 2:56 PM Scott Cain <[hidden email]> wrote:
Hi Vivek,

Colin and I were just talking about the cool things you've done with the ComboTrackSelector; I very much think WormBase would benefit from this, once I get my metadata issues under control :-)

Scott


On Wed, Apr 13, 2016 at 1:02 PM, Krishnakumar, Vivek <[hidden email]> wrote:
I agree with Colin, we've also noticed that there is significant slowdown in rendering the track list when there is a lot of metadata. A track hub type implementation would be very cool, allowing users to point a JBrowse instance to 1 or more hubs on the fly (similar to IGB QuickLoad functionality).

One thing we've done on our end is to segregate tracks into either the Hierarchical or the Faceted selector based on metadata (i.e. metadata rich tracks are listed in the Faceted selector only, and maintained in a separate config file, trackList2.json). This was implemented as a plugin called "ComboTrackSelector" and can be seen in action here: http://www.araport.org/locus/AT3G24650/browse (plugin code available here: https://github.com/Arabidopsis-Information-Portal/jbrowse/tree/stable/plugins/ComboTrackSelector). Currently, the visibility of this plugin is controlled by the "&tracklist=1" URL parameter, but could potentially be uncoupled and controlled separately.

Thank you.
Vivek


On Wed, Apr 13, 2016 at 12:23 PM Scott Cain <[hidden email]> wrote:
At Colin's suggestion, I significantly trimmed down the bulk of the metadata (typically three to four paragraphs down to one short paragraph) and it loads much quicker (10 seconds versus 90 seconds in Chrome).  I'll probably host those descriptions elsewhere and bring them in via a callback or something.  They'll be unsearchable, but I don't think that will matter too much.


On Wed, Apr 13, 2016 at 12:06 PM, Colin <[hidden email]> wrote:
Just as a sidenode, the modencode sample browser has 1800 tracks or so and is quick http://jbrowse.org/code/JBrowse-1.12.1/?data=sample_data%2Fjson%2Fmodencode&loc=ctgA%3A1..50001&tracks=&highlight=


-Colin

On Wed, Apr 13, 2016 at 11:03 AM, Colin <[hidden email]> wrote:
The main thing that probably causes slowness is having too much track metadata. The track metadata is indexed for the track selectors, but it will use a hashing algorithm on the client side which makes it slow


Associated screenshot (showing hashing with crc32 on track metadata) http://gmod.827538.n3.nabble.com/attachment/4051666/0/t1.png

I think the easiest workaround would be cutting down on track metadata or using a different track metadata store. Nevertheless, having a plugin to modify the track list or to create track hubs is also interesting, and I think is being worked on via the faye server and related things.

-Colin

On Wed, Apr 13, 2016 at 10:40 AM, Nathan Dunn <[hidden email]> wrote:

One approach would be to intercept the trackList.conf using a tool like node.js, a simple python server, etc. to do the rewrite.  So, you could have a passthrough unless you see a “show” modEncode flag in which case you load the entire thing.

Maybe an easier way would be to create another TrackList type, by extending the SimpleTrackSelector . . . you might be able to asynchronously load tracks from there.

Unfortunately, my intuition of what you want to change is base-functionality . . in Browser::createTrackList.  I’m not sure how easy that is to subclass with a plugin.  In theory this method is asynchronous, but you should see what method is pegging your browser.  I think most of the browsers should give you that information.    

Nathan Dunn, PhD
Berkeley Bioinformatics Open-source Projects (BBOP)
Genomics Division, Lawrence Berkeley National Laboratory
[hidden email]


On Apr 12, 2016, at 4:47 PM, Scott Cain <[hidden email]> wrote:

Hi All,

Is it possible to write a plugin that would modify the trackList?  I ask because the C. elegans browser at WormBase has 1300 tracks (!) and attempting to open it in Firefox kills it on my laptop, Safari takes 4 minutes and Chrome takes 1.5 minutes.  Most of those tracks come from modENCODE, and suspect most users don't care about the data.  As a way to make life easier for most users, I'd like to create a button to add the modENCODE tracks on request rather than loading them at start up.  Sounds like a great idea; can it be done?

Thanks,
Scott


--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     <a href="tel:216-392-3087" value="+12163923087" target="_blank">216-392-3087
Ontario Institute for Cancer Research
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax






--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     <a href="tel:216-392-3087" value="+12163923087" target="_blank">216-392-3087
Ontario Institute for Cancer Research
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax



--
------------------------------------------------------------------------
Scott Cain, Ph. D.                                   scott at scottcain dot net
GMOD Coordinator (http://gmod.org/)                     216-392-3087
Ontario Institute for Cancer Research

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax