Skip to content

valr 0.10.0

Latest

Choose a tag to compare

@jayhesselberth jayhesselberth released this 09 Jul 12:09

Breaking changes

  • The min_overlap default changed from 0 to 1 in bed_intersect(), bed_coverage(), bed_subtract(), and bed_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. Set min_overlap = 0L to restore the previous behavior. Internal overlap calculations in bed_closest(), bed_fisher(), bed_jaccard(), bed_projection(), and bed_shuffle() continue to count book-ended intervals.

  • The n_fields argument of read_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, including cpp11bigwig::read_bigbed() output, which uses UCSC column names (e.g. blockSizes/chromStarts). Previously only read_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 a max_rows argument to control the row limit on the
    evaluated result (default 100), and now reports the offending row count when
    the limit is exceeded. It also validates label (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(), and bed_window() now accept a path or URL to a bigWig (.bw) or bigBed (.bb) file in place of an interval y. Only the regions spanned by x are read from the file (the windowed regions, for bed_window()); local paths and http(s):// URLs are both supported via cpp11bigwig, avoiding the cost of loading the entire file into memory (#444).

  • The data_frame() and as_data_frame() re-exports from tibble are now deprecated, matching their deprecation upstream. Use tibble::tibble() and tibble::as_tibble() instead.

  • Modernized internal use of superseded dplyr and tidyselect idioms (one_of(), mutate_at(), and rlang::syms()/!!! splicing replaced with across(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(), and bed_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.