1 Basic genomic regions exploration

Project: Example run.

2 Introduction

This report is meant to help explore a set of genomic regions and was generated using the regionReport (Collado-Torres, Jaffe, and Leek, 2016) package. While the report is rich, it is meant to just start the exploration of the results and exemplify some of the code used to do so. If you need a more in-depth analysis for your specific data set you might want to use the customCode argument.

Most plots were made with using ggplot2 (Wickham, 2016).

2.1 Code setup

## knitrBoostrap and device chunk options
library('knitr')
opts_chunk$set(bootstrap.show.code = FALSE, dev = device, crop = NULL)
if(!outputIsHTML) opts_chunk$set(bootstrap.show.code = FALSE, dev = device, echo = FALSE)
#### Libraries needed

## Bioconductor
library('bumphunter')
## Loading required package: foreach
## Loading required package: iterators
## Loading required package: parallel
## Loading required package: locfit
## locfit 1.5-9.7    2023-01-02
library('derfinder')
library('derfinderPlot')
library('GenomeInfoDb')
library('GenomicRanges')
library('ggbio')

## Transcription database to use by default
if(is.null(txdb)) {
    library('TxDb.Hsapiens.UCSC.hg19.knownGene')
    txdb <- TxDb.Hsapiens.UCSC.hg19.knownGene::TxDb.Hsapiens.UCSC.hg19.knownGene
}

## CRAN
library('ggplot2')
if(!is.null(theme)) theme_set(theme)
library('grid')
library('gridExtra')
library('knitr')
library('RColorBrewer')
library('mgcv')
library('whisker')
library('DT')
library('sessioninfo')

#### Code setup

## For ggplot
tmp <- regions
names(tmp) <- seq_len(length(tmp))
regions.df <- as.data.frame(tmp)
regions.df$width <- width(tmp)
rm(tmp)

## Special subsets: need at least 3 points for a density plot
keepChr <- table(regions.df$seqnames) > 2
regions.df.plot <- subset(regions.df, seqnames %in% names(keepChr[keepChr]))

if(hasSignificant) {
    ## Keep only those sig
    regions.df.sig <- regions.df[significantVar, ]
    keepChr <- table(regions.df.sig$seqnames) > 2
    regions.df.sig <- subset(regions.df.sig, seqnames %in% names(keepChr[keepChr]))
}

## Find which chrs are present in the data set
chrs <- levels(seqnames(regions))

## areaVar initialize
areaVar <- NULL

3 Quality checks

for(i in seq_len(length(pvalueVars))) {
    densityVarName <- names(pvalueVars[i])
    densityVarName <- ifelse(is.null(densityVarName), pvalueVars[i], densityVarName)
   cat(knit_child(text = whisker.render(templatePvalueDensityInUse, list(varName = pvalueVars[i], densityVarName = densityVarName)), quiet = TRUE), sep = '\n')
}

3.1 Q-values

p1qvalues <- ggplot(regions.df.plot, aes(x=qvalues, colour=seqnames)) +
    geom_line(stat='density') + xlim(0, 1) +
    labs(title='Density of Q-values') + xlab('Q-values') +
    scale_colour_discrete(limits=chrs) + theme(legend.title=element_blank())
p1qvalues

summary(mcols(regions)[['qvalues']])
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## 0.001848 0.012939 0.393715 0.314625 0.482440 0.885397

This is the numerical summary of the distribution of the Q-values.

qvaluestable <- lapply(c(1e-04, 0.001, 0.01, 0.025, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5,
    0.6, 0.7, 0.8, 0.9, 1), function(x) {
    data.frame('Cut' = x, 'Count' = sum(mcols(regions)[['qvalues']] <= x))
})
qvaluestable <- do.call(rbind, qvaluestable)
if(outputIsHTML) {
    kable(qvaluestable, format = 'markdown', align = c('c', 'c'))
} else {
    kable(qvaluestable)
}
Cut Count
0.0001 0
0.0010 0
0.0100 7
0.0250 10
0.0500 10
0.1000 12
0.2000 15
0.3000 15
0.4000 19
0.5000 25
0.6000 28
0.7000 29
0.8000 32
0.9000 33
1.0000 33

This table shows the number of regions with Q-values less or equal than some commonly used cutoff values.

3.2 P-values

p1pvalues <- ggplot(regions.df.plot, aes(x=pvalues, colour=seqnames)) +
    geom_line(stat='density') + xlim(0, 1) +
    labs(title='Density of P-values') + xlab('P-values') +
    scale_colour_discrete(limits=chrs) + theme(legend.title=element_blank())
p1pvalues

summary(mcols(regions)[['pvalues']])
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## 0.001581 0.003690 0.049524 0.033598 0.049524 0.068856

This is the numerical summary of the distribution of the P-values.

