# Introduction to regionReport

Leonardo Collado-Torres1,2*

1Lieber Institute for Brain Development, Johns Hopkins Medical Campus
2Center for Computational Biology, Johns Hopkins University

*lcolladotor@gmail.com

#### 16 March 2020

#### Package

regionReport 1.20.1

# 1 Basics

## 1.1 Install regionReport

`R` is an open-source statistical environment which can be easily modified to enhance its functionality via packages. regionReport is a `R` package available via the Bioconductor repository for packages. `R` can be installed on any operating system from CRAN after which you can install regionReport by using the following commands in your `R` session:

    if (!requireNamespace("BiocManager", quietly = TRUE))
        install.packages("BiocManager")

    BiocManager::install("regionReport")

    ## Check that you have a valid Bioconductor installation
    BiocManager::valid()

## 1.2 Required knowledge

regionReport is based on many other packages and in particular in those that have implemented the infrastructure needed for dealing with RNA-seq data. That is, packages like GenomicFeatures that allow you to import the data and DESeq2 for generating differential expression results. A regionReport user is not expected to deal with those packages directly.

If you are asking yourself the question “Where do I start using Bioconductor?” you might be interested in this blog post.

## 1.3 Asking for help

As package developers, we try to explain clearly how to use our packages and in which order to use the functions. But `R` and `Bioconductor` have a steep learning curve so it is critical to learn where to ask for help. The blog post quoted above mentions some but we would like to highlight the Bioconductor support site as the main resource for getting help: remember to use the `regionReport` tag and check the older posts. Other alternatives are available such as creating GitHub issues and tweeting. However, please note that if you want to receive help you should adhere to the posting guidelines. It is particularly critical that you provide a small reproducible example and your session information so package developers can track down the source of the error.

## 1.4 Citing regionReport

We hope that regionReport will be useful for your research. Please use the following information to cite the package and the overall approach. Thank you!

    ## Citation info
    citation('regionReport')

    ##
    ## Collado-Torres L, Jaffe AE, Leek JT (2016). "regionReport: Interactive reports for region-level and
    ## feature-level genomic analyses [version2; referees: 2 approved, 1 approved with reservations]."
    ## _F1000Research_, *4*, 105. doi: 10.12688/f1000research.6379.2 (URL:
    ## https://doi.org/10.12688/f1000research.6379.2), <URL: http://f1000research.com/articles/4-105/v2>.
    ##
    ## Collado-Torres L, Nellore A, Frazee AC, Wilks C, Love MI, Langmead B, Irizarry RA, Leek JT, Jaffe AE
    ## (2017). "Flexible expressed region analysis for RNA-seq with derfinder." _Nucl. Acids Res._. doi:
    ## 10.1093/nar/gkw852 (URL: https://doi.org/10.1093/nar/gkw852), <URL:
    ## http://nar.oxfordjournals.org/content/early/2016/09/29/nar.gkw852>.
    ##
    ## Collado-Torres L, Jaffe AE, Leek JT (2017). _regionReport: Generate HTML or PDF reports for a set of
    ## genomic regions or DESeq2/edgeR results_. doi: 10.18129/B9.bioc.regionReport (URL:
    ## https://doi.org/10.18129/B9.bioc.regionReport), https://github.com/leekgroup/regionReport - R package
    ## version 1.20.1, <URL: http://www.bioconductor.org/packages/regionReport>.
    ##
    ## To see these entries in BibTeX format, use 'print(<citation>, bibtex=TRUE)', 'toBibtex(.)', or set
    ## 'options(citation.bibtex.max=999)'.

# 2 HTML reports for a set differential region results

regionReport (Collado-Torres, Jaffe, and Leek, 2016) creates HTML or PDF reports for a set of genomic regions such as derfinder (Collado-Torres, Nellore, Frazee, Wilks, et al., 2017) results or for feature-level analyses performed with DESeq2 (Love, Huber, and Anders, 2014) or edgeR (Robinson, McCarthy, and Smyth, 2010; McCarthy, Chen, and Smyth, 2012; Chen, Lun, and Smyth, 2014). The HTML reports are styled with rmarkdown (Allaire, Xie, McPherson, Luraschi, et al., 2020) by default but can optionally be styled with knitrBootstrap (Hester, 2018).

This package includes a basic exploration for a general set of genomic regions which can be easily customized to include the appropriate conclusions and/or further exploration of the results. Such a report can be generated using `renderReport()`. regionReport has a separate template for running a basic exploration analysis of derfinder results by using `derfinderReport()`. `derfinderReport()` is specific to single base-level approach derfinder results. A third template is included for exploring DESeq2 or edgeR differential expression results.

All reports are written in R Markdown format and include all the code for making the plots and explorations in the report itself. For all templates, regionReport relies on knitr (Xie, 2014), rmarkdown (Allaire, Xie, McPherson, Luraschi, et al., 2020), `DT` (Xie, Cheng, and Tan, 2020) and optionally knitrBootstrap (Hester, 2018) for generating the report. The reports can be either in HTML or PDF format and can be easily customized.

# 3 Using regionReport for DESeq2 results

The plots in regionReport for exploring DESeq2 are powered by ggplot2 (Wickham, 2016) and pheatmap (Kolde, 2019).

## 3.1 Examples

The regionReport supplementary website regionReportSupp has examples of using regionReport with DESeq2 results. In particular, please look at DESeq2.html which has the code for generating some DESeq2 results based on the DESeq2 vignette. Then it uses those results to create HTML and PDF versions of the same report. The resulting reports are available in the following locations:

- HTML version
- PDF version

Note that in both examples we changed the ggplot2 theme to `theme_bw()`. Also, in the PDF version we used the option `device = 'pdf'` instead of the default `device = 'png'` in `DESeq2Report()` since PDF figures are more appropriate for PDF reports: they look better than PNG figures.

If you want to create a similar HTML report as the one linked in this section, simply run `example('DESeq2Report', 'regionReport', ask=FALSE)`. The only difference will be the ggplot2 theme for the plots.

# 4 Using regionReport for edgeR results

regionReport has the `edgeReport()` function that takes as input a `DGEList` object and the results from the differential expression analysis using edgeR. `edgeReport()` internally uses DEFormats to convert the results to DESeq2’s format and then uses `DESeqReport()` to create the final report. The report looks nearly the same whether you performed the differential expression analysis with DESeq2 or edgeR in order to make more homogenous the exploratory data analysis step.

## 4.1 Examples

The regionReport supplementary website regionReportSupp has examples of using regionReport with edgeR results. In particular, please look at edgeR.html which has the code for generating some random data with DEFormats and performing the differential expression analysis with edgeR. Then it uses those results to create HTML and PDF versions of the same report. The resulting reports are available in the following locations:

- HTML version
- PDF version

Note that in both examples we changed the ggplot2 theme to `theme_linedraw()`. Also, in the PDF version we used the option `device = 'pdf'` instead of the default `device = 'png'` in `edgeReport()` since PDF figures are more appropriate for PDF reports: they look better than PNG figures.

If you want to create a similar HTML report as the one linked in this section, simply run `example('edgeReport', 'regionReport', ask=FALSE)`. The only difference will be the ggplot2 theme for the plots and the amount of data simulated with DEFormats.

# 5 Using regionReport for region results

The plots in regionReport for region reports are powered by derfinderPlot (Collado-Torres, Jaffe, and Leek, 2017), ggbio (Yin, Cook, and Lawrence, 2012), and ggplot2 (Wickham, 2016).

## 5.1 Examples

The regionReport supplementary website regionReportSupp has examples of using regionReport with results from DiffBind and derfinder. Included as a vignette, this package also has an example using a small data set derived from bumphunter. These represent different uses of regionReport for results from ChIP-seq, methylation, and RNA-seq data. In particular, the DiffBind example illustrates how to expand a basic report created with `renderReport()`.

## 5.2 General case

For a general use case, you first have to identify a set of genomic regions of interest and store it as a `GRanges` object. In a typical workflow you will have some variables measured for each of the regions, such as p-values and scores. `renderReport()` uses the set of regions and three main arguments:

- `pvalueVars`: this is a character vector (named optionally) with the names of the variables that are bound between 0 and 1, such as p-values. For each of these variables, `renderReport()` explores the distribution by chromosome, the overall distribution, and makes a table with commonly used cutoffs.
- `densityVars`: is another character vector (named optionally) with another set of variables you wish to explore by making density graphs. This is commonly used for scores and other similar numerical variables.
- `significantVar`: is a logical vector separating the regions into by whether they are statistically significant. For example, this information is used to explore the width of all the regions and compare it the significant ones.

Other parameters control the name of the report, where it’ll be located, the transcripts database used to annotate the nearest genes, graphical parameters, etc.

Here is a short example of how to use `renderReport()`. Note that we are using regions produced by derfinder just for convenience sake. You can also run this example by using `example('renderReport', 'regionReport', ask=FALSE)`.

    ## Load derfinder
    library('derfinder')
    regions <- genomeRegions$regions

    ## Assign chr length
    library('GenomicRanges')
    seqlengths(regions) <- c('chr21' = 48129895)

    ## The output will be saved in the 'derfinderReport-example' directory
    dir.create('renderReport-example', showWarnings = FALSE, recursive = TRUE)

    ## Generate the HTML report
    report <- renderReport(regions, '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')

For derfinder results created via the expressed regions-level approach you can use `renderReport()` to explore the results. If you use DESeq2 to perform the differential expression analysis of the expressed regions you can then use `DESeq2Report()`.

## 5.3 derfinder single base-level case

### 5.3.1 Run derfinder

Prior to using `regionReport::derfinderReport()` you must use derfinder to analyze a specific data set. While there are many ways to do so, we recommend using analyzeChr() with the same prefix argument. Then merging the results with mergeResults(). This is the recommended pipeline for the single base-level approach.

Below, we run derfinder for the example data included in the package. The steps are:

