By default, stretch(x) will anchor by the center of a Ranges object. This means that half of the value of extend will be added to the end of the range and the remaining half subtracted from the start of the Range. The other anchors will leave the start/end fixed and stretch the end/start respectively.

stretch(x, extend)

Arguments

x

a Ranges object, to fix by either the start, end or center of an interval use anchor_start(x), anchor_end(x), anchor_center(x). To fix by strand use anchor_3p(x) or anchor_5p(x).

extend

the amount to alter the width of a Ranges object by. Either an integer vector of length 1 or an integer vector the same length as x.

Value

a Ranges object with modified start or end (or both) coordinates

See also

Examples

rng <- as_iranges(data.frame(start=c(2:-1, 13:15), width=c(0:3, 2:0))) rng2 <- stretch(anchor_center(rng), 10) stretch(anchor_start(rng2), 10)
#> IRanges object with 7 ranges and 0 metadata columns: #> start end width #> <integer> <integer> <integer> #> [1] -3 16 20 #> [2] -4 16 21 #> [3] -5 16 22 #> [4] -6 16 23 #> [5] 8 29 22 #> [6] 9 29 21 #> [7] 10 29 20
stretch(anchor_end(rng2), 10)
#> IRanges object with 7 ranges and 0 metadata columns: #> start end width #> <integer> <integer> <integer> #> [1] -13 6 20 #> [2] -14 6 21 #> [3] -15 6 22 #> [4] -16 6 23 #> [5] -2 19 22 #> [6] -1 19 21 #> [7] 0 19 20
grng <- as_granges(data.frame(seqnames = "chr1", strand = c("+", "-", "-", "+", "+", "-", "+"), start=c(2:-1, 13:15), width=c(0:3, 2:0))) stretch(anchor_3p(grng), 10)
#> GRanges object with 7 ranges and 0 metadata columns: #> seqnames ranges strand #> <Rle> <IRanges> <Rle> #> [1] chr1 -8-1 + #> [2] chr1 1-11 - #> [3] chr1 0-11 - #> [4] chr1 -11-1 + #> [5] chr1 3-14 + #> [6] chr1 14-24 - #> [7] chr1 5-14 + #> ------- #> seqinfo: 1 sequence from an unspecified genome; no seqlengths
stretch(anchor_5p(grng), 10)
#> GRanges object with 7 ranges and 0 metadata columns: #> seqnames ranges strand #> <Rle> <IRanges> <Rle> #> [1] chr1 2-11 + #> [2] chr1 -9-1 - #> [3] chr1 -10-1 - #> [4] chr1 -1-11 + #> [5] chr1 13-24 + #> [6] chr1 4-14 - #> [7] chr1 15-24 + #> ------- #> seqinfo: 1 sequence from an unspecified genome; no seqlengths