Thanks, Michael.

httpuv, to which Hector made crucial contributions, makes it easy to send data 
directly between R and the browser, using websockets.   I resort to files, 
however, because when the data, rendered as json, exceeds 500k, the websocket 
hangs.  I never identified the weak spot.   Some Juypter developers recently 
had good luck with binary websocket data exchange.  I am cautious, though, 
about pushing limits and using the latest websocket extension, and found the 
fallback to local files quite adequate for now.

I’ll look at ucsc.R.

- Paul


> On Mar 9, 2018, at 11:48 AM, Michael Lawrence <lawrence.mich...@gene.com> 
> wrote:
> 
> Couple of things:
> 
> 1) Check out epivizr and the surrounding infrastructure (maybe Hector can 
> chime in). It's able to serve up data directly from R; would be nice if we 
> could do that with IGV, instead of writing out to files. That would require 
> it to talk to some standard API, like the old DAS.
> 
> 2) The rtracklayer API is in rtracklayer/R/browser.R. See ucsc.R for how that 
> is implemented for UCSC.
> 
> On Fri, Mar 9, 2018 at 9:59 AM, Paul Shannon <pshan...@systemsbiology.org> 
> wrote:
> Thanks, Levi. Your comments, and Gabe’s are very helpful, getting me to 
> consider things I have overlooked.
> 
> Support for GenomicRanges is essential, as you and Gabe point out.
> 
> In all cases IGV will convert a GRanges object to an appropriate track, then 
> write it out as a temporary file.  igv supports bed, gff, gff3, gtf, wig, 
> bigWig, bedGraph, bam, vcf, and seg formats, and a variety of sources:  files 
> via http, google cloud storage, GA4GH; recent limited support has been 
> provided for direct javascript data.   Maybe someday AnnotationHub?
> 
> GenomicRanges as I understand them are very flexible, not subclassed into 
> types as are track formats.  So I propose that in many cases it will be he 
> user’s responsibility to specify track type, call the appropriate 
> constructor, maybe specify column names so that the right scores can be 
> extracted from the mcols - whose names are, so far as I know, are not 
> standardized.
> 
> If the GRanges object is too big - greater than a densely packed megabase, 
> for instance, igv works best if the track file is indexed and served up by an 
> index- and CORS-savvy webserver.   Thus the IGV should politely fail - or at 
> least issue a warning -  when encounters big tracks.  This “too big” 
> threshold may change over time.
> 
> Reading through Michael’s rtracklayer vignette I came across this:
> 
>    The rtracklayer package currently interfaces with the UCSC web-based 
> genome browser.
>    Other packages may provide drivers for other genome browsers through a 
> plugin system.
> 
> Can anyone (maybe Michael himself?) comment on how I can evaluate an 
> rtracklayer plugin strategy for igv?
> 
>  - Paul
> 
> 
> > On Mar 9, 2018, at 4:15 AM, Levi Waldron <lwaldron.resea...@gmail.com> 
> > wrote:
> >
> > On Thu, Mar 8, 2018 at 12:29 AM, Paul Shannon <pshan...@systemsbiology.org> 
> > wrote:
> > Thanks, Gabe.
> >
> > You make an excellent point: bioc objects get first class support.  In some 
> > instance, base R data types deserve that also, and data.frames lead the 
> > list for me, being useful, concise, universally available, expressive.
> >
> > So perhaps not “data.frames replaced by” but “accompanied by” appropriate 
> > bioc data types?
> >
> >  - Paul
> >
> > Definitely +1 for supporting GenomicRanges, including what's in genome() 
> > and mcols(). There's a demo of an rtracklayer -> GRanges -> UCSC genome 
> > browser workflow in the rtracklayer vignette that I've made use of. I 
> > wouldn't necessarily say *don't* support data.frame, but I would certainly 
> > encourage Bioc users to import data with rtracklayer instead of generic 
> > read* functions, and to take advantage of the vast AnnotationHub and 
> > OrganismDbi-based annotations which provide GenomicRanges objects.
> >
> > Thanks and looking forward to it!
> >
> 
> _______________________________________________
> Bioc-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> 
> 

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to