pvaluestable <- lapply(c(1e-04, 0.001, 0.01, 0.025, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5,
    0.6, 0.7, 0.8, 0.9, 1), function(x) {
    data.frame('Cut' = x, 'Count' = sum(mcols(regions)[['pvalues']] <= x))
})
pvaluestable <- do.call(rbind, pvaluestable)
if(outputIsHTML) {
    kable(pvaluestable, format = 'markdown', align = c('c', 'c'))
} else {
    kable(pvaluestable)
}
Cut Count
0.0001 0
0.0010 0
0.0100 10
0.0250 12
0.0500 25
0.1000 33
0.2000 33
0.3000 33
0.4000 33
0.5000 33
0.6000 33
0.7000 33
0.8000 33
0.9000 33
1.0000 33

This table shows the number of regions with P-values less or equal than some commonly used cutoff values.

3.3 Region width

xrange <- range(log10(regions.df.plot$width)) * c(0.95, 1.05)
p2a <- ggplot(regions.df.plot, aes(x=log10(width), colour=seqnames)) + 
    geom_line(stat='density') + labs(title='Density of region lengths') +
    xlab('Region width (log10)') + scale_colour_discrete(limits=chrs) +
    xlim(xrange) + theme(legend.title=element_blank())
p2b <- ggplot(regions.df.sig, aes(x=log10(width), colour=seqnames)) +
    geom_line(stat='density') +
    labs(title='Density of region lengths (significant only)') +
    xlab('Region width (log10)') + scale_colour_discrete(limits=chrs) +
    xlim(xrange) + theme(legend.title=element_blank())
grid.arrange(p2a, p2b)

This plot shows the density of the region lengths for all regions. The bottom panel is restricted to significant regions.

for(i in seq_len(length(densityVars))) {
    densityVarName <- names(densityVars[i])
    densityVarName <- ifelse(is.null(densityVarName), densityVars[i], densityVarName)
   cat(knit_child(text = whisker.render(templateDensityInUse, list(varName = densityVars[i], densityVarName = densityVarName)), quiet = TRUE), sep = '\n')
}

3.4 Area

xrange <- range(regions.df.plot[, 'area']) * c(0.95, 1.05)
p3aarea <- ggplot(regions.df.plot[is.finite(regions.df.plot[, 'area']), ], aes(x=area, colour=seqnames)) +
    geom_line(stat='density') + labs(title='Density of Area') +
    xlab('Area') + scale_colour_discrete(limits=chrs) +
    xlim(xrange) + theme(legend.title=element_blank())
p3barea <- ggplot(regions.df.sig[is.finite(regions.df.sig[, 'area']), ], aes(x=area, colour=seqnames)) +
    geom_line(stat='density') +
    labs(title='Density of Area (significant only)') +
    xlab('Area') + scale_colour_discrete(limits=chrs) +
    xlim(xrange) + theme(legend.title=element_blank())
grid.arrange(p3aarea, p3barea)

This plot shows the density of the Area for all regions. The bottom panel is restricted to significant regions.

3.5 Mean coverage

xrange <- range(regions.df.plot[, 'meanCoverage']) * c(0.95, 1.05)
p3ameanCoverage <- ggplot(regions.df.plot[is.finite(regions.df.plot[, 'meanCoverage']), ], aes(x=meanCoverage, colour=seqnames)) +
    geom_line(stat='density') + labs(title='Density of Mean coverage') +
    xlab('Mean coverage') + scale_colour_discrete(limits=chrs) +
    xlim(xrange) + theme(legend.title=element_blank())
p3bmeanCoverage <- ggplot(regions.df.sig[is.finite(regions.df.sig[, 'meanCoverage']), ], aes(x=meanCoverage, colour=seqnames)) +
    geom_line(stat='density') +
    labs(title='Density of Mean coverage (significant only)') +
    xlab('Mean coverage') + scale_colour_discrete(limits=chrs) +
    xlim(xrange) + theme(legend.title=element_blank())
grid.arrange(p3ameanCoverage, p3bmeanCoverage)

This plot shows the density of the Mean coverage for all regions. The bottom panel is restricted to significant regions.

4 Genomic overview

The following plots were made using ggbio (Yin, Cook, and Lawrence, 2012) which in turn uses ggplot2 (Wickham, 2016). For more details check plotOverview in derfinderPlot (Collado-Torres, Jaffe, and Leek, 2017).

4.1 P-values

## Choose what variable to show on the top
tmp <- regions
tmp$significant <- factor(significantVar, levels = c('TRUE', 'FALSE'))
if(!'area' %in% colnames(mcols(tmp))) {
    if(hasDensityVars) {
        tmp$area <- mcols(tmp)[[densityVars[1]]]
        areaVar <- densityVars[1]
        areaVar <- ifelse(is.null(names(areaVar)), densityVars[1], names(areaVar))
    } else {
        tmp$area <- 0
        areaVar <- NULL
    }
} else {
    areaVar <- 'area'
}
plotOverview(regions=tmp, type='pval', base_size=overviewParams$base_size, areaRel=overviewParams$areaRel, legend.position=c(0.97, 0.12))
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position = "identity", : Ignoring unknown
## parameters: `base_size`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position = "identity", : Ignoring unknown
## parameters: `base_size`

