The ouput .id
column can be used in downstream grouping operations. Default
max_dist = 0
means that both overlapping and book-ended intervals will be
clustered.
bed_cluster(x, max_dist = 0)
x | |
---|---|
max_dist | maximum distance between clustered intervals. |
tbl_interval()
with .id
column specifying sets of clustered intervals.
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()
.
http://bedtools.readthedocs.org/en/latest/content/tools/cluster.html
Other single set operations: bed_complement
,
bed_flank
, bed_merge
,
bed_partition
, bed_shift
,
bed_slop
x <- trbl_interval( ~chrom, ~start, ~end, 'chr1', 100, 200, 'chr1', 180, 250, 'chr1', 250, 500, 'chr1', 501, 1000, 'chr2', 1, 100, 'chr2', 150, 200 ) bed_cluster(x)#> # A tibble: 6 x 4 #> chrom start end .id #> <chr> <dbl> <dbl> <int> #> 1 chr1 100 200 1 #> 2 chr1 180 250 1 #> 3 chr1 250 500 1 #> 4 chr1 501 1000 2 #> 5 chr2 1 100 3 #> 6 chr2 150 200 4# glyph illustrating clustering of overlapping and book-ended intervals x <- trbl_interval( ~chrom, ~start, ~end, 'chr1', 1, 10, 'chr1', 5, 20, 'chr1', 30, 40, 'chr1', 40, 50, 'chr1', 80, 90 ) bed_glyph(bed_cluster(x), label = '.id')