Nothing
## ---- eval=TRUE, echo=TRUE, results='hide', warning=FALSE, error=FALSE, message=FALSE----
library(epivizr)
library(antiProfilesData)
library(SummarizedExperiment)
## -----------------------------------------------------------------------------
data(tcga_colon_blocks)
data(tcga_colon_curves)
data(apColonData)
## -----------------------------------------------------------------------------
show(tcga_colon_blocks)
## ---- fig.width=4, fig.height=4, fig.align='center'---------------------------
plot(tcga_colon_blocks$value, -log10(tcga_colon_blocks$p.value), main="Volcano plot", xlab="Avg. methylation difference", ylab="-log10 p-value",xlim=c(-.5,.5))
## -----------------------------------------------------------------------------
show(tcga_colon_curves)
## ---- eval=FALSE, echo=TRUE---------------------------------------------------
# app <- startEpiviz(workspace="qyOTB6vVnff", gists="2caf8e891201130c7daa")
## ---- eval=TRUE, echo=FALSE---------------------------------------------------
app <- startEpiviz(host="http://localhost", http_port=8989, debug=TRUE, open_browser=FALSE, non_interactive=TRUE, try_ports=TRUE)
# register BlockTrack
js_chart_settings <- list(list(id = "title", type = "string", defaultValue = "", label = "Title", possibleValues = NULL), list(id = "marginTop", type = "number", defaultValue = 25, label = "Top margin", possibleValues = NULL), list(id = "marginBottom", type = "number", defaultValue = 23, label = "Bottom margin", possibleValues = NULL), list(id = "marginLeft", type = "number", defaultValue = 20, label = "Left margin", possibleValues = NULL), list(id = "marginRight", type = "number", defaultValue = 10, label = "Right margin", possibleValues = NULL), list(id = "minBlockDistance", type = "number", defaultValue = 5, label = "Minimum block distance", possibleValues = NULL))
js_chart_colors = c("#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd", "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf")
app$chart_mgr$register_chart_type("BlocksTrack", "epiviz.plugins.charts.BlocksTrack", js_chart_settings=js_chart_settings, js_chart_colors=js_chart_colors)
# register LineTrack
js_chart_settings <- list(list(id = "title", type = "string", defaultValue = "", label = "Title", possibleValues = NULL), list(id = "marginTop", type = "number", defaultValue = 25, label = "Top margin", possibleValues = NULL), list(id = "marginBottom", type = "number", defaultValue = 23, label = "Bottom margin", possibleValues = NULL), list(id = "marginLeft", type = "number", defaultValue = 20, label = "Left margin", possibleValues = NULL), list(id = "marginRight", type = "number", defaultValue = 10, label = "Right margin", possibleValues = NULL), list(id = "measurementGroupsAggregator", type = "categorical", defaultValue = "mean-stdev", label = "Aggregator for measurement groups", possibleValues = c("mean-stdev", "quartiles", "count", "min", "max", "sum")), list(id = "step", type = "number", defaultValue = 50, label = "Step", possibleValues = NULL), list(id = "showPoints", type = "boolean", defaultValue = FALSE, label = "Show points", possibleValues = NULL), list(id = "showLines", type = "boolean", defaultValue = TRUE, label = "Show lines", possibleValues = NULL), list(id = "showErrorBars", type = "boolean", defaultValue = TRUE, label = "Show error bars", possibleValues = NULL), list(id = "pointRadius", type = "number", defaultValue = 1, label = "Point radius", possibleValues = NULL), list(id = "lineThickness", type = "number", defaultValue = 1, label = "Line thickness", possibleValues = NULL), list(id = "yMin", type = "number", defaultValue = "default", label = "Min Y", possibleValues = NULL), list(id = "yMax", type = "number", defaultValue = "default", label = "Max Y", possibleValues = NULL), list(id = "interpolation", type = "categorical", defaultValue = "linear", label = "Interpolation", possibleValues = c("linear", "step-before", "step-after", "basis", "basis-open", "basis-closed", "bundle", "cardinal", "cardinal-open", "monotone")))
js_chart_colors <- c("#1859a9", "#ed2d2e", "#008c47", "#010101", "#f37d22", "#662c91", "#a11d20", "#b33893")
app$chart_mgr$register_chart_type("LineTrack", "epiviz.plugins.charts.LineTrack", js_chart_settings=js_chart_settings, js_chart_colors=js_chart_colors)
# register ScatterPlot
js_chart_settings <- list(list(id = "title", type = "string", defaultValue = "", label = "Title", possibleValues = NULL), list(id = "marginTop", type = "number", defaultValue = 15, label = "Top margin", possibleValues = NULL), list(id = "marginBottom", type = "number", defaultValue = 50, label = "Bottom margin", possibleValues = NULL), list(id = "marginLeft", type = "number", defaultValue = 50, label = "Left margin", possibleValues = NULL), list(id = "marginRight", type = "number", defaultValue = 15, label = "Right margin", possibleValues = NULL), list(id = "measurementGroupsAggregator", type = "categorical", defaultValue = "mean-stdev", label = "Aggregator for measurement groups", possibleValues = c("mean-stdev", "quartiles", "count", "min", "max", "sum")), list(id = "circleRadiusRatio", type = "number", defaultValue = 0.015, label = "Circle radius ratio", possibleValues = NULL), list(id = "xMin", type = "number", defaultValue = "default", label = "Min X", possibleValues = NULL), list(id = "xMax", type = "number", defaultValue = "default", label = "Max X", possibleValues = NULL), list(id = "yMin", type = "number", defaultValue = "default", label = "Min Y", possibleValues = NULL), list(id = "yMax", type = "number", defaultValue = "default", label = "Max Y", possibleValues = NULL))
js_chart_colors <- c("#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd", "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf")
app$chart_mgr$register_chart_type("ScatterPlot", "epiviz.plugins.charts.ScatterPlot", js_chart_settings=js_chart_settings, js_chart_colors=js_chart_colors)
app$server$start_server()
## ---- eval=FALSE--------------------------------------------------------------
# app$server$service()
## -----------------------------------------------------------------------------
app$chart_mgr$list_chart_types()
## ----eval=TRUE----------------------------------------------------------------
blocks_chart <- app$plot(tcga_colon_blocks, datasource_name="450k colon_blocks")
## ----eval=TRUE----------------------------------------------------------------
app$server$service()
## ---- eval=TRUE---------------------------------------------------------------
# subset to those with length > 250Kbp
keep <- width(tcga_colon_blocks) > 250000
# get the data object for chart
ms_obj <- app$get_ms_object(blocks_chart)
app$update_measurements(ms_obj, tcga_colon_blocks[keep,])
## -----------------------------------------------------------------------------
app$chart_mgr$print_chart_type_info("BlocksTrack")
## ---- eval=TRUE---------------------------------------------------------------
settings <- list(minBlockDistance=50)
colors <- c("#d15014", "#5e97eb", "#e81ccd")
blocks_chart <- app$plot(tcga_colon_blocks, datasource_name="450k colon_blocks", settings=settings, colors=colors)
## ---- eval=TRUE---------------------------------------------------------------
# create a list of settings and colors to update the plot
settings <- list(minBlockDistance=100)
colors <- c("#5e97eb", "#d15014", "#e81ccd")
app$chart_mgr$set_chart_settings(blocks_chart, settings=settings, colors=colors)
## -----------------------------------------------------------------------------
# to list applied chart settings
app$chart_mgr$print_chart_info(blocks_chart)
## ---- eval=TRUE---------------------------------------------------------------
app$chart_mgr$print_chart(blocks_chart, file_name="blocks_chart", file_type="pdf")
## ---- eval=TRUE---------------------------------------------------------------
# add low-filter smoothed methylation estimates
means_track <- app$plot(tcga_colon_curves, datasource_name="450kMeth",type="bp",columns=c("cancerMean","normalMean"))
## ---- eval=TRUE---------------------------------------------------------------
means_track$set(settings=list(step=1, interpolation="basis"))
## ---- eval=TRUE---------------------------------------------------------------
diff_chart <- app$plot(tcga_colon_curves, datasource_name="450kMethDiff",type="bp",columns=c("smooth"),ylim=matrix(c(-.5,.5),nc=1))
## ---- eval=TRUE---------------------------------------------------------------
app$chart_mgr$list_charts()
app$chart_mgr$rm_chart(means_track)
app$chart_mgr$list_charts()
## -----------------------------------------------------------------------------
keep <- pData(apColonData)$SubType!="adenoma"
apColonData <- apColonData[,keep]
status <- pData(apColonData)$Status
Indexes <- split(seq(along=status),status)
exprMat <- exprs(apColonData)
mns <- sapply(Indexes, function(ind) rowMeans(exprMat[,ind]))
mat <- cbind(colonM=mns[,"1"]-mns[,"0"], colonA=0.5*(mns[,"1"]+mns[,"0"]))
pd <- data.frame(stat=c("M","A"))
rownames(pd) <- colnames(mat)
maEset <- ExpressionSet(
assayData=mat,
phenoData=AnnotatedDataFrame(pd),
featureData=featureData(apColonData),
annotation=annotation(apColonData)
)
show(maEset)
## ---- eval=TRUE---------------------------------------------------------------
eset_chart <- app$plot(maEset, datasource_name="MAPlot", columns=c("colonA","colonM"))
## -----------------------------------------------------------------------------
data(tcga_colon_expression)
show(tcga_colon_expression)
## ---- eval=TRUE---------------------------------------------------------------
ref_sample <- 2 ^ rowMeans(log2(assay(tcga_colon_expression) + 1))
scaled <- (assay(tcga_colon_expression) + 1) / ref_sample
scaleFactor <- Biobase::rowMedians(t(scaled))
assay_normalized <- sweep(assay(tcga_colon_expression), 2, scaleFactor, "/")
assay(tcga_colon_expression) <- assay_normalized
## ---- eval=TRUE---------------------------------------------------------------
status <- colData(tcga_colon_expression)$sample_type
index <- split(seq(along = status), status)
logCounts <- log2(assay(tcga_colon_expression) + 1)
means <- sapply(index, function(ind) rowMeans(logCounts[, ind]))
mat <- cbind(cancer = means[, "Primary Tumor"], normal = means[, "Solid Tissue Normal"])
## ---- eval=TRUE---------------------------------------------------------------
sumexp <- SummarizedExperiment(mat, rowRanges=rowRanges(tcga_colon_expression))
se_chart <- app$plot(sumexp, datasource_name="Mean by Sample Type", columns=c("normal", "cancer"))
## ---- eval=FALSE, echo=TRUE---------------------------------------------------
# app$load_remote_measurements()
# remote_measurements <- app$data_mgr$get_remote_measurements()
## ---- eval=FALSE, echo=TRUE---------------------------------------------------
# measurementList <- lapply(remote_measurements, function(m) {
# if(m@name %in% c("colon normal", "lung normal", "breast normal", "colon tumor", "lung tumor", "breast tumor") && m@datasourceId == "gene_expression_barcode_subtype") {
# m
# }
# })
#
# measurements <- Filter(Negate(is.null), measurementList)
## ---- eval=FALSE, echo=TRUE---------------------------------------------------
# app$chart_mgr$visualize("HeatmapPlot", measurements = measurements)
## ---- eval=TRUE---------------------------------------------------------------
app$navigate("chr11", 110000000, 120000000)
## ---- eval=TRUE, warning=FALSE------------------------------------------------
foldChange <- mat[,"cancer"]-mat[,"normal"]
ind <- order(foldChange,decreasing=TRUE)
# bounding 1Mb around each exon
slideshowRegions <- trim(rowRanges(sumexp)[ind] + 1000000L)
app$slideshow(slideshowRegions, n=5)
## ---- eval=TRUE---------------------------------------------------------------
app$print_workspace(file_name="workspace", file_type="pdf")
## ---- eval=TRUE---------------------------------------------------------------
app$save(file="app.rda", include_data=TRUE)
## ---- eval=TRUE---------------------------------------------------------------
app <- restartEpiviz(file="app.rda", open_browser=TRUE)
## -----------------------------------------------------------------------------
app$stop_app()
## ----session-info, cache=FALSE------------------------------------------------
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.