rm(tmp)

This plot shows the genomic locations of the regions found in the analysis. The significant regions are highlighted and the area of the regions is shown on top of each chromosome (shown in a relative scale).

for(i in seq_len(length(pvalueVars))) {
    densityVarName <- names(pvalueVars[i])
    densityVarName <- ifelse(is.null(densityVarName), pvalueVars[i], densityVarName)
   cat(knit_child(text = whisker.render(templateManhattanInUse, list(varName = pvalueVars[i], densityVarName = densityVarName)), quiet = TRUE), sep = '\n')
}

4.2 Manhattan Q-values

regions.manhattan <- regions
mcols(regions.manhattan)[['qvalues']] <- - log(mcols(regions.manhattan)[['qvalues']], base = 10)
pManqvalues <- plotGrandLinear(regions.manhattan, aes(y = qvalues, colour = seqnames)) + theme(axis.text.x=element_text(angle=-90, hjust=0)) + ylab('-log10 Q-values')
pManqvalues

rm(regions.manhattan)

This is a Manhattan plot for the Q-values for all regions. A single dot is shown for each region, where higher values in the y-axis mean that the Q-values are closer to zero.

4.3 Manhattan P-values

regions.manhattan <- regions
mcols(regions.manhattan)[['pvalues']] <- - log(mcols(regions.manhattan)[['pvalues']], base = 10)
pManpvalues <- plotGrandLinear(regions.manhattan, aes(y = pvalues, colour = seqnames)) + theme(axis.text.x=element_text(angle=-90, hjust=0)) + ylab('-log10 P-values')
pManpvalues

rm(regions.manhattan)

This is a Manhattan plot for the P-values for all regions. A single dot is shown for each region, where higher values in the y-axis mean that the P-values are closer to zero.

4.4 Annotation

## Annotate regions with bumphunter
if(is.null(annotation)) {
    genes <- annotateTranscripts(txdb = txdb)
    annotation <- matchGenes(x = regions, subject = genes)
}
## Warning in library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : there is no package
## called 'org.Hs.eg.db'
## Make the plot
plotOverview(regions=regions, annotation=annotation, type='annotation', base_size=overviewParams$base_size, areaRel=overviewParams$areaRel, legend.position=c(0.97, 0.12))

This genomic overview plot shows the annotation region type for the regions as determined using bumphunter (Jaffe, Murakami, Lee, Leek, Fallin, Feinberg, and Irizarry, 2012). Note that the regions are shown only if the annotation information is available. Below is a table of the actual number of results per annotation region type.

annoReg <- table(annotation$region, useNA='always')
annoReg.df <- data.frame(Region=names(annoReg), Count=as.vector(annoReg))
if(outputIsHTML) {
    kable(annoReg.df, format = 'markdown', align=rep('c', 3))
} else {
    kable(annoReg.df)
}
Region Count
upstream 0
promoter 0
overlaps 5’ 0
inside 33
overlaps 3’ 0
close to 3’ 0
downstream 0
covers 0
NA 0

4.5 Annotation (significant)

plotOverview(regions=regions[significantVar, ], annotation=annotation[significantVar, ], type='annotation', base_size=overviewParams$base_size, areaRel=overviewParams$areaRel, legend.position=c(0.97, 0.12))

This genomic overview plot shows the annotation region type for the statistically significant regions. Note that the regions are shown only if the annotation information is available.

5 Best regions

5.1 Genomic states

Below is a table summarizing the number of genomic states per region as determined using derfinder (Collado-Torres, Nellore, Frazee et al., 2017).

## Construct genomic state object
genomicState <- makeGenomicState(txdb = txdb, chrs = chrs, verbose = FALSE)
## 'select()' returned 1:1 mapping between keys and columns
## Annotate regions by genomic state
annotatedRegions <- annotateRegions(regions, genomicState$fullGenome, verbose = FALSE)

## Genomic states table
info <- do.call(rbind, lapply(annotatedRegions$countTable, function(x) { data.frame(table(x)) }))
colnames(info) <- c('Number of Overlapping States', 'Frequency')
info$State <- gsub('\\..*', '', rownames(info))
rownames(info) <- NULL
if(outputIsHTML) {
    kable(info, format = 'markdown', align=rep('c', 4))
} else {
    kable(info)
}
Number of Overlapping States Frequency State
0 3 exon
1 30 exon
0 33 intergenic
0 29 intron
1 4 intron

The following is a venn diagram showing how many regions overlap known exons, introns, and intergenic segments, none of them, or multiple of these groups.

## Venn diagram for all regions
venn <- vennRegions(annotatedRegions, counts.col = 'blue', 
    main = 'Regions overlapping genomic states')

