Breaking changes
-
The
min_overlapdefault changed from0to1inbed_intersect(),bed_coverage(),bed_subtract(), andbed_window(), completing the deprecation begun in 0.8.0. By default, book-ended intervals (those that touch but do not overlap) are now excluded, matching bedtools behavior. Setmin_overlap = 0Lto restore the previous behavior. Internal overlap calculations inbed_closest(),bed_fisher(),bed_jaccard(),bed_projection(), andbed_shuffle()continue to count book-ended intervals. -
The
n_fieldsargument ofread_bed(), deprecated since 0.6.9, is now defunct and errors when supplied; fields are determined automatically from the file.
New features
-
bed12_to_exons()now accepts BED12 data from any source with the standard column order, includingcpp11bigwig::read_bigbed()output, which uses UCSC column names (e.g.blockSizes/chromStarts). Previously onlyread_bed12()output (with valr's column names) was accepted. It also accepts a path or URL to a BED12 bigBed (.bb) file directly, validating the file is BED12 (via its header's declared field count) before conversion (#461). -
bed_glyph()gained amax_rowsargument to control the row limit on the
evaluated result (default100), and now reports the offending row count when
the limit is exceeded. It also validateslabel(an absent column is an error
rather than a silent no-op), supports namespace-qualified calls such as
bed_glyph(valr::bed_merge(x)), and renders every interval at a uniform
vertical size with the figure height scaling to the number of rows. -
bed_map(),bed_intersect(),bed_subtract(),bed_coverage(), andbed_window()now accept a path or URL to a bigWig (.bw) or bigBed (.bb) file in place of an intervaly. Only the regions spanned byxare read from the file (the windowed regions, forbed_window()); local paths andhttp(s)://URLs are both supported via cpp11bigwig, avoiding the cost of loading the entire file into memory (#444). -
The
data_frame()andas_data_frame()re-exports from tibble are now deprecated, matching their deprecation upstream. Usetibble::tibble()andtibble::as_tibble()instead. -
Modernized internal use of superseded dplyr and tidyselect idioms (
one_of(),mutate_at(), andrlang::syms()/!!!splicing replaced withacross(all_of())). No change in behavior. The minimum supported dplyr version is now 1.0.0. -
Reduced the direct dependency surface on rlang to a single function (
check_required());dots_n()was replaced with base...length(). -
Reduced per-group memory copies in the C++ backend of
bed_intersect(),bed_coverage(), andbed_subtract()by avoiding redundant copies of the interval vectors. -
Requires cpp11bigwig (>= 0.3.0), which fixes CRAN sanitizer (UBSan/ASan) errors when reading bigBed files.