To avoid duplication of effort, and perhaps to attract some early reviewers, I figure I’d let this group know that I plan to submit a new package “IGV” for inclusion in the next Bioconductor release.
The package will provide an interface to the excellent and quite new browser-based genome viewer written by Jim Robison and colleagues, igv.js: https://github.com/igvteam/igv.js IGV depends upon RStudio’s httpuv websocket library for passing JSON messages between an R session and igv.js running in the browser. Communication goes both ways - both ends are fully and independently interactive. My goal with IGV is to support all of the tracks mentioned here https://github.com/igvteam/igv.js/wiki/Tracks Note that though igv.js typically gets its track data from CORS/indexed webservers, the IGV package will also support locally created R data.frames describing either bed or wig tracks - annotation and quantitative, respectively - without any need to host those tracks on a pre-existing webserver. httpuv includes a minimal webserver which can adequately serve the temporary files IGV creates from your data.frames. In the years since the first appearance of my RCyjs package (which has a similarly design, and the same base class, using websockets to communicate between R and the browser), RStudio and Hector Corrado Bravo have added async web socket support for Windows to httpuv. This means IGV (and RCyjs also) will run on all platforms. A refactored BrowserViz package (which might be useful to anyone wishing to do similar R-to-browser communication) will accompany my submission. For javascript development, I have adopted commonly used strategies and tools, using npm and webpack to build a single, all-libraries-included html/js/css file for loading into the browser. This allows us to control library versioning and to improve browser load times. The single combined html/js/css file is created, not as part of R CMD build, but with a prior and separate, developer-only makefile maintained in the package’s inst/browserCode directory. Only that combined html/js/css file is included in the package tarball, along with configuration files to rebuild it, but not including all of the usually large number of node_modules that contributed to its construction. Comments and suggestions welcome. - Paul _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel