Measuring DNA methylation and understanding role in expression regulation in solid tumors
- Hansen, et al., Nat. Genetics, 2011
- Corrada Bravo, et al., BMC Bioinformatics, 2012
- Timp, et al., Genome Medicine, in press.
Hector Corrada Bravo
Center for Bioinformatics and Computational Biology, University of Maryland
Measuring DNA methylation and understanding role in expression regulation in solid tumors
Measuring DNA methylation and understanding role in expression regulation in solid tumors
Measuring DNA methylation and understanding role in expression regulation in solid tumors
Measuring DNA methylation and understanding role in expression regulation in solid tumors
Bsmooth
, minfi
)epivizr
packageI want to use a genome browser track as a display device in R!!
Using the epivizr
package
epivizr
sessionlibrary(epivizr)
data(tcga_colon_example)
mgr <- startEpiviz(workspace="qyOTB6vVnff")
GRanges
datablocks_dev <- mgr$addDevice(colon_blocks, "450k blocks")
keep <- width(colon_blocks) > 250000
mgr$updateDevice(blocks_dev, colon_blocks[keep,])
Using the epivizr
package: browse by regions of interest.
o <- order(-width(colon_blocks))
slideShowRegions <- colon_blocks[o[1:10],]
slideShowRegions <- slideShowRegions + 1e5
mgr$slideshow(slideShowRegions)
mgr$stopServer()
epivizr
vignette:browseVignettes("epivizr")
epivizr
uses WebSockets for connection, same asshiny
. Big, big, big thanks to the @rstudio folks for working on this infrastructure.
This is how we integrate different data types and add new visualizations.
see: https://gist.github.com/11017650
epiviz.plugins.charts.MyTrack.prototype.draw = function(range, data, slide, zoom) {
epiviz.ui.charts.Track.prototype.draw.call(this, range, data, slide, zoom);
// If data is defined, then the base class sets this._lastData to data.
// If it isn't, then we'll use the data from the last draw call.
// Same with this._lastRange and range.
data = this._lastData;
range = this._lastRange;
// If data is not defined, there is nothing to draw
if (!data || !range) { return []; }
// Using D3, compute a function that maps base-pair locations to chart pixel coordinates
var xScale = d3.scale.linear()
.domain([range.start(), range.end()])
.range([0, this.width() - this.margins().left() - this.margins().right()]);
see: https://gist.github.com/c41a2df3671395d8e4ad
goog.provide('epiviz.plugins.data.UCSCDataProvider');
epiviz.plugins.data.UCSCDataProvider = function (id, endpoint) {
epiviz.data.DataProvider.call(this, id || epiviz.plugins.data.UCSCDataProvider.DEFAULT_ID);
this._endpoint = endpoint;
this._refGene = new epiviz.measurements.Measurement(
'refGene', // The column in the data source table that contains the values for this feature measurement
'refGene', // A name not containing any special characters (only alphanumeric and underscores)
epiviz.measurements.Measurement.Type.RANGE,
'refGene', // Data source: the table/data frame containing the data
'ucsc_refGene', // An identifier for use to group with other measurements from different data providers
// that have the same seqName, start and end values
this.id(), // Data provider
null, // Formula: always null for measurements coming directly from the data provider
'any', // Default chart type filter
http://epiviz.cbcb.umd.edu/?ws=SRHZlWRRAPd&gist[]=a82a998817564ce3fe48&settings=default&
javascript
app source: http://github.com/epiviz/epivizepivizr
in Bioconductor
since summer 2013epivizr
)library(epivizr)
library(Mus.musculus)
mgr <- startStandalone(geneInfo=Mus.musculus, geneInfoName="mm10",
keepSeqlevels=paste0("chr",c(1:19,"X","Y")))
BigWigFile
, BamFile
through epivizr
(initially targeted to RNA-seq workflows)Nature Methods on Monday!
Follow us (brand new): @epiviz
These slides available: http://epiviz.github.io/bioc2014
Florin Chelaru, UMD