The following plot is the genomic states venn diagram only for the significant regions.

## Venn diagram for all regions
vennSig <- vennRegions(annotatedRegions, counts.col = 'blue', 
    main = 'Significant regions overlapping genomic states',
    subsetIndex = significantVar)

5.2 Region information

Below is an interactive table with the top 20 regions (out of 33) as ranked by p-value . Inf and -Inf are shown as 1e100 and -1e100 respectively. Use the search function to find your region of interest or sort by one of the columns.

## Add annotation information
regions.df <- cbind(regions.df, annotation)

## Rank by p-value (first pvalue variable supplied)
if(hasPvalueVars){
    topRegions <- head(regions.df[order(regions.df[, pvalueVars[1]], 
        decreasing = FALSE), ], nBestRegions)
    topRegions <- cbind(data.frame('pvalueRank' = seq_len(nrow(topRegions))), 
        topRegions)
} else {
    topRegions <- head(regions.df, nBestRegions)
}

## Clean up -Inf, Inf if present
## More details at https://github.com/ramnathv/rCharts/issues/259
replaceInf <- function(df, colsubset=seq_len(ncol(df))) {
    for(i in colsubset) {
        inf.idx <- !is.finite(df[, i])
        if(any(inf.idx)) {
            inf.sign <- sign(df[inf.idx, i])
            df[inf.idx, i] <- inf.sign * 1e100
        }
    }
    return(df)
}
topRegions <- replaceInf(topRegions, which(sapply(topRegions, function(x) {
    class(x) %in% c('numeric', 'integer')})))

## Make the table
greptext <- 'value$|area$|mean|log2FoldChange'
greppval <- 'pvalues$|qvalues$|fwer$'
if(hasPvalueVars) {
    greppval <- paste0(paste(pvalueVars, collapse = '$|'), '$|', greppval)
}
if(hasDensityVars) {
    greptext <- paste0(paste(densityVars, collapse = '$|'), '$|', greptext)
}

for(i in which(grepl(greppval, colnames(topRegions)))) topRegions[, i] <- format(topRegions[, i], scientific = TRUE)

if(outputIsHTML) {
    datatable(topRegions, options = list(pagingType='full_numbers', pageLength=10, scrollX='100%'), rownames = FALSE) %>% formatRound(which(grepl(greptext, colnames(topRegions))), digits)
} else {
    ## Only print the top part if your output is a PDF file
    df_top <- head(topRegions, 20)
    for(i in which(grepl(greptext, colnames(topRegions)))) df_top[, i] <- round(df_top[, i], digits)
    kable(df_top)
}

6 Reproducibility

This report was generated in path /__w/regionReport/regionReport/docs/reference using the following call to renderReport():

## renderReport(regions = regions, project = "Example run", pvalueVars = c(`Q-values` = "qvalues", 
##     `P-values` = "pvalues"), densityVars = c(Area = "area", `Mean coverage` = "meanCoverage"), 
##     significantVar = regions$qvalues <= 0.05, nBestRegions = 20, 
##     outdir = "renderReport-example")

Date the report was generated.

## [1] "2023-05-07 05:34:49 UTC"

Wallclock time spent generating the report.

## Time difference of 57.996 secs

R session information.