1. Load derfinder
2. Create a directory where we’ll store the results
3. Generate the pre-requisites for the models to use with the example data
4. Generate the statistical models
5. Analyze the example data for chr21
6. Merge the results (only one chr in this case, but in practice there’ll be more)

    ## Load derfinder
    library('derfinder')

    ## The output will be saved in the 'report' directory
    dir.create('report', showWarnings = FALSE, recursive = TRUE)

The following code runs derfinder.

    ## Save the current path
    initialPath <- getwd()
    setwd(file.path(initialPath, 'report'))

    ## Generate output from derfinder

    ## Collapse the coverage information
    collapsedFull <- collapseFullCoverage(list(genomeData$coverage),
    verbose=TRUE)

    ## Calculate library size adjustments
    sampleDepths <- sampleDepth(collapsedFull, probs=c(0.5), nonzero=TRUE,
    verbose=TRUE)

    ## Build the models
    group <- genomeInfo$pop
    adjustvars <- data.frame(genomeInfo$gender)
    models <- makeModels(sampleDepths, testvars=group, adjustvars=adjustvars)

    ## Analyze chromosome 21
    analysis <- analyzeChr(chr='21', coverageInfo=genomeData, models=models,
    cutoffFstat=1, cutoffType='manual', seeds=20140330, groupInfo=group,
    mc.cores=1, writeOutput=TRUE, returnOutput=TRUE)

    ## Save the stats options for later
    optionsStats <- analysis$optionsStats

    ## Change the directory back to the original one
    setwd(initialPath)

For convenience, we have included the derfinder results as part of regionReport. Note that the above functions are routinely checked as part of derfinder.

    ## Copy previous results
    file.copy(system.file(file.path('extdata', 'chr21'), package='derfinder',
    mustWork=TRUE), 'report', recursive=TRUE)

    ## [1] TRUE

Next, proceed to merging the results.

    ## Merge the results from the different chromosomes. In this case, there's
    ## only one: chr21
    mergeResults(chrs = 'chr21', prefix = 'report',
        genomicState = genomicState$fullGenome)

    ## 2020-03-16 21:15:11 mergeResults: Saving options used

    ## 2020-03-16 21:15:11 Loading chromosome chr21

    ## Neither 'cutoffFstatUsed' nor 'optionsStats' were supplied, so the FWER calculation step will be skipped.

    ## 2020-03-16 21:15:11 mergeResults: Saving fullNullSummary

    ## 2020-03-16 21:15:11 mergeResults: Re-calculating the p-values

    ## 2020-03-16 21:15:12 mergeResults: Saving fullRegions

    ## 2020-03-16 21:15:12 mergeResults: assigning genomic states

    ## 2020-03-16 21:15:12 annotateRegions: counting

    ## 2020-03-16 21:15:12 annotateRegions: annotating

    ## 2020-03-16 21:15:12 mergeResults: Saving fullAnnotatedRegions

    ## 2020-03-16 21:15:12 mergeResults: Saving fullFstats

    ## 2020-03-16 21:15:12 mergeResults: Saving fullTime

    ## Load optionsStats
    load(file.path('report', 'chr21', 'optionsStats.Rdata'))

### 5.3.2 Create report

Once the derfinder output has been generated and merged, use derfinderReport() to create the HTML report.

    ## Load derfindeReport
    library('regionReport')

    ## Generate the HTML report
    report <- derfinderReport(prefix='report', browse=FALSE,
        nBestRegions=15, makeBestClusters=TRUE, outdir='html',
        fullCov=list('21'=genomeDataRaw$coverage), optionsStats=optionsStats)

    ## Writing 9 Bibtex entries ... OK
    ## Results written to file 'report/html/basicExploration.bib'
    ## extendedMapSeqlevels: sequence names mapped from NCBI to UCSC for species homo_sapiens
    ## processing file: basicExploration.Rmd
    ## Scale for 'x' is already present. Adding another scale for 'x', which will replace the existing scale.
    ## Scale for 'x' is already present. Adding another scale for 'x', which will replace the existing scale.
    ## Scale for 'x' is already present. Adding another scale for 'x', which will replace the existing scale.
    ## Scale for 'x' is already present. Adding another scale for 'x', which will replace the existing scale.
    ## Parsing transcripts...
    ## No transcripts found at this region.
    ## Coordinate system already present. Adding new coordinate system, which will replace the existing one.
    ## Coordinate system already present. Adding new coordinate system, which will replace the existing one.
    ## Coordinate system already present. Adding new coordinate system, which will replace the existing one.
    ## Coordinate system already present. Adding new coordinate system, which will replace the existing one.
    ## Parsing transcripts...
    ## Parsing exons...
    ## Parsing cds...
    ## Parsing utrs...
    ## ------exons...
    ## ------cdss...
    ## ------introns...
    ## ------utr...
    ## aggregating...
    ## Done
    ## Constructing graphics...
    ## Coordinate system already present. Adding new coordinate system, which will replace the existing one.
    ## Coordinate system already present. Adding new coordinate system, which will replace the existing one.
    ## Coordinate system already present. Adding new coordinate system, which will replace the existing one.
    ## Coordinate system already present. Adding new coordinate system, which will replace the existing one.
    ## output file: basicExploration.knit.md

    ## /usr/local/bin/pandoc +RTS -K512m -RTS basicExploration.utf8.md --to html4 --from markdown+autolink_bare_uris+tex_math_single_backslash+smart --output basicExploration.html --email-obfuscation none --self-contained --wrap preserve --standalone --section-divs --table-of-contents --toc-depth 3 --variable toc_float=1 --variable toc_selectors=h1,h2,h3 --variable toc_collapsed=1 --variable toc_smooth_scroll=1 --variable toc_print=1 --template /tmp/Rtmp612VuS/BiocStyle/template.html --no-highlight --variable highlightjs=1 --number-sections --css /Library/Frameworks/R.framework/Versions/3.6/Resources/library/BiocStyle/resources/html/bioconductor.css --variable 'theme:bootstrap' --include-in-header /tmp/Rtmp612VuS/rmarkdown-str1006627aaf49e.html --mathjax --variable 'mathjax-url:https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' --lua-filter /Library/Frameworks/R.framework/Versions/3.6/Resources/library/rmarkdown/rmd/lua/pagebreak.lua --lua-filter /Library/Frameworks/R.framework/Versions/3.6/Resources/library/rmarkdown/rmd/lua/latex-div.lua --variable code_folding=hide --variable code_menu=1

    ##
    ## Output created: basicExploration.html

