Use of CAGE resources with CAGEr

options(signif = 3, digits = 3)
knitr::opts_chunk$set(tidy = FALSE, cache = TRUE, autodep = TRUE, fig.height = 5.5,
                      message = FALSE, error = FALSE, warning = TRUE)

Available CAGE data resources

Note: this still uses the CAGEset class.

There are several large collections of CAGE data available that provide single base-pair resolution TSSs for numerous human and mouse primary cells, cell lines and tissues. Together with several minor datasets for other model organisms (Drosophila melanogaster, Danio rerio) they are a valuable resource that provides cell/tissue type and developmental stage specific TSSs essential for any type of promoter centred analysis. By enabling direct and user-friendly import of TSSs for selected samples into R, CAGEr facilitates the integration of these precise TSS data with other genomic data types. Each of the available CAGE data resources accessible from within CAGEr is explained in more detail further below.


FANTOM consortium provides single base-pair resolution TSS data for numerous human and mouse primary cells, cell lines and tissues. The main FANTOM5 publication [@Consortium:2014hz] released ~1000 human and ~400 mouse CAGE samples that cover the vast majority of human primary cell types, mouse developmental tissues and a large number of commonly used cell lines. These data is available from FANTOM web resource in the form of TSS files with genomic coordinates and number of tags mapping to each TSS detected by CAGE. The list of all available samples for both human and mouse (as presented in the Supplementary Table 1 of the publication) has been included in CAGEr to facilitate browsing, searching and selecting samples of interest. TSSs for selected samples are then fetched directly form the web resource and imported into a CAGEset object enabling their further manipulation with CAGEr.

FANTOM3 and 4

Previous FANTOM projects (3 and 4) [@Consortium:2005kp,@Faulkner:2009fw,@Suzuki:2009gy]) produced CAGE datasets for multiple human and mouse tissues as well as several timecourses, including differentiation of a THP-1 human myeloid leukemia cell line. All this TSS data has been grouped into datasets by the organism and tissue of origin and has been collected into an R data package named FANTOM3and4CAGE, which is available from Bioconductor The vignette accompanying the package provides information on available datasets and lists of samples. When the data package is installed, CAGEr can import the TSSs for selected samples directly into a CAGEset object for further manipulation.

ENCODE cell lines