## ─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────
##  setting  value
##  version  R version 4.3.0 (2023-04-21)
##  os       Ubuntu 22.04.2 LTS
##  system   x86_64, linux-gnu
##  ui       X11
##  language en
##  collate  C
##  ctype    en_US.UTF-8
##  tz       UTC
##  date     2023-05-07
##  pandoc   2.19.2 @ /usr/local/bin/ (via rmarkdown)
## 
## ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────
##  package                           * version   date (UTC) lib source
##  annotate                            1.78.0    2023-04-25 [1] Bioconductor
##  AnnotationDbi                     * 1.62.1    2023-05-02 [1] Bioconductor
##  AnnotationFilter                    1.24.0    2023-04-25 [1] Bioconductor
##  backports                           1.4.1     2021-12-13 [1] CRAN (R 4.3.0)
##  base64enc                           0.1-3     2015-07-28 [2] RSPM (R 4.3.0)
##  bibtex                              0.5.1     2023-01-26 [1] RSPM (R 4.3.0)
##  Biobase                           * 2.60.0    2023-04-25 [1] Bioconductor
##  BiocFileCache                       2.8.0     2023-04-25 [1] Bioconductor
##  BiocGenerics                      * 0.46.0    2023-04-25 [1] Bioconductor
##  BiocIO                              1.10.0    2023-04-25 [1] Bioconductor
##  BiocManager                         1.30.20   2023-02-24 [2] CRAN (R 4.3.0)
##  BiocParallel                      * 1.34.1    2023-05-05 [1] Bioconductor
##  BiocStyle                         * 2.28.0    2023-04-25 [1] Bioconductor
##  biomaRt                             2.56.0    2023-04-25 [1] Bioconductor
##  Biostrings                          2.68.0    2023-04-25 [1] Bioconductor
##  biovizBase                        * 1.48.0    2023-04-25 [1] Bioconductor
##  bit                                 4.0.5     2022-11-15 [1] CRAN (R 4.3.0)
##  bit64                               4.0.5     2020-08-30 [1] CRAN (R 4.3.0)
##  bitops                              1.0-7     2021-04-24 [1] CRAN (R 4.3.0)
##  blob                                1.2.4     2023-03-17 [1] RSPM (R 4.3.0)
##  bookdown                            0.33      2023-03-06 [1] RSPM (R 4.3.0)
##  BSgenome                            1.68.0    2023-04-25 [1] Bioconductor
##  bslib                               0.4.2     2022-12-16 [2] RSPM (R 4.3.0)
##  bumphunter                        * 1.42.0    2023-04-25 [1] Bioconductor
##  cachem                              1.0.8     2023-05-01 [2] RSPM (R 4.3.0)
##  callr                               3.7.3     2022-11-02 [2] RSPM (R 4.3.0)
##  checkmate                           2.2.0     2023-04-27 [1] RSPM (R 4.3.0)
##  cli                                 3.6.1     2023-03-23 [2] RSPM (R 4.3.0)
##  cluster                             2.1.4     2022-08-22 [3] CRAN (R 4.3.0)
##  codetools                           0.2-19    2023-02-01 [3] CRAN (R 4.3.0)
##  colorspace                          2.1-0     2023-01-23 [1] RSPM (R 4.3.0)
##  crayon                              1.5.2     2022-09-29 [2] RSPM (R 4.3.0)
##  crosstalk                           1.2.0     2021-11-04 [1] CRAN (R 4.3.0)
##  curl                                5.0.0     2023-01-12 [2] RSPM (R 4.3.0)
##  data.table                          1.14.8    2023-02-17 [1] RSPM (R 4.3.0)
##  DBI                                 1.1.3     2022-06-18 [1] CRAN (R 4.3.0)
##  dbplyr                              2.3.2     2023-03-21 [1] RSPM (R 4.3.0)
##  DEFormats                         * 1.28.0    2023-04-25 [1] Bioconductor
##  DelayedArray                        0.26.2    2023-05-05 [1] Bioconductor
##  derfinder                         * 1.34.0    2023-04-25 [1] Bioconductor
##  derfinderHelper                     1.34.0    2023-04-25 [1] Bioconductor
##  derfinderPlot                     * 1.34.0    2023-04-25 [1] Bioconductor
##  desc                                1.4.2     2022-09-08 [2] RSPM (R 4.3.0)
##  DESeq2                            * 1.40.1    2023-05-02 [1] Bioconductor
##  devtools                            2.4.5     2022-10-11 [2] RSPM (R 4.3.0)
##  DEXSeq                            * 1.46.0    2023-04-25 [1] Bioconductor
##  dichromat                           2.0-0.1   2022-05-02 [1] CRAN (R 4.3.0)
##  digest                              0.6.31    2022-12-11 [2] RSPM (R 4.3.0)
##  doRNG                               1.8.6     2023-01-16 [1] RSPM (R 4.3.0)
##  downlit                             0.4.2     2022-07-05 [2] RSPM (R 4.3.0)
##  dplyr                               1.1.2     2023-04-20 [1] RSPM (R 4.3.0)
##  DT                                * 0.27      2023-01-17 [1] RSPM (R 4.3.0)
##  edgeR                             * 3.42.2    2023-05-02 [1] Bioconductor
##  ellipsis                            0.3.2     2021-04-29 [2] RSPM (R 4.3.0)
##  ensembldb                           2.24.0    2023-04-25 [1] Bioconductor
##  evaluate                            0.20      2023-01-17 [2] RSPM (R 4.3.0)
##  fansi                               1.0.4     2023-01-22 [2] RSPM (R 4.3.0)
##  farver                              2.1.1     2022-07-06 [1] CRAN (R 4.3.0)
##  fastmap                             1.1.1     2023-02-24 [2] RSPM (R 4.3.0)
##  filelock                            1.0.2     2018-10-05 [1] CRAN (R 4.3.0)
##  foreach                           * 1.5.2     2022-02-02 [1] CRAN (R 4.3.0)
##  foreign                             0.8-84    2022-12-06 [3] CRAN (R 4.3.0)
##  Formula                             1.2-5     2023-02-24 [1] RSPM (R 4.3.0)
##  fs                                  1.6.2     2023-04-25 [2] RSPM (R 4.3.0)
##  genefilter                          1.82.1    2023-05-02 [1] Bioconductor
##  geneplotter                         1.78.0    2023-04-25 [1] Bioconductor
##  generics                            0.1.3     2022-07-05 [1] CRAN (R 4.3.0)
##  GenomeInfoDb                      * 1.36.0    2023-04-25 [1] Bioconductor
##  GenomeInfoDbData                    1.2.10    2023-05-07 [1] Bioconductor
##  GenomicAlignments                   1.36.0    2023-04-25 [1] Bioconductor
##  GenomicFeatures                   * 1.52.0    2023-04-25 [1] Bioconductor
##  GenomicFiles                        1.36.0    2023-04-25 [1] Bioconductor
##  GenomicRanges                     * 1.52.0    2023-04-25 [1] Bioconductor
##  GGally                              2.1.2     2021-06-21 [1] CRAN (R 4.3.0)
##  ggbio                             * 1.48.0    2023-04-25 [1] Bioconductor
##  ggplot2                           * 3.4.2     2023-04-03 [1] RSPM (R 4.3.0)
##  glue                                1.6.2     2022-02-24 [2] RSPM (R 4.3.0)
##  graph                               1.78.0    2023-04-25 [1] Bioconductor
##  gridExtra                         * 2.3       2017-09-09 [1] CRAN (R 4.3.0)
##  gtable                              0.3.3     2023-03-21 [1] RSPM (R 4.3.0)
##  highr                               0.10      2022-12-22 [2] RSPM (R 4.3.0)
##  Hmisc                               5.0-1     2023-03-08 [1] RSPM (R 4.3.0)
##  hms                                 1.1.3     2023-03-21 [1] RSPM (R 4.3.0)
##  htmlTable                           2.4.1     2022-07-07 [1] CRAN (R 4.3.0)
##  htmltools                           0.5.5     2023-03-23 [2] RSPM (R 4.3.0)
##  htmlwidgets                         1.6.2     2023-03-17 [2] RSPM (R 4.3.0)
##  httpuv                              1.6.9     2023-02-14 [2] RSPM (R 4.3.0)
##  httr                                1.4.5     2023-02-24 [2] RSPM (R 4.3.0)
##  hwriter                             1.3.2.1   2022-04-08 [1] CRAN (R 4.3.0)
##  IRanges                           * 2.34.0    2023-04-25 [1] Bioconductor
##  iterators                         * 1.0.14    2022-02-05 [1] CRAN (R 4.3.0)
##  jquerylib                           0.1.4     2021-04-26 [2] RSPM (R 4.3.0)
##  jsonlite                            1.8.4     2022-12-06 [2] RSPM (R 4.3.0)
##  KEGGREST                            1.40.0    2023-04-25 [1] Bioconductor
##  knitr                             * 1.42      2023-01-25 [2] RSPM (R 4.3.0)
##  knitrBootstrap                      1.0.2     2018-05-24 [1] CRAN (R 4.3.0)
##  labeling                            0.4.2     2020-10-20 [1] CRAN (R 4.3.0)
##  later                               1.3.1     2023-05-02 [2] RSPM (R 4.3.0)
##  lattice                             0.21-8    2023-04-05 [3] CRAN (R 4.3.0)
##  lazyeval                            0.2.2     2019-03-15 [1] CRAN (R 4.3.0)
##  lifecycle                           1.0.3     2022-10-07 [2] RSPM (R 4.3.0)
##  limma                             * 3.56.0    2023-04-25 [1] Bioconductor
##  locfit                            * 1.5-9.7   2023-01-02 [1] RSPM (R 4.3.0)
##  lubridate                           1.9.2     2023-02-10 [1] RSPM (R 4.3.0)
##  magrittr                            2.0.3     2022-03-30 [2] RSPM (R 4.3.0)
##  markdown                            1.6       2023-04-07 [1] RSPM (R 4.3.0)
##  Matrix                              1.5-4     2023-04-04 [3] CRAN (R 4.3.0)
##  MatrixGenerics                    * 1.12.0    2023-04-25 [1] Bioconductor
##  matrixStats                       * 0.63.0    2022-11-18 [1] CRAN (R 4.3.0)
##  memoise                             2.0.1     2021-11-26 [2] RSPM (R 4.3.0)
##  mgcv                              * 1.8-42    2023-03-02 [3] CRAN (R 4.3.0)
##  mime                                0.12      2021-09-28 [2] RSPM (R 4.3.0)
##  miniUI                              0.1.1.1   2018-05-18 [2] RSPM (R 4.3.0)
##  munsell                             0.5.0     2018-06-12 [1] CRAN (R 4.3.0)
##  nlme                              * 3.1-162   2023-01-31 [3] CRAN (R 4.3.0)
##  nnet                                7.3-19    2023-05-03 [3] RSPM (R 4.3.0)
##  OrganismDbi                         1.42.0    2023-04-25 [1] Bioconductor
##  pasilla                           * 1.28.0    2023-04-27 [1] Bioconductor
##  pheatmap                          * 1.0.12    2019-01-04 [1] CRAN (R 4.3.0)
##  pillar                              1.9.0     2023-03-22 [2] RSPM (R 4.3.0)
##  pkgbuild                            1.4.0     2022-11-27 [2] RSPM (R 4.3.0)
##  pkgconfig                           2.0.3     2019-09-22 [2] RSPM (R 4.3.0)
##  pkgdown                             2.0.7     2022-12-14 [2] RSPM (R 4.3.0)
##  pkgload                             1.3.2     2022-11-16 [2] RSPM (R 4.3.0)
##  plyr                                1.8.8     2022-11-11 [1] CRAN (R 4.3.0)
##  png                                 0.1-8     2022-11-29 [1] CRAN (R 4.3.0)
##  prettyunits                         1.1.1     2020-01-24 [2] RSPM (R 4.3.0)
##  processx                            3.8.1     2023-04-18 [2] RSPM (R 4.3.0)
##  profvis                             0.3.8     2023-05-02 [2] RSPM (R 4.3.0)
##  progress                            1.2.2     2019-05-16 [1] CRAN (R 4.3.0)
##  promises                            1.2.0.1   2021-02-11 [2] RSPM (R 4.3.0)
##  ProtGenerics                        1.32.0    2023-04-25 [1] Bioconductor
##  ps                                  1.7.5     2023-04-18 [2] RSPM (R 4.3.0)
##  purrr                               1.0.1     2023-01-10 [2] RSPM (R 4.3.0)
##  qvalue                              2.32.0    2023-04-25 [1] Bioconductor
##  R6                                  2.5.1     2021-08-19 [2] RSPM (R 4.3.0)
##  ragg                                1.2.5     2023-01-12 [2] RSPM (R 4.3.0)
##  rappdirs                            0.3.3     2021-01-31 [2] RSPM (R 4.3.0)
##  RBGL                                1.76.0    2023-04-25 [1] Bioconductor
##  RColorBrewer                      * 1.1-3     2022-04-03 [1] CRAN (R 4.3.0)
##  Rcpp                                1.0.10    2023-01-22 [2] RSPM (R 4.3.0)
##  RCurl                               1.98-1.12 2023-03-27 [1] RSPM (R 4.3.0)
##  RefManageR                          1.4.0     2022-09-30 [1] CRAN (R 4.3.0)
##  regionReport                      * 1.35.0    2023-05-07 [1] Bioconductor
##  remotes                             2.4.2     2021-11-30 [1] RSPM (R 4.3.0)
##  reshape                             0.8.9     2022-04-12 [1] CRAN (R 4.3.0)
##  reshape2                            1.4.4     2020-04-09 [1] CRAN (R 4.3.0)
##  restfulr                            0.0.15    2022-06-16 [1] CRAN (R 4.3.0)
##  rjson                               0.2.21    2022-01-09 [1] CRAN (R 4.3.0)
##  rlang                               1.1.1     2023-04-28 [2] RSPM (R 4.3.0)
##  rmarkdown                           2.21      2023-03-26 [2] RSPM (R 4.3.0)
##  rngtools                            1.5.2     2021-09-20 [1] CRAN (R 4.3.0)
##  rpart                               4.1.19    2022-10-21 [3] CRAN (R 4.3.0)
##  rprojroot                           2.0.3     2022-04-02 [2] RSPM (R 4.3.0)
##  Rsamtools                           2.16.0    2023-04-25 [1] Bioconductor
##  RSQLite                             2.3.1     2023-04-03 [1] RSPM (R 4.3.0)
##  rstudioapi                          0.14      2022-08-22 [2] RSPM (R 4.3.0)
##  rtracklayer                         1.60.0    2023-04-25 [1] Bioconductor
##  S4Arrays                            1.0.1     2023-05-01 [1] Bioconductor
##  S4Vectors                         * 0.38.1    2023-05-02 [1] Bioconductor
##  sass                                0.4.6     2023-05-03 [2] RSPM (R 4.3.0)
##  scales                              1.2.1     2022-08-20 [1] CRAN (R 4.3.0)
##  sessioninfo                       * 1.2.2     2021-12-06 [2] RSPM (R 4.3.0)
##  shiny                               1.7.4     2022-12-15 [2] RSPM (R 4.3.0)
##  statmod                             1.5.0     2023-01-06 [1] RSPM (R 4.3.0)
##  stringi                             1.7.12    2023-01-11 [2] RSPM (R 4.3.0)
##  stringr                             1.5.0     2022-12-02 [2] RSPM (R 4.3.0)
##  SummarizedExperiment              * 1.30.1    2023-05-01 [1] Bioconductor
##  survival                            3.5-5     2023-03-12 [3] CRAN (R 4.3.0)
##  systemfonts                         1.0.4     2022-02-11 [2] RSPM (R 4.3.0)
##  textshaping                         0.3.6     2021-10-13 [2] RSPM (R 4.3.0)
##  tibble                              3.2.1     2023-03-20 [2] RSPM (R 4.3.0)
##  tidyselect                          1.2.0     2022-10-10 [1] CRAN (R 4.3.0)
##  timechange                          0.2.0     2023-01-11 [1] RSPM (R 4.3.0)
##  TxDb.Hsapiens.UCSC.hg19.knownGene * 3.2.2     2022-12-06 [1] Bioconductor
##  urlchecker                          1.0.1     2021-11-30 [2] RSPM (R 4.3.0)
##  usethis                             2.1.6     2022-05-25 [2] RSPM (R 4.3.0)
##  utf8                                1.2.3     2023-01-31 [2] RSPM (R 4.3.0)
##  VariantAnnotation                   1.46.0    2023-04-25 [1] Bioconductor
##  vctrs                               0.6.2     2023-04-19 [2] RSPM (R 4.3.0)
##  whisker                           * 0.4.1     2022-12-05 [2] RSPM (R 4.3.0)
##  withr                               2.5.0     2022-03-03 [2] RSPM (R 4.3.0)
##  xfun                                0.39      2023-04-20 [2] RSPM (R 4.3.0)
##  XML                                 3.99-0.14 2023-03-19 [1] RSPM (R 4.3.0)
##  xml2                                1.3.4     2023-04-27 [2] RSPM (R 4.3.0)
##  xtable                              1.8-4     2019-04-21 [2] RSPM (R 4.3.0)
##  XVector                             0.40.0    2023-04-25 [1] Bioconductor
##  yaml                                2.3.7     2023-01-23 [2] RSPM (R 4.3.0)
##  zlibbioc                            1.46.0    2023-04-25 [1] Bioconductor
## 
##  [1] /__w/_temp/Library
##  [2] /usr/local/lib/R/site-library
##  [3] /usr/local/lib/R/library
## 
## ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Pandoc version used: 2.19.2.