Once the output is generated, you can browse the report from `R` using browseURL() as shown below.

    ## Browse the report
    browseURL(report)

### 5.3.3 Notes

Note that the reports require an active Internet connection to render correctly.

The report is self-explanatory and will change some of the text depending on the input options.

If the report is taking too long to compile (say more than 3 hours), you might want to consider setting nBestCluters to a small number or even set makeBestClusters to `FALSE`.

# 6 Reproducibility

This package was made possible thanks to:

- R (R Core Team, 2020)
- BiocStyle (Oleś, Morgan, and Huber, 2020)
- biovizBase (Yin, Lawrence, and Cook, 2020)
- bumphunter (Jaffe, Murakami, Lee, Leek, et al., 2012)
- DEFormats (Oleś, 2020)
- derfinder (Collado-Torres, Nellore, Frazee, Wilks, et al., 2017)
- derfinderPlot (Collado-Torres, Jaffe, and Leek, 2017)
- DESeq2 (Love, Huber, and Anders, 2014)
- DT (Xie, Cheng, and Tan, 2020)
- edgeR (Robinson, McCarthy, and Smyth, 2010; McCarthy, Chen, and Smyth, 2012; Chen, Lun, and Smyth, 2014)
- GenomeInfoDb (Arora, Morgan, Carlson, and Pagès, 2017)
- GenomicRanges (Lawrence, Huber, Pagès, Aboyoun, et al., 2013)
- ggbio (Yin, Cook, and Lawrence, 2012)
- ggplot2 (Wickham, 2016)
- grid (R Core Team, 2020)
- gridExtra (Auguie, 2017)
- IRanges (Lawrence, Huber, Pagès, Aboyoun, et al., 2013)
- knitcitations (Boettiger, 2019)
- knitr (Xie, 2014)
- knitrBootstrap (Hester, 2018)
- mgcv
- pheatmap (Kolde, 2019)
- RColorBrewer (Neuwirth, 2014)
- rmarkdown (Allaire, Xie, McPherson, Luraschi, et al., 2020)
- sessioninfo (Csárdi, core, Wickham, Chang, et al., 2018)
- TxDb.Hsapiens.UCSC.hg19.knownGene (Carlson and Maintainer, 2015)
- whisker

Code for creating the vignette

    ## Create the vignette
    library('rmarkdown')
    system.time(render('regionReport.Rmd', 'BiocStyle::html_document'))

    ## Extract the R code
    library('knitr')
    knit('regionReport.Rmd', tangle = TRUE)

    ## Clean up
    file.remove('regionReportRef.bib')

    ## [1] TRUE

    unlink('report', recursive = TRUE)

Date the vignette was generated.

    ## [1] "2020-03-16 21:16:54 EDT"

Wallclock time spent generating the vignette.

    ## Time difference of 1.722 mins

