-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
URL control of tracks using category name #618
Comments
Thanks for the elaboration, Chris. ----------------------- from Chris. The issue we have is with implementing this programmatically when there is variation in the number of tracks and in the naming, both from one organism to the next and as OGS versions get incremented. We are already support dozens of organisms, and we're expecting to scale to hundreds, and somewhere far down the line, to thousands. I hope this helps to better describe the request, and how it would help our specific needs. Categories have been critical to our project for organizing a large number of tracks in a meaningful way, and I'd love to have more flexibility in how we can use them. It would also be nice to have default categories enables, similar to the default tracks. |
So, here are some questions we should try to resolve: Right now, the track list is given on the URL query, If we can pass a category=, should we translate this to a track list? If we are dealing with track lists, then we could easily run into the HTTP GET limit as defined by the server. This will probably happen even use say a track ID instead of the track path that we currently use. Next: what if, after displaying tracks of the category and we selectively prune x tracks from the category, or add tracks. Do we want to be able to share the modified result? GET request size: We can probably tune the HTTP GET request size on the server, but there are no guarantees for passing through a URL shortener or other proxy. So, I think, for hundreds or thousands of tracks, listing the tracks in the GET request gets to be impractical, from a general perspective. If we need to share the changed track list, maybe we need to employ the server to maintain a "selected" profile each time the selection is modified and that some kind of track-profile-id can be passed in the query instead of the explicit. |
@enuggetry Thank you for the interesting implementation ideas. I'm including a more detailed description, including my thoughts on how it might look from the user perspective and an example of how we're organizing our tracks. We already use the URL controls for managing what tracks to display a lot. On our gene pages we are embedding a jbrowse view and want to enable the Official Gene Set track to give a visual window for the gene, but that is difficult to do programatically in a way that will scale, especially since some OGS have multiple tracks. If we could have an option similar to the URL tack controls for categories, we could use a string like "&categories=Official%2bGene%2bSet" to turn on all of the tracks in the "Official Gene Set" category. Here is an example from one of our instances with multiple OGS tracks: The issue we have is with implementing this programmatically when there is variation in the number of tracks and in the naming, both from one organism to the next and as OGS versions get incremented. We are already support dozens of organisms, and we're expecting to scale to hundreds, and somewhere far down the line, to thousands. I hope this helps to better describe the request, and how it would help our specific needs. Categories have been critical to our project for organizing a large number of tracks in a meaningful way, and I'd love to have more flexibility in how we can use them. It would also be nice to have default categories enables, similar to the default tracks. |
Got a first-pass implementation, here. It is implemented as a JBrowse plugin. Installation instructions in the readme file I noticed one track in the example seems to be left out. So, needs a little work. |
I've tested this on a few different instances (and different versions of JBrowse), with no success. Here is Plugin section of the trackList.json file: Our categories categories are more complex, will that affect things? Will it handle giving a top level category and load the sub sections? (for example can I use "cat=1. Official Gene Set" to load both sub-categories?) In your example, "cat=Lucy" and "cat=Lucy / Goosey / Juicy" don't work. Please see one of our live instances for an example of our current setup. This instance does not have the Category URL plugin enabled yet. |
Check "CategoryUrl" If not, should be a quick fix. I've tested this on a few different instances (and different versions of Our categories categories are more complex, will that affect things? Will Please see one of our live instances for an example of our current setup. — |
Hmm... are there any earlier errors besides the ones shown in your screen CategoryUrl is not associated with names at all. It is associated with the On Thu, Nov 5, 2015 at 3:20 PM, Bryan Ellerbrock notifications@github.com
|
No earlier errors, but I think I was following an older plugin configuration by putting the following in my jbrowse.conf file
I'm using JBrowse 1.11.6, so I've removed those lines and just have Anything else I can try to help figure this out? |
It looks good, right now. The 404 errors you are getting there are inconsequential to the plugin The 404 on root.json is probably because you have not run generate-names. The plugin should now work for you. Perhaps it's not spelled out clearly enough yet. The cat= URL parameter "category" : "Transcripts", Please do report any problems. It is a rather new plugin. On Fri, Nov 6, 2015 at 7:55 AM, Bryan Ellerbrock notifications@github.com
|
Ok, thank you for the clarification. I'm glad the plugin even exists, considering it's so new! And I appreciate the time you've taken to respond. I think the urls have been cut out of the screenshots,so maybe that has caused some confusion. Here is the instance I've been testing out if you want to look. To clarify, the tracks I've specified individually in the url with I'm running generate_names.pl now to see if it makes a difference. But unfortunately the scale of the project means I have hundreds of separate jbrowse instances set to display a vcf track for each accession contained in an individual phenotyping trial. So it would be very helpful to be able to pass &cat=Diversity in the url to display them all, regardless of trial. And unfortunately quite difficult to run generate_names.pl for each instance. |
Yeah, the subcategories are going to throw it off. It's not too smart On Fri, Nov 6, 2015 at 12:15 PM, Bryan Ellerbrock notifications@github.com
|
Thanks, I appreciate it! On a different topic, is there a recommended way to copy and update the plugin code? I could just git clone it and pull updates if it were it's own repo, but there doesn't seem to be an easy way to do this with sub directories. And I didn't think to set up my overall JBrowse 1.11.6 installation with a git clone. |
The new iteration supports category/sub-category. |
Alright! It's working beautifully with my Diversity/NEXTGEN/Imputed subcategory now. Thanks for added functionality! |
Is there support for category level track control via the URL? I've been going through the docs without luck, along with testing it on our instances, also without luck.
Thanks!
The text was updated successfully, but these errors were encountered: