ranges-filter-overlaps: Filter by overlapping/non-overlapping ranges

Description Usage Arguments Details Value See Also Examples

Description

Filter by overlapping/non-overlapping ranges

Usage

1
2
3
filter_by_overlaps(x, y, maxgap = -1L, minoverlap = 0L)

filter_by_non_overlaps(x, y, maxgap, minoverlap)

Arguments

x, y

Objects representing ranges

maxgap

The maximimum gap between intervals as a single integer greater than or equal to -1. If you modify this argument, minoverlap must be held fixed.

minoverlap

The minimum amount of overlap between intervals as a single integer greater than 0. If you modify this argument, maxgap must be held fixed.

Details

By default, filter_by_overlaps and filter_by_non_overlaps ignore strandedness for GRanges() objects. The argument maxgap is the maximum number of positions between two ranges for them to be considered overlapping. Here the default is set to be -1 as that is the the gap between two ranges that has its start or end strictly inside the other. The argugment minoverlap refers to the minimum number of positions overlapping between ranges, to consider there to be overlap.

Value

a Ranges object

See Also

IRanges::subsetByOverlaps()

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
df <- data.frame(seqnames = c("chr1", rep("chr2", 2),
                              rep("chr3", 3), rep("chr4", 4)),
                 start = 1:10,
                 width = 10:1,
                 strand = c("-", "+", "+", "*", "*", "+", "+", "+", "-", "-"),
                 name = letters[1:10])
query <- as_granges(df)

df2 <- data.frame(seqnames = c(rep("chr2", 2), rep("chr1", 3), "chr2"),
                  start = c(4,3,7,13,1,4),
                  width = c(6,6,3,3,3,9),
                  strand = c(rep("+", 3), rep("-", 3)))
subject <- as_granges(df2)

filter_by_overlaps(query, subject)

filter_by_non_overlaps(query, subject)

plyranges documentation built on Nov. 8, 2020, 7:36 p.m.