## ----message=FALSE------------------------------------------------------------ library(nullrangesData) dhs <- DHSA549Hg38() ## ----------------------------------------------------------------------------- library(nullranges) ## ----------------------------------------------------------------------------- set.seed(5) # reproducibility library(microbenchmark) blockLength <- 5e5 microbenchmark( list=alist( p_within=bootRanges(dhs, blockLength=blockLength, type="permute", withinChrom=TRUE), b_within=bootRanges(dhs, blockLength=blockLength, type="bootstrap", withinChrom=TRUE), p_across=bootRanges(dhs, blockLength=blockLength, type="permute", withinChrom=FALSE), b_across=bootRanges(dhs, blockLength=blockLength, type="bootstrap", withinChrom=FALSE) ), times=10) ## ----------------------------------------------------------------------------- library(GenomicRanges) seq_nms <- rep(c("chr1","chr2","chr3"),c(4,5,2)) gr <- GRanges(seqnames=seq_nms, IRanges(start=c(1,101,121,201, 101,201,216,231,401, 1,101), width=c(20, 5, 5, 30, 20, 5, 5, 5, 30, 80, 40)), seqlengths=c(chr1=300,chr2=450,chr3=200), chr=factor(seq_nms)) ## ----------------------------------------------------------------------------- suppressPackageStartupMessages(library(plotgardener)) plotGRanges <- function(gr) { pageCreate(width = 5, height = 2, xgrid = 0, ygrid = 0, showGuides = FALSE) for (i in seq_along(seqlevels(gr))) { chrom <- seqlevels(gr)[i] chromend <- seqlengths(gr)[[chrom]] suppressMessages({ p <- pgParams(chromstart = 0, chromend = chromend, x = 0.5, width = 4*chromend/500, height = 0.5, at = seq(0, chromend, 50), fill = colorby("chr", palette=palette.colors)) prngs <- plotRanges(data = gr, params = p, chrom = chrom, y = 0.25 + (i-1)*.7, just = c("left", "bottom")) annoGenomeLabel(plot = prngs, params = p, y = 0.30 + (i-1)*.7) }) } } ## ----toyranges, fig.width=5, fig.height=2------------------------------------- plotGRanges(gr) ## ----perm-within, fig.width=5, fig.height=2----------------------------------- for (i in 1:2) { gr_prime <- bootRanges(gr, blockLength=100, type="permute", withinChrom=TRUE) plotGRanges(gr_prime) } ## ----boot-within, fig.width=5, fig.height=2----------------------------------- for (i in 1:2) { gr_prime <- bootRanges(gr, blockLength=100, withinChrom=TRUE) plotGRanges(gr_prime) } ## ----perm-across, fig.width=5, fig.height=2----------------------------------- for (i in 1:2) { gr_prime <- bootRanges(gr, blockLength=200, type="permute", withinChrom=FALSE) plotGRanges(gr_prime) } ## ----boot-across, fig.width=5, fig.height=2----------------------------------- for (i in 1:2) { gr_prime <- bootRanges(gr, blockLength=200, withinChrom=FALSE) plotGRanges(gr_prime) } ## ----------------------------------------------------------------------------- sessionInfo()