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
463 stars 199 forks source link

Track hub support #728

Open scottcain opened 8 years ago

scottcain commented 8 years ago

Several users would really like to have functionality similar to the UCSC genome browser's Track Hub:

https://genome.ucsc.edu/goldenpath/help/hgTrackHubHelp.html#Intro

Is such a thing likely/possible/being worked on?

enuggetry commented 8 years ago

Not sure if this covers all the bases, but you can reference remote track data in the trackList.json. This is an example from our volvox sample where I replace the local urlTemplate with a remote reference to our demo server's data. It works as long as the data is public.

      {
         "autocomplete" : "all",
         "track" : "EST",
         "style" : {
            "className" : "est"
         },
         "key" : "HTMLFeatures - ESTs",
         "feature" : [
            "EST_match:est"
         ],
         "storeClass" : "JBrowse/Store/SeqFeature/NCList",
         //"urlTemplate" : "tracks/EST/{refseq}/trackData.json",
         "urlTemplate" : "http://jbrowse.org/code/JBrowse-1.12.1/sample_data/json/volvox/tracks/EST/{refseq}/trackData.json",
         "compress" : 0,
         "label" : "EST",
         "type" : "FeatureTrack",
         "category" : "Miscellaneous"
      },
scottcain commented 8 years ago

Hi @enuggetry

Unfortunately, not really. One goal is to avoid loading 1300 tracks when JBrowse starts up.

nathandunn commented 8 years ago

@enuggetry I wonder if, for some of the server stuff you are developing, you can dynamically hide / show tracks in the track list . . ..

enuggetry commented 8 years ago

Not being familiar with the UCSC track hub, I think it would be a good idea to come up with some use cases specific for jbrowse.

We can currently dereference datasets like http://myjbrowse.com?data=http://mydata.com/trackList.json. We can also dereference track data, like I mentioned above (urlTemplate).

Not sure what you mean by dynamic hide/show. Like lazyload, based on the what section of the list being displayed? Here again, some use cases would be handy.

As for the metadata issue. I think there's certainly opportunity to preprocess data on the server side.

rbuels commented 6 years ago

http://trackhubregistry.org/