| GRanges-setops {GenomicRanges} | R Documentation |
Set and parallel set operations for GRanges/GRangesList objects.
## Set operations
## S4 method for signature 'GRanges,GRanges'
union(x, y, ignore.strand = FALSE,...)
## S4 method for signature 'GRanges,GRanges'
intersect(x, y, ignore.strand = FALSE,...)
## S4 method for signature 'GRanges,GRanges'
setdiff(x, y, ignore.strand = FALSE,...)
## Parallel set operations
## S4 method for signature 'GRanges,GRanges'
punion(x, y, fill.gap = FALSE, ignore.strand = FALSE, ...)
## S4 method for signature 'GRanges,GRanges'
pintersect(x, y, resolve.empty = c("none", "max.start", "start.x"), ignore.strand = FALSE, ...)
## S4 method for signature 'GRanges,GRanges'
psetdiff(x, y, ignore.strand = FALSE, ...)
x, y |
GRanges or GRangesList objects of equal length
(i.e. length(x) == length(y)).
For union, intersect, setdiff, x and
y must both be GRanges objects.
For pintersect, x and y cannot both be
GRangesList objects.
|
fill.gap |
Logical indicating whether or not to force a union by using the rule
start = min(start(x), start(y)), end = max(end(x), end(y)).
|
resolve.empty |
One of "none", "max.start", or "start.x" denoting
how to handle ambiguous empty ranges formed by intersections.
"none" - throw an error if an ambiguous empty range is formed,
"max.start" - associate the maximum start value with any
ambiguous empty range, and "start.x" - associate the start value
of x with any ambiguous empty range. (See
pintersect for the definition of an ambiguous
range.)
|
ignore.strand |
If set to TRUE, the strand information is ignored in the computation and the result has the strand information of x. |
... |
Further arguments to be passed to or from other methods. |
The pintersect methods involving GRanges and
GRangesList objects use the triplet (sequence name, range,
strand) to determine the element by element intersection of features,
where a strand value of "*" is treated as occurring on both the
"+" and "-" strand.
The psetdiff methods involving GRanges and
GRangesList objects use the triplet (sequence name, range,
strand) to determine the element by element set difference of features,
where a strand value of "*" is treated as occurring on both the
"+" and "-" strand.
For union, intersect, and setdiff a GRanges.
For punion and pintersect either a GRanges object
when both x and y are GRanges objects or a
GRangesList object when one of the arguments is a
GRangesList object.
For psetdiff either a GRanges object when both x
and y are GRanges objects or a GRangesList object
when y is a GRangesList object.
P. Aboyoun
GRanges, GRangesList, findOverlaps,GenomicRanges,GenomicRanges-method, pintersect,GRanges,GRanges-method
## GRanges object
gr <-
GRanges(seqnames = c("chr2", "chr1", "chr1"),
ranges = IRanges(1:3, width = 12),
strand = Rle(strand(c("-", "*", "-"))))
gr
## GRangesList object
gr1 <-
GRanges(seqnames = "chr2", ranges = IRanges(3, 6),
strand = "+", score = 5L, GC = 0.45)
gr2 <-
GRanges(seqnames = c("chr1", "chr1"),
ranges = IRanges(c(7,13), width = 3),
strand = c("+", "-"), score = 3:4, GC = c(0.3, 0.5))
gr3 <-
GRanges(seqnames = c("chr1", "chr2"),
ranges = IRanges(c(1, 4), c(3, 9)),
strand = c("-", "-"), score = c(6L, 2L), GC = c(0.4, 0.1))
grlist <- GRangesList("gr1" = gr1, "gr2" = gr2, "gr3" = gr3)
## Union, intersection, and set difference of two GRanges objects
union(gr2, gr3)
intersect(gr2, gr3)
setdiff(gr2, gr3)
## Parallel intersection of two GRanges objects
pintersect(gr2, shift(gr2, 3))
## Parallel intersection of a GRanges and a GRangesList object
pintersect(gr, grlist)
pintersect(grlist, gr)
## Parallel set difference of two GRanges objects
psetdiff(gr2, shift(gr2, 3))
## Parallel set difference of a GRanges and a GRangesList object
psetdiff(gr, grlist)
## Parallel set difference of two GRangesList objects
psetdiff(grlist, shift(grlist, 3))