`R` session information.

    ## ─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────
    ##  setting  value
    ##  version  R version 3.6.3 (2020-02-29)
    ##  os       OS X El Capitan 10.11.6
    ##  system   x86_64, darwin15.6.0
    ##  ui       X11
    ##  language (EN)
    ##  collate  C
    ##  ctype    en_US.UTF-8
    ##  tz       America/New_York
    ##  date     2020-03-16
    ##
    ## ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────
    ##  package                           * version  date       lib source
    ##  acepack                             1.4.1    2016-10-29 [2] CRAN (R 3.6.0)
    ##  annotate                            1.64.0   2020-03-16 [2] Bioconductor
    ##  AnnotationDbi                     * 1.48.0   2020-03-16 [2] Bioconductor
    ##  AnnotationFilter                    1.10.0   2020-03-16 [2] Bioconductor
    ##  askpass                             1.1      2019-01-13 [2] CRAN (R 3.6.3)
    ##  assertthat                          0.2.1    2019-03-21 [2] CRAN (R 3.6.3)
    ##  backports                           1.1.5    2019-10-02 [2] CRAN (R 3.6.3)
    ##  base64enc                           0.1-3    2015-07-28 [2] CRAN (R 3.6.0)
    ##  bibtex                              0.4.2.2  2020-01-02 [2] CRAN (R 3.6.0)
    ##  Biobase                           * 2.46.0   2020-03-16 [2] Bioconductor
    ##  BiocFileCache                       1.10.2   2020-03-16 [2] Bioconductor
    ##  BiocGenerics                      * 0.32.0   2020-03-16 [2] Bioconductor
    ##  BiocManager                         1.30.10  2019-11-16 [2] CRAN (R 3.6.3)
    ##  BiocParallel                        1.20.1   2020-03-16 [2] Bioconductor
    ##  BiocStyle                         * 2.14.4   2020-03-16 [2] Bioconductor
    ##  biomaRt                             2.42.0   2020-03-16 [2] Bioconductor
    ##  Biostrings                          2.54.0   2020-03-16 [2] Bioconductor
    ##  biovizBase                        * 1.34.1   2020-03-16 [2] Bioconductor
    ##  bit                                 1.1-15.2 2020-02-10 [2] CRAN (R 3.6.3)
    ##  bit64                               0.9-7    2017-05-08 [2] CRAN (R 3.6.3)
    ##  bitops                              1.0-6    2013-08-17 [2] CRAN (R 3.6.3)
    ##  blob                                1.2.1    2020-01-20 [2] CRAN (R 3.6.3)
    ##  bookdown                            0.18     2020-03-05 [2] CRAN (R 3.6.0)
    ##  BSgenome                            1.54.0   2020-03-16 [2] Bioconductor
    ##  bumphunter                        * 1.28.0   2020-03-16 [2] Bioconductor
    ##  checkmate                           2.0.0    2020-02-06 [2] CRAN (R 3.6.0)
    ##  cli                                 2.0.2    2020-02-28 [2] CRAN (R 3.6.3)
    ##  cluster                             2.1.0    2019-06-19 [2] CRAN (R 3.6.3)
    ##  codetools                           0.2-16   2018-12-24 [2] CRAN (R 3.6.3)
    ##  colorspace                          1.4-1    2019-03-18 [2] CRAN (R 3.6.3)
    ##  crayon                              1.3.4    2017-09-16 [2] CRAN (R 3.6.3)
    ##  crosstalk                           1.1.0.1  2020-03-13 [2] CRAN (R 3.6.3)
    ##  curl                                4.3      2019-12-02 [2] CRAN (R 3.6.3)
    ##  data.table                          1.12.8   2019-12-09 [2] CRAN (R 3.6.0)
    ##  DBI                                 1.1.0    2019-12-15 [2] CRAN (R 3.6.3)
    ##  dbplyr                              1.4.2    2019-06-17 [2] CRAN (R 3.6.3)
    ##  DEFormats                           1.14.0   2020-03-16 [2] Bioconductor
    ##  DelayedArray                        0.12.2   2020-03-16 [2] Bioconductor
    ##  derfinder                         * 1.20.0   2020-03-16 [2] Bioconductor
    ##  derfinderHelper                     1.20.0   2020-03-16 [2] Bioconductor
    ##  derfinderPlot                     * 1.20.0   2020-03-16 [2] Bioconductor
    ##  DESeq2                              1.26.0   2020-03-16 [2] Bioconductor
    ##  dichromat                           2.0-0    2013-01-24 [2] CRAN (R 3.6.0)
    ##  digest                              0.6.25   2020-02-23 [2] CRAN (R 3.6.3)
    ##  doRNG                               1.8.2    2020-01-27 [2] CRAN (R 3.6.0)
    ##  dplyr                               0.8.5    2020-03-07 [2] CRAN (R 3.6.3)
    ##  DT                                * 0.12     2020-02-05 [2] CRAN (R 3.6.3)
    ##  edgeR                               3.28.1   2020-03-16 [2] Bioconductor
    ##  ensembldb                           2.10.2   2020-03-16 [2] Bioconductor
    ##  evaluate                            0.14     2019-05-28 [2] CRAN (R 3.6.3)
    ##  fansi                               0.4.1    2020-01-08 [2] CRAN (R 3.6.3)
    ##  farver                              2.0.3    2020-01-16 [2] CRAN (R 3.6.3)
    ##  foreach                           * 1.4.8    2020-02-09 [2] CRAN (R 3.6.0)
    ##  foreign                             0.8-76   2020-03-03 [2] CRAN (R 3.6.0)
    ##  Formula                             1.2-3    2018-05-03 [2] CRAN (R 3.6.0)
    ##  genefilter                          1.68.0   2020-03-16 [2] Bioconductor
    ##  geneplotter                         1.64.0   2020-03-16 [2] Bioconductor
    ##  GenomeInfoDb                      * 1.22.0   2020-03-16 [2] Bioconductor
    ##  GenomeInfoDbData                    1.2.2    2020-03-12 [2] Bioconductor
    ##  GenomicAlignments                   1.22.1   2020-03-16 [2] Bioconductor
    ##  GenomicFeatures                   * 1.38.2   2020-03-16 [2] Bioconductor
    ##  GenomicFiles                        1.22.0   2020-03-16 [2] Bioconductor
    ##  GenomicRanges                     * 1.38.0   2020-03-16 [2] Bioconductor
    ##  GGally                              1.4.0    2018-05-17 [2] CRAN (R 3.6.0)
    ##  ggbio                             * 1.34.0   2020-03-16 [2] Bioconductor
    ##  ggplot2                           * 3.3.0    2020-03-05 [2] CRAN (R 3.6.3)
    ##  glue                                1.3.2    2020-03-12 [2] CRAN (R 3.6.3)
    ##  graph                               1.64.0   2020-03-16 [2] Bioconductor
    ##  gridExtra                         * 2.3      2017-09-09 [2] CRAN (R 3.6.0)
    ##  gtable                              0.3.0    2019-03-25 [2] CRAN (R 3.6.3)
    ##  highr                               0.8      2019-03-20 [2] CRAN (R 3.6.3)
    ##  Hmisc                               4.3-1    2020-02-07 [2] CRAN (R 3.6.0)
    ##  hms                                 0.5.3    2020-01-08 [2] CRAN (R 3.6.3)
    ##  htmlTable                           1.13.3   2019-12-04 [2] CRAN (R 3.6.0)
    ##  htmltools                           0.4.0    2019-10-04 [2] CRAN (R 3.6.3)
    ##  htmlwidgets                         1.5.1    2019-10-08 [2] CRAN (R 3.6.3)
    ##  httr                                1.4.1    2019-08-05 [2] CRAN (R 3.6.3)
    ##  IRanges                           * 2.20.2   2020-03-16 [2] Bioconductor
    ##  iterators                         * 1.0.12   2019-07-26 [2] CRAN (R 3.6.0)
    ##  jpeg                                0.1-8.1  2019-10-24 [2] CRAN (R 3.6.0)
    ##  jsonlite                            1.6.1    2020-02-02 [2] CRAN (R 3.6.3)
    ##  knitcitations                     * 1.0.10   2019-09-15 [2] CRAN (R 3.6.0)
    ##  knitr                             * 1.28     2020-02-06 [2] CRAN (R 3.6.3)
    ##  knitrBootstrap                      1.0.2    2018-05-24 [2] CRAN (R 3.6.0)
    ##  labeling                            0.3      2014-08-23 [2] CRAN (R 3.6.3)
    ##  lattice                             0.20-40  2020-02-19 [2] CRAN (R 3.6.0)
    ##  latticeExtra                        0.6-29   2019-12-19 [2] CRAN (R 3.6.0)
    ##  lazyeval                            0.2.2    2019-03-15 [2] CRAN (R 3.6.3)
    ##  lifecycle                           0.2.0    2020-03-06 [2] CRAN (R 3.6.3)
    ##  limma                               3.42.2   2020-03-16 [2] Bioconductor
    ##  locfit                            * 1.5-9.1  2013-04-20 [2] CRAN (R 3.6.0)
    ##  lubridate                           1.7.4    2018-04-11 [2] CRAN (R 3.6.0)
    ##  magick                              2.3      2020-01-24 [2] CRAN (R 3.6.0)
    ##  magrittr                            1.5      2014-11-22 [2] CRAN (R 3.6.3)
    ##  markdown                            1.1      2019-08-07 [2] CRAN (R 3.6.3)
    ##  Matrix                              1.2-18   2019-11-27 [2] CRAN (R 3.6.3)
    ##  matrixStats                         0.56.0   2020-03-13 [2] CRAN (R 3.6.3)
    ##  memoise                             1.1.0    2017-04-21 [2] CRAN (R 3.6.3)
    ##  mgcv                              * 1.8-31   2019-11-09 [2] CRAN (R 3.6.3)
    ##  munsell                             0.5.0    2018-06-12 [2] CRAN (R 3.6.3)
    ##  nlme                              * 3.1-145  2020-03-04 [2] CRAN (R 3.6.0)
    ##  nnet                                7.3-13   2020-02-25 [2] CRAN (R 3.6.0)
    ##  openssl                             1.4.1    2019-07-18 [2] CRAN (R 3.6.3)
    ##  org.Hs.eg.db                      * 3.10.0   2020-03-12 [2] Bioconductor
    ##  OrganismDbi                         1.28.0   2020-03-16 [2] Bioconductor
    ##  pillar                              1.4.3    2019-12-20 [2] CRAN (R 3.6.3)
    ##  pkgconfig                           2.0.3    2019-09-22 [2] CRAN (R 3.6.3)
    ##  plyr                                1.8.6    2020-03-03 [2] CRAN (R 3.6.0)
    ##  png                                 0.1-7    2013-12-03 [2] CRAN (R 3.6.0)
    ##  prettyunits                         1.1.1    2020-01-24 [2] CRAN (R 3.6.3)
    ##  progress                            1.2.2    2019-05-16 [2] CRAN (R 3.6.3)
    ##  ProtGenerics                        1.18.0   2020-03-16 [2] Bioconductor
    ##  purrr                               0.3.3    2019-10-18 [2] CRAN (R 3.6.3)
    ##  qvalue                              2.18.0   2020-03-16 [2] Bioconductor
    ##  R6                                  2.4.1    2019-11-12 [2] CRAN (R 3.6.3)
    ##  rappdirs                            0.3.1    2016-03-28 [2] CRAN (R 3.6.3)
    ##  RBGL                                1.62.1   2020-03-16 [2] Bioconductor
    ##  RColorBrewer                      * 1.1-2    2014-12-07 [2] CRAN (R 3.6.3)
    ##  Rcpp                                1.0.3    2019-11-08 [2] CRAN (R 3.6.3)
    ##  RCurl                               1.98-1.1 2020-01-19 [2] CRAN (R 3.6.3)
    ##  RefManageR                          1.2.12   2019-04-03 [2] CRAN (R 3.6.0)
    ##  regionReport                      * 1.20.1   2020-03-16 [1] Bioconductor
    ##  reshape                             0.8.8    2018-10-23 [2] CRAN (R 3.6.0)
    ##  reshape2                            1.4.3    2017-12-11 [2] CRAN (R 3.6.0)
    ##  rlang                               0.4.5    2020-03-01 [2] CRAN (R 3.6.3)
    ##  rmarkdown                           2.1      2020-01-20 [2] CRAN (R 3.6.0)
    ##  rngtools                            1.5      2020-01-23 [2] CRAN (R 3.6.0)
    ##  rpart                               4.1-15   2019-04-12 [2] CRAN (R 3.6.3)
    ##  Rsamtools                           2.2.3    2020-03-16 [2] Bioconductor
    ##  RSQLite                             2.2.0    2020-01-07 [2] CRAN (R 3.6.0)
    ##  rstudioapi                          0.11     2020-02-07 [2] CRAN (R 3.6.3)
    ##  rtracklayer                         1.46.0   2020-03-16 [2] Bioconductor
    ##  S4Vectors                         * 0.24.3   2020-03-16 [2] Bioconductor
    ##  scales                              1.1.0    2019-11-18 [2] CRAN (R 3.6.3)
    ##  sessioninfo                       * 1.1.1    2018-11-05 [2] CRAN (R 3.6.3)
    ##  stringi                             1.4.6    2020-02-17 [2] CRAN (R 3.6.3)
    ##  stringr                             1.4.0    2019-02-10 [2] CRAN (R 3.6.3)
    ##  SummarizedExperiment                1.16.1   2020-03-16 [2] Bioconductor
    ##  survival                            3.1-11   2020-03-07 [2] CRAN (R 3.6.0)
    ##  tibble                              2.1.3    2019-06-06 [2] CRAN (R 3.6.3)
    ##  tidyselect                          1.0.0    2020-01-27 [2] CRAN (R 3.6.3)
    ##  TxDb.Hsapiens.UCSC.hg19.knownGene * 3.2.2    2020-03-13 [2] Bioconductor
    ##  VariantAnnotation                   1.32.0   2020-03-16 [2] Bioconductor
    ##  vctrs                               0.2.4    2020-03-10 [2] CRAN (R 3.6.3)
    ##  whisker                           * 0.4      2019-08-28 [2] CRAN (R 3.6.3)
    ##  withr                               2.1.2    2018-03-15 [2] CRAN (R 3.6.3)
    ##  xfun                                0.12     2020-01-13 [2] CRAN (R 3.6.3)
    ##  XML                                 3.99-0.3 2020-01-20 [2] CRAN (R 3.6.3)
    ##  xml2                                1.2.5    2020-03-11 [2] CRAN (R 3.6.3)
    ##  xtable                              1.8-4    2019-04-21 [2] CRAN (R 3.6.3)
    ##  XVector                             0.26.0   2020-03-16 [2] Bioconductor
    ##  yaml                                2.2.1    2020-02-01 [2] CRAN (R 3.6.3)
    ##  zlibbioc                            1.32.0   2020-03-16 [2] Bioconductor
    ##
    ## [1] /private/tmp/Rtmp8jKNmc/Rinstf85d2765f820
    ## [2] /Library/Frameworks/R.framework/Versions/3.6/Resources/library

