coveragePerTiling {ORFik} | R Documentation

## Get coverage per group

### Description

It tiles each GRangesList group to width 1, and finds hits per position. A range from 1:5 will split into c(1,2,3,4,5) and count hits on each.

### Usage

    coveragePerTiling(
      grl,
      reads,
      is.sorted = FALSE,
      keep.names = TRUE,
      as.data.table = FALSE,
      withFrames = FALSE,
      weight = "score"
    )

### Arguments

`grl` | a `GRangesList` of 5' utrs, CDS, transcripts, etc.
`reads` | a `GAlignments` or `GRanges` object of RiboSeq, RnaSeq etc. Weigths for scoring is default the 'score' column in 'reads'
`is.sorted` | logical (FALSE), is grl sorted. That is + strand groups in increasing ranges (1,2,3), and - strand groups in decreasing ranges (3,2,1)
`keep.names` | logical (TRUE), keep names or not.
`as.data.table` | a logical (FALSE), return as data.table with 2 columns, position and count.
`withFrames` | a logical (FALSE), only available if as.data.table is TRUE, return the ORF frame, 1,2,3, where position 1 is 1, 2 is 2 and 4 is 1 etc.
`weight` | (default: 'score'), if defined a character name of valid meta column in subject. GRanges("chr1", 1, "+", score = 5), would mean score column tells that this alignment region was found 5 times. ORFik .bedo files, contains a score column like this. As do CAGEr CAGE files and many other package formats. You can also assign a score column manually.

### Details

This is a safer speedup of coverageByTranscript from GenomicFeatures. It also gives the possibility to return as data.table, for faster computations. NOTE: If reads contains a $score column, it will presume that this is the number of replicates per reads, weights for the coverage() function. So delete the score column or set weight to something else if this is not wanted.

### Value

a numeric RleList, one numeric-Rle per group with # of hits per position. Or data.table if as.data.table is TRUE, with column names c("count" [numeric or integer], "genes" [integer], "position" [integer])

### See Also

Other ExtendGenomicRanges: `asTX()`, `extendLeaders()`, `extendTrailers()`, `reduceKeepAttr()`, `tile1()`, `txSeqsFromFa()`, `windowPerGroup()`

### Examples

    ORF <- GRanges(seqnames = "1",
                   ranges = IRanges(start = c(1, 10, 20),
                                    end = c(5, 15, 25)),
                   strand = "+")
    grl <- GRangesList(tx1_1 = ORF)
    RFP <- GRanges("1", IRanges(25, 25), "+")
    coveragePerTiling(grl, RFP, is.sorted = TRUE)
    # now as data.table with frames
    coveragePerTiling(grl, RFP, is.sorted = TRUE, as.data.table = TRUE,
                      withFrames = TRUE)
    # With score column (usually replicated reads on that position)
    RFP <- GRanges("1", IRanges(25, 25), "+", score = 5)
    dt <- coveragePerTiling(grl, RFP, is.sorted = TRUE,
                            as.data.table = TRUE, withFrames = TRUE)
    class(dt$count) # numeric
    # With integer score column (faster and less space usage)
    RFP <- GRanges("1", IRanges(25, 25), "+", score = 5L)
    dt <- coveragePerTiling(grl, RFP, is.sorted = TRUE,
                            as.data.table = TRUE, withFrames = TRUE)
    class(dt$count) # integer

[Package ORFik version 1.10.13 Index]