summarizeReads {epigenomix} | R Documentation

## Count reads lying within given regions.

### Description

This function takes reads from e.g. ChIP-seq experiments and regions, e.g. promoters of genes, and assigns the number of overlapping reads to that region. This method was written particularly with regard to histone ChIP-seq experiments. Some histone modifications mainly occur at transcriptional start sites and thus ChIP-seq values can be assigned to genes by counting the number of reads within genes' pomoter regions. However, some genes may have several transcript and hence several promoters. Different options for handling multiple promoters are implemented. This method is also useful when integrating microarray expression data and ChIP-seq data, since most array platforms are gene centric and have probes that measure several transcripts.

### Usage

      summarizeReads(object, regions, summarize)

### Arguments

`object` | A `GRangesList` with one `GRanges` object for each sample storing the ChIP-seq reads. The names of the `GRangesList` elements are used as sample names.
`regions` | An object of type `GRangesList` storing the promoter regions. Each element can be interpreted as gene or probe that has one or more promoters. The names of the lists' elements are used as row names. Alternatively, regions can be a `GRanges` object which as then handled like a `GRangesList` object with only one region in each list element. names of the `GRanges` are used as row names in this case.
`summarize` | Defines how regions with several ranges are handled. "average" means that the mean count of reads across all ranges is assigned to the region whereas "add" means that all counts are simply added (default).

### Details

This function is usually applied after calling `matchProbeToPromoter`. When `matchProbeToPromoter` is used with `mode` "union", it is recommended to use "add". If the option "keepAll" had been used, one might want to use "average".

This method uses `countOverlaps` and counts each read that overlaps with at least one base.

### Value

Returns a `ChIPseqSet` with number of rows equal to the length of `regions` and number of samples equal to the length of `object`.

### Author(s)

Hans-Ulrich Klein (h.klein@uni-muenster.de)

### See Also

`matchProbeToPromoter` `ChIPseqSet-class`

### Examples

    chipSeq <- GRangesList()
    chipSeq[[1]] <- GRanges(seqnames=c("1", "1", "1", "1"),
        ranges=IRanges(start=c(97900, 198200, 198600, 202500),
            end=c(98100, 198400, 198800, 202700)),
        strand=c("+", "+", "+", "+"))
    chipSeq[[2]] <- GRanges(seqnames=c("1", "1", "1", "1"),
        ranges=IRanges(start=c(97900, 198200, 198600, 300000),
            end=c(98100, 198400, 198800, 300200)),
        strand=c("+", "+", "+", "+"))
    names(chipSeq) = c("sample1", "sample2")

    promoters <- GRanges(seqnames=c("1", "1", "1"),
        ranges=IRanges(start=c(98000, 198000, 202000),
            end=c(101999, 201999, 205999)),
        strand=c("-", "+", "+"),
        probe=c("101", "102", "102"))
    promoters <- split(promoters, elementMetadata(promoters)$probe)

    chipSet <- summarizeReads(chipSeq, promoters, summarize="add")
    chipVals(chipSet)

[Package epigenomix version 1.27.1 Index]