# 7 Bibliography

This vignette was generated using BiocStyle (Oleś, Morgan, and Huber, 2020) with knitr (Xie, 2014) and rmarkdown (Allaire, Xie, McPherson, Luraschi, et al., 2020) running behind the scenes.

Citations made with knitcitations (Boettiger, 2019).

[1] J. Allaire, Y. Xie, J. McPherson, J. Luraschi, et al. rmarkdown: Dynamic Documents for R. R package version 2.1. 2020. <URL: https://github.com/rstudio/rmarkdown>.

[2] S. Arora, M. Morgan, M. Carlson, and H. Pagès. GenomeInfoDb: Utilities for manipulating chromosome and other ‘seqname’ identifiers. 2017. DOI: 10.18129/B9.bioc.GenomeInfoDb.

[3] B. Auguie. gridExtra: Miscellaneous Functions for “Grid” Graphics. R package version 2.3. 2017. <URL: https://CRAN.R-project.org/package=gridExtra>.

[4] C. Boettiger. knitcitations: Citations for ‘Knitr’ Markdown Files. R package version 1.0.10. 2019. <URL: https://CRAN.R-project.org/package=knitcitations>.

[5] M. Carlson and B. P. Maintainer. TxDb.Hsapiens.UCSC.hg19.knownGene: Annotation package for TxDb object(s). R package version 3.2.2. 2015.