ENCODE consortium produced CAGE data for common human cell lines [@Djebali:2012hc], which were used by ENCODE for various other types of genome-wide analyses. The advantage of this dataset is that it enables the integration of precise TSSs from a specific cell line with many other genome-wide data types provided by ENCODE for the same cell line. However, the format of CAGE data provided by ENCODE at UCSC ( includes only raw mapped CAGE tags and their coverage along the genome, and coordinates of enriched genomic regions (peaks), which do not take advantage of the single base-pair resolution provided by CAGE. To address this, we have used the raw CAGE tags to derive single base-pair resolution TSSs and collected them into an R data package named ENCODEprojectCAGE. This data package is available for download from CAGEr web site at and includes TSSs for 36 different cell lines fractionated by cellular compartment. The vignette accompanying the package provides information on available datasets and lists of individual samples. Once the package has been downloaded and installed, CAGEr can access it to import TSS data for selected subset of samples for further manipulation and integration.

Zebrafish developmental timecourse

Precise TSSs are also available for zebrafish (Danio Rerio) from CAGE data published by [@Nepal:2013]. The timecourse covering early embryonic development of zebrafish includes 12 developmental stages. The TSS data has been collected into an R data package named ZebrafishDevelopmentalCAGE, which is available for download from CAGEr web site at As with other data packages mentioned above, once the package is installed CAGEr can use it to import stage-specific single base pair TSSs into a CAGEset object.

Importing public TSS data for manipulation in CAGEr

Note: this still uses the CAGEset class.

The data from above mentioned resources can be imported into a CAGEset object using the importPublicData() function. It function has four arguments: source, dataset, group and sample. Argument source accepts one of the following values: "FANTOM5", "FANTOM3and4", "ENCODE", or "ZebrafishDevelopment", which refer to one of the four resources listed above. The following sections explain how to utilize this function for each of the four currently supported resources.

FANTOM5 human and mouse samples

Lists of all human and mouse CAGE samples produced within FANTOM5 project are available in CAGEr. To load the information on human samples type:


There are 988 human samples in total and for each the following information is provided:

Provided information facilitates searching for samples of interest, e.g. we can search for astrocyte samples:

astrocyteSamples <- FANTOM5humanSamples[grep("Astrocyte", 

To import TSS data for samples of interest from FANTOM5 we use the importPublicData() function and set the argument source = "FANTOM5". The dataset argument can be set to either "human" or "mouse", and the sample argument is provided by a vector of sample lables/names. For example, names of astrocyte samples from above are:


and to import first three samples type:

astrocyteCAGEset <- importPublicData(source = "FANTOM5", dataset = "human", 
                    sample = astrocyteSamples[1:3,"sample"])

The resulting astrocyteCAGEset is a CAGEset object that can be included in the CAGEr workflow described above to perform normalisation, clustering, visualisation, etc.

FANTOM3and4CAGE data package

To use TSS data from FANTOM3 and FANTOM4 projects, a data package FANTOM3and4CAGE has to be installed and loaded. This package is available from Bioconductor and can be installed by calling:

if (!requireNamespace("BiocManager", quietly=TRUE))

For the list of available datasets with group and sample labels for specific human or mouse samples load the data package and get list of samples:


In the above data frames, the columns dataset, group and sample provide values that should be passed to corresponding arguments in importPublicData() function. For example to import human kidney normal and malignancy samples call:

kidneyCAGEset <- importPublicData(source = "FANTOM3and4",
            dataset = "FANTOMtissueCAGEhuman", 
            group = "kidney", sample = c("kidney", "malignancy"))

When the samples belong to different groups or different datasets, it is necessary to provide the dataset and group assignment for each sample separately:

mixedCAGEset <- importPublicData(source = "FANTOM3and4",
        dataset = c("FANTOMtissueCAGEmouse", "FANTOMtissueCAGEmouse", 
        "FANTOMtimecourseCAGEmouse"), group = c("liver", "liver", 
        sample = c("cloned_mouse", "control_mouse", "4_hr"))

For more details about datasets available in the \emph{FANTOM3and4CAGE} data package please refer to the vignette accompanying the package.

ENCODEprojectCAGE data package

TSS data derived from ENCODE CAGE datasets has been collected into ENCODEprojectCAGE data package, which is available for download from the CAGEr web site ( Downloaded package can be installed from local using install.packages() function from within R and used with CAGEr as described below. List of datasets available in this data package can be obtained like this:


The information provided in this data frame is analogous to the one in previously discussed data package and provides values to be used with importPublicData() function. The command to import whole cell CAGE samples for three different cell lines would look like this:

ENCODEset <- importPublicData(source = "ENCODE", 
    dataset = c("A549", "H1-hESC", "IMR90"), 
    group = c("cell", "cell", "cell"), sample = c("A549_cell_rep1", 
    "H1-hESC_cell_rep1", "IMR90_cell_rep1"))

For more details about datasets available in the ENCODEprojectCAGE data package please refer to the vignette accompanying the package.

ZebrafishDevelopmentalCAGE data package

The zebrafish TSS data for 12 developmental stages is collected in ZebrafishDevelopmentalCAGE data package, which is also available for download from the CAGEr web site ( It can be installed from local using install.packages() function. To get a list of samples within the package type:


In this package there is only one dataset called ZebrafishCAGE and all samples belong to the same group called development. To import selected samples from this dataset type:

zebrafishCAGEset <- importPublicData(source = "ZebrafishDevelopment", 
            dataset = "ZebrafishCAGE", group = "development", 
            sample = c("zf_64cells", "zf_prim6"))

For more details please refer to the vignette accompanying the data package.

Importing TSS data from any of the four above explained resources results in the CAGEset object that can be directly included into the workflow provided by CAGEr to perform normalisation, clustering, promoter width analysis, visualisation, etc. This high-resolution TSS data can then easily be integrated with other genomic data types to perform various promoter-centred analyses, which does not rely on annotation but uses precise and matched cell/tissue type TSSs.

Session info {.unnumbered}



Try the CAGEr package in your browser

Any scripts or data that you put into this service are public.

CAGEr documentation built on Jan. 17, 2021, 2 a.m.