## ----setup, include=FALSE------------------------------------------------ knitr::opts_chunk$set( warning = FALSE, message = FALSE, cache = TRUE ) ## ------------------------------------------------------------------------ library(devtools) BiocInstaller::biocLite("epiviz/epivizrChart") ## ---- results='hide'----------------------------------------------------- library(epivizWorkshop) library(minfi) library(epivizrChart) data(meth_set) data(gm_set) data(gratio_set) meth_set gm_set gratio_set ## ------------------------------------------------------------------------ library(Homo.sapiens) genes_track <- epivizChart(Homo.sapiens, chr="chr11", start=118000000, end=121000000) genes_track ## ------------------------------------------------------------------------ epivizEnv <- epivizEnv(chr="chr11", start=118000000, end=121000000) # to add charts to the environment genes_track <- epivizChart(Homo.sapiens, parent=epivizEnv) data(cgi_gr) cgi_track <- epivizChart(cgi_gr, parent=epivizEnv, datasource_name="CpG Islands") epivizEnv ## ------------------------------------------------------------------------ epivizNav <- epivizNav(chr="chr11", start=118000000, end=121000000) # to add charts to the environment genes_track <- epivizChart(Homo.sapiens, parent=epivizNav) data(cgi_gr) cgi_track <- epivizChart(cgi_gr, parent=epivizNav, datasource_name="CpG Islands") epivizNav ## ------------------------------------------------------------------------ epivizEnv <- epivizEnv(chr="chr11", start=118000000, end=121000000) library(Homo.sapiens) genes_track <- epivizChart(Homo.sapiens, parent=epivizEnv) genes_track ## ------------------------------------------------------------------------ data(cgi_gr) cgi_track <- epivizChart(cgi_gr, parent=epivizEnv, datasource_name="CpG Islands") cgi_track ## ------------------------------------------------------------------------ data(bcode_eset) settings <- list(maxColumns = 300, colLabel="SYMBOL") bcode_hmap <- epivizChart(bcode_eset, parent=epivizEnv, datasource_name="Gene Expression Barcode", chart="HeatmapPlot", settings=settings) bcode_hmap ## ---- eval=FALSE--------------------------------------------------------- # epivizEnv ## ------------------------------------------------------------------------ library(GenomicFeatures) library(TxDb.Hsapiens.UCSC.hg19.knownGene) promoter_regions <- promoters(TxDb.Hsapiens.UCSC.hg19.knownGene, upstream=1000, downstream=200) promoters_track <- epivizChart(promoter_regions, parent=epivizEnv, datasource_name="Promoters") promoters_track ## ---- eval=FALSE--------------------------------------------------------- # promoters_track$get_available_settings() ## ------------------------------------------------------------------------ library(RColorBrewer) color <- brewer.pal(3, "Paired") promoters_track$set_colors(color) promoters_track ## ------------------------------------------------------------------------ library(doParallel) cores <- detectCores() registerDoParallel(cores) meth_set_breast <- meth_set[, which(meth_set$Tissue == "breast")] dmp <- dmpFinder(meth_set_breast, meth_set_breast$Status,type="categorical") head(dmp) ## ------------------------------------------------------------------------ dmp_gr <- granges(gm_set[rownames(dmp),]) dmps_track <- epivizChart(dmp_gr, parent=epivizEnv, datasource_name="Differentially Methylated Positions") dmps_track ## ---- eval=FALSE--------------------------------------------------------- # epivizEnv ## ------------------------------------------------------------------------ betas <- getBeta(gratio_set) pd <- pData(gratio_set) fac <- paste(pd$Tissue, pd$Status, sep=":") sample_indices <- split(seq(len=nrow(pd)), fac) mean_betas <- sapply(sample_indices, function(ind) rowMeans(betas[, ind])) head(mean_betas) ## ------------------------------------------------------------------------ cpg_gr <- granges(gm_set) mcols(cpg_gr) <- mean_betas colors <- brewer.pal(4, "Spectral") beta_track <- epivizChart(cpg_gr, datasource_name="Percent Methylation", type="bp", parent=epivizEnv, colors=colors) beta_track ## ------------------------------------------------------------------------ dmp_gr$pval <- -log10(dmp$pval) ## ------------------------------------------------------------------------ pvals_track <- epivizChart(dmp_gr, parent=epivizEnv, chart="StackedLineTrack", columns="pval", type="bp") pvals_track ## ------------------------------------------------------------------------ dmp_gr$methylation_diff = mean_betas[, "breast:cancer"] - mean_betas[, "breast:normal"] dmp_gr$methylation_avg = 0.5 * (mean_betas[, "breast:cancer"] + mean_betas[, "breast:normal"]) ma_plot <- epivizChart(dmp_gr, parent=epivizEnv, chart="ScatterPlot", columns=c("methylation_avg", "methylation_diff"), type="bp") ma_plot ## ---- eval=FALSE--------------------------------------------------------- # # epivizEnv$navigate("chr11", 44182278, 44631716) #ALX4 # epivizEnv$navigate("chr11", 119819400, 120150600) #TRIM29 # # epivizEnv ## ------------------------------------------------------------------------ # initialize a region as a navigation element epivizNav <- epivizEnv$init_region(chr="chr11", start=119819400, end=120150600) epivizEnv ## ------------------------------------------------------------------------ epivizEnv$remove_all_charts() ## ------------------------------------------------------------------------ genes_track <- epivizChart(Homo.sapiens, parent=epivizEnv) cgi_track <- epivizChart(cgi_gr, parent=epivizEnv, datasource_name="CpG Islands") bcode_hmap <- epivizChart(bcode_eset, parent=epivizEnv, datasource_name="Gene Expression Barcode", chart="HeatmapPlot", settings=settings) ## ------------------------------------------------------------------------ promoter_track <- epivizChart(promoter_regions, datasource_name="Promoters", parent=epivizEnv) beta_track <- epivizChart(cpg_gr, datasource_name="Percent Methylation", type="bp", parent=epivizEnv, colors=colors) ## ------------------------------------------------------------------------ # first subset to breast samples gratio_set_breast <- gratio_set[, which(gratio_set$Tissue == "breast")] # make a design matrix to use with bumphunter status <- pData(gratio_set_breast)$Status mod <- model.matrix(~status) # cluster cpgs into regions holding potential dmrs gr <- granges(gratio_set_breast) chr <- as.factor(seqnames(gr)) pos <- start(gr) cl <- clusterMaker(chr, pos, maxGap=500) # find dmrs bumps <- bumphunter(gratio_set_breast, mod, cluster=cl, cutoff=0.1, B=0) ## ------------------------------------------------------------------------ # categorize dmrs by type dmr_gr <- with(bumps$table, GRanges(chr, IRanges(start, end), area=area, value=value)) dmr_gr$type <- ifelse(abs(dmr_gr$value) < 0.1, "neither", ifelse(dmr_gr$value < 0, "hypo", "hyper")) table(dmr_gr$type) # make a GRanges object for each dmr type hyper_gr <- dmr_gr[dmr_gr$type == "hyper"] hypo_gr <- dmr_gr[dmr_gr$type == "hypo"] # add each of these as a datasource on epiviz hypo_ds <- epivizEnv$data_mgr$add_measurements(hypo_gr, datasource_name="Hypo DMRs") hyper_ds <- epivizEnv$data_mgr$add_measurements(hyper_gr, datasource_name="Hyper DMRs") # add the track measurements <- c(hypo_ds$get_measurements(), hyper_ds$get_measurements()) dmr_track <- epivizChart(chart="BlocksTrack", measurements=measurements, parent=epivizEnv) dmr_track ## ------------------------------------------------------------------------ epivizEnv ## ----eval=FALSE---------------------------------------------------------- # hyper_promoters <- subsetByOverlaps(hyper_gr, promoter_regions) # o <- order(-hyper_promoters$area)[1:5] # top_promoters <- hyper_promoters[o,] # top_promoters <- top_promoters + 10000 # # # Exercise: add navigation elements for different regions/navigate the environment # ## ------------------------------------------------------------------------ epivizEnv$remove_all_charts() ## ----eval=FALSE---------------------------------------------------------- # genes_track <- epivizChart(Homo.sapiens, parent=epivizEnv) # cgi_track <- epivizChart(cgi_gr, parent=epivizEnv, datasource_name="CpG Islands") # bcode_hmap <- epivizChart(bcode_eset, parent=epivizEnv, datasource_name="Gene Expression Barcode", chart="HeatmapPlot") ## ----eval=FALSE---------------------------------------------------------- # promoter_track <- epivizChart(promoter_regions, datasource_name="Promoters", parent=epivizEnv) # beta_track <- epivizChart(cpg_gr, datasource_name="Percent Methylation", type="bp", parent=epivizEnv, colors=colors) ## ----eval=FALSE---------------------------------------------------------- # cpg_gr$breast_diff <- cpg_gr$`breast:cancer` - cpg_gr$`breast:normal` # diff_track <- epivizChart(cpg_gr, datasource_name="Methylation Beta Difference", type="bp", # columns="breast_diff", parent=epivizEnv) # # diff_track ## ----eval=FALSE---------------------------------------------------------- # cl <- cpgCollapse(gratio_set_breast) # blocks <- blockFinder(cl$object, mod, cluster=cl$blockInfo$pns, cutoff = 0.1) ## ----eval=FALSE---------------------------------------------------------- # blocks_gr <- with(blocks$table, GRanges(chr, IRanges(start, end), area=area, value=value)) # blocks_gr$type <- ifelse(abs(blocks_gr$value) < 0.1, "neither", # ifelse(blocks_gr$value < 0, "hypo", "hyper")) # table(blocks_gr$type) # # hypo_blocks <- blocks_gr[blocks_gr$type == "hypo",] # hypo_track <- epivizChart(hypo_blocks, datasource_name="Breast Hypo Blocks", parent=epivizEnv) # hypo_track ## ---- eval=FALSE--------------------------------------------------------- # o <- order(-width(hypo_blocks))[1:5] # slideshow_regions <- hypo_blocks[o,] * .5 # # # Exercise: add navigation elements for different regions/navigate the environment # ## ----eval=FALSE---------------------------------------------------------- # gene_regions <- genes(TxDb.Hsapiens.UCSC.hg19.knownGene,columns="gene_id", # single.strand.genes.only=TRUE) # hypo_gene_blocks <- subsetByOverlaps(hypo_blocks, gene.regions) # o <- order(-hypo_gene_blocks$area)[1:5] # slideshow_regions <- hypo_gene_blocks[o,] * .5 # # # Exercise: add navigation elements for different regions/navigate the environment #