[6] Y. Chen, A. T. L. Lun, and G. K. Smyth. “Differential expression analysis of complex RNA-seq experiments using edgeR”. In: Statistical Analysis of Next Generation Sequencing Data. Ed. by S. Datta and D. Nettleton. New York: Springer, 2014, pp. 51-74.

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

[8] 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>.

[9] L. Collado-Torres, A. Nellore, A. C. Frazee, C. Wilks, 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>.

[10] G. Csárdi, R. core, H. Wickham, W. Chang, et al. sessioninfo: R Session Information. R package version 1.1.1. 2018. <URL: https://CRAN.R-project.org/package=sessioninfo>.

[11] J. Hester. knitrBootstrap: ‘knitr’ Bootstrap Framework. R package version 1.0.2. 2018. <URL: https://CRAN.R-project.org/package=knitrBootstrap>.

[12] A. E. Jaffe, P. Murakami, H. Lee, J. T. Leek, 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.

[13] R. Kolde. pheatmap: Pretty Heatmaps. R package version 1.0.12. 2019. <URL: https://CRAN.R-project.org/package=pheatmap>.

[14] M. Lawrence, W. Huber, H. Pagès, P. Aboyoun, et al. “Software for Computing and Annotating Genomic Ranges”. In: PLoS Computational Biology 9 (8 2013). DOI: 10.1371/journal.pcbi.1003118. <URL: http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1003118}.>