7 Bibliography

This report was created with regionReport (Collado-Torres, Jaffe, and Leek, 2016) using rmarkdown (Allaire, Xie, Dervieux et al., 2023) while knitr (Xie, 2014) and DT (Xie, Cheng, and Tan, 2023) were running behind the scenes. whisker (de Jonge, 2022) was used for creating templates for the pvalueVars and densityVars.

Citations made with RefManageR (McLean, 2017). The BibTeX file can be found here.

[1] J. Allaire, Y. Xie, C. Dervieux, et al. rmarkdown: Dynamic Documents for R. R package version 2.21. 2023. URL: https://github.com/rstudio/rmarkdown.

[2] L. Collado-Torres, A. E. Jaffe, and J. T. Leek. derfinderPlot: Plotting functions for derfinder. https://github.com/leekgroup/derfinderPlot - R package version 1.34.0. 2017. DOI: 10.18129/B9.bioc.derfinderPlot. URL: http://www.bioconductor.org/packages/derfinderPlot.

[3] L. Collado-Torres, A. E. Jaffe, and J. T. Leek. “regionReport: Interactive reports for region-level and feature-level genomic analyses [version2; referees: 2 approved, 1 approved with reservations]”. In: F1000Research 4 (2016), p. 105. DOI: 10.12688/f1000research.6379.2. URL: http://f1000research.com/articles/4-105/v2.

