\name{interval_union} \alias{interval_union} \alias{interval_union,Genome_intervals-method} \alias{interval_union,Genome_intervals_stranded-method} \alias{interval_complement} \alias{interval_complement,Genome_intervals-method} \alias{interval_complement,Genome_intervals_stranded-method} \alias{interval_intersection} \alias{interval_intersection,Genome_intervals-method} \alias{interval_intersection,Genome_intervals_stranded-method} \title{Genome interval set operations} \description{ Compute interval set operations on \code{"Genome_intervals"} or \code{"Genome_intervals_stranded"} objects. } \usage{ \S4method{interval_union}{Genome_intervals}(x, ...) \S4method{interval_union}{Genome_intervals_stranded}(x, ...) \S4method{interval_complement}{Genome_intervals}(x) \S4method{interval_complement}{Genome_intervals_stranded}(x) \S4method{interval_intersection}{Genome_intervals}(x,...) \S4method{interval_intersection}{Genome_intervals_stranded}(x,...) } \arguments{ \item{x}{ A \code{"Genome_intervals"} or \code{"Genome_intervals_stranded"} object.} \item{\dots}{Optionally, additional objects of the same class as \code{x}.} } \value{ A single object of appropriate class, representing the union, complement or intersection of intervals computed over entries with same \code{seq_name}, \code{inter_base} and also \code{strand} if all passed objects are of the class \code{"Genome_intervals_stranded"}. } \details{ Wrappers calling the corresponding functions of the package \code{intervals} by same \code{seq_name}, \code{inter_base} and if needed \code{strand}. Note that the union of single input object \code{x} returns the reduced form of \code{x}, i.e. the interval representation of the covered set. } \seealso{ \code{\link[intervals:interval_union-methods]{interval_union}}, \code{\link[intervals:interval_complement-methods]{interval_complement}}, \code{\link[intervals:interval_intersection-methods]{interval_intersection}} and \code{\link[intervals:reduce-methods]{reduce}} from the package \code{intervals}. } \examples{ ## load toy examples data(gen_ints) ## content of i object i ## complement interval_complement(i) ## reduced form (non-overlapping interval representation of the covered set) interval_union(i) ## union interval_union(i[1:2,], i[1:4,]) # map to genome intervals and union again i.nostrand = as(i,"Genome_intervals") interval_union(i.nostrand) ## intersection with a second object # print i and j in closed interval notation close_intervals(i) close_intervals(j) # interval_intersection interval_intersection(i,j) #interval intersection non-stranded interval_intersection(i.nostrand, as(j, "Genome_intervals")) }