Skip to contents

Identify intervals within a specified distance.

Usage

bed_window(x, y, genome, ...)

Arguments

x

ivl_df

y

ivl_df

genome

genome_df

...

params for bed_slop and bed_intersect

Details

input tbls are grouped by chrom by default, and additional groups can be added using dplyr::group_by(). For example, grouping by strand will constrain analyses to the same strand. To compare opposing strands across two tbls, strands on the y tbl can first be inverted using flip_strands().

Examples

x <- tibble::tribble(
  ~chrom, ~start, ~end,
  "chr1", 25,     50,
  "chr1", 100,    125
)

y <- tibble::tribble(
  ~chrom, ~start, ~end,
  "chr1", 60,     75
)

genome <- tibble::tribble(
  ~chrom, ~size,
  "chr1", 125
)

bed_glyph(bed_window(x, y, genome, both = 15))


x <- tibble::tribble(
  ~chrom, ~start, ~end,
  "chr1", 10, 100,
  "chr2", 200, 400,
  "chr2", 300, 500,
  "chr2", 800, 900
)

y <- tibble::tribble(
  ~chrom, ~start, ~end,
  "chr1", 150,    400,
  "chr2", 230,    430,
  "chr2", 350,    430
)

genome <- tibble::tribble(
  ~chrom, ~size,
  "chr1", 500,
  "chr2", 1000
)

bed_window(x, y, genome, both = 100)
#> # A tibble: 4 × 7
#>   chrom start.x end.x start.y end.y .source .overlap
#>   <chr>   <dbl> <dbl>   <dbl> <dbl> <chr>      <int>
#> 1 chr2      200   400     230   430 1            200
#> 2 chr2      200   400     350   430 1             80
#> 3 chr2      300   500     230   430 1            200
#> 4 chr2      300   500     350   430 1             80