[15] M. Lawrence, W. Huber, H. Pagès, P. Aboyoun, et al. “Software for Computing and Annotating Genomic Ranges”. In: PLoS Computational Biology 9 (8 2013). DOI: 10.1371/journal.pcbi.1003118. <URL: http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1003118}.>

[16] M. I. Love, W. Huber, and S. Anders. “Moderated estimation of fold change and dispersion for RNA-seq data with DESeq2”. In: Genome Biology 15 (12 2014), p. 550. DOI: 10.1186/s13059-014-0550-8.

[17] D. J. McCarthy, Y. Chen, and G. K. Smyth. “Differential expression analysis of multifactor RNA-Seq experiments with respect to biological variation”. In: Nucleic Acids Research 40.10 (2012), pp. 4288-4297. DOI: 10.1093/nar/gks042.

[18] E. Neuwirth. RColorBrewer: ColorBrewer Palettes. R package version 1.1-2. 2014. <URL: https://CRAN.R-project.org/package=RColorBrewer>.

[19] A. Oleś. DEFormats: Differential gene expression data formats converter. R package version 1.14.0. 2020. <URL: https://github.com/aoles/DEFormats>.

[20] A. Oleś, M. Morgan, and W. Huber. BiocStyle: Standard styles for vignettes and other Bioconductor documents. R package version 2.14.4. 2020. <URL: https://github.com/Bioconductor/BiocStyle>.

[21] R Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing. Vienna, Austria, 2020. <URL: https://www.R-project.org/>.

[22] R Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing. Vienna, Austria, 2020. <URL: https://www.R-project.org/>.

[23] M. D. Robinson, D. J. McCarthy, and G. K. Smyth. “edgeR: a Bioconductor package for differential expression analysis of digital gene expression data”. In: Bioinformatics 26.1 (2010), pp. 139-140. DOI: 10.1093/bioinformatics/btp616.

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

[25] 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. <URL: http://www.crcpress.com/product/isbn/9781466561595>.

[26] Y. Xie, J. Cheng, and X. Tan. DT: A Wrapper of the JavaScript Library ‘DataTables’. R package version 0.12. 2020. <URL: https://CRAN.R-project.org/package=DT>.

[27] 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.

[28] T. Yin, M. Lawrence, and D. Cook. biovizBase: Basic graphic utilities for visualization of genomic data. R package version 1.34.1. 2020.