[4] L. Collado-Torres, A. Nellore, A. C. Frazee, et al. “Flexible expressed region analysis for RNA-seq with derfinder”. In: Nucl. Acids Res. (2017). DOI: 10.1093/nar/gkw852. URL: http://nar.oxfordjournals.org/content/early/2016/09/29/nar.gkw852.

[5] A. E. Jaffe, P. Murakami, H. Lee, et al. “Bump hunting to identify differentially methylated regions in epigenetic epidemiology studies”. In: International journal of epidemiology 41.1 (2012), pp. 200–209. DOI: 10.1093/ije/dyr238.

[6] M. W. McLean. “RefManageR: Import and Manage BibTeX and BibLaTeX References in R”. In: The Journal of Open Source Software (2017). DOI: 10.21105/joss.00338.

[7] H. Wickham. ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York, 2016. ISBN: 978-3-319-24277-4. URL: https://ggplot2.tidyverse.org.

[8] Y. Xie. “knitr: A Comprehensive Tool for Reproducible Research in R”. In: Implementing Reproducible Computational Research. Ed. by V. Stodden, F. Leisch and R. D. Peng. ISBN 978-1466561595. Chapman and Hall/CRC, 2014.

[9] Y. Xie, J. Cheng, and X. Tan. DT: A Wrapper of the JavaScript Library ‘DataTables’. R package version 0.27. 2023. URL: https://github.com/rstudio/DT.

[10] T. Yin, D. Cook, and M. Lawrence. “ggbio: an R package for extending the grammar of graphics for genomic data”. In: Genome Biology 13.8 (2012), p. R77.

[11] E. de Jonge. whisker: mustache for R, Logicless Templating. R package version 0.4.1. 2022. URL: https://github.com/edwindj/whisker.