Package {cpp11bigwig}


Type: Package
Title: Read bigWig and bigBed Files
Version: 0.2.0
Description: Read bigWig and bigBed files using "libBigWig" https://github.com/dpryan79/libBigWig. Provides lightweight access to the binary bigWig and bigBed formats developed by the UCSC Genome Browser group.
License: MIT + file LICENSE
URL: https://rnabioco.github.io/cpp11bigwig/, https://github.com/rnabioco/cpp11bigwig
BugReports: https://github.com/rnabioco/cpp11bigwig/issues
Imports: GenomicRanges, IRanges, S4Vectors, tibble
Suggests: testthat (≥ 3.0.0)
LinkingTo: cpp11
SystemRequirements: libcurl (optional, for remote file access): libcurl-devel (rpm) or libcurl4-openssl-dev (deb)
Config/Needs/website: rnabioco/rbitemplate
Config/testthat/edition: 3
Encoding: UTF-8
Config/roxygen2/version: 8.0.0
NeedsCompilation: yes
Packaged: 2026-06-18 11:55:35 UTC; jayhesselberth
Author: Jay Hesselberth [aut, cre], RNA Bioscience Initiative [fnd, cph], Devon Ryan [cph]
Maintainer: Jay Hesselberth <jay.hesselberth@gmail.com>
Repository: CRAN
Date/Publication: 2026-06-18 16:50:14 UTC

cpp11bigwig: read data from bigWig files

Description

bigwig provides methods to read data from bigWig files. bigwig uses cpp11 to wrap libBigWig from @dpryan79.

Details

https://github.com/dpryan79/libBigWig

Author(s)

Jay Hesselberth jay.hesselberth@gmail.com

See Also

Useful links:


Read data from bigBed files.

Description

Columns are automatically typed based on the autoSql schema embedded in the bigBed file. Integer types (uint, int) become R integers, floating point types (float, double) become R doubles, and all other types (including array types like int[blockCount]) remain as character strings.

Usage

read_bigbed(bbfile, chrom = NULL, start = NULL, end = NULL)

Arguments

bbfile

path or URL for a bigBed file. Remote files (⁠http://⁠, ⁠https://⁠, ⁠ftp://⁠) are supported when the package was installed with libcurl available.

chrom

read data for specific chromosome

start

start position for data

end

end position for data

Value

tibble

See Also

https://github.com/dpryan79/libBigWig

https://github.com/brentp/bw-python

Examples

bb <- system.file("extdata", "test.bb", package = "cpp11bigwig")

read_bigbed(bb)

read_bigbed(bb, chrom = "chr10")


Read data from bigWig files.

Description

Read data from bigWig files.

Usage

read_bigwig(
  bwfile,
  chrom = NULL,
  start = NULL,
  end = NULL,
  as = NULL,
  fill = 0
)

Arguments

bwfile

path or URL for a bigWig file. Remote files (⁠http://⁠, ⁠https://⁠, ⁠ftp://⁠) are supported when the package was installed with libcurl available.

chrom

read data for specific chromosome

start

start position for data

end

end position for data

as

return data as a specific type. One of "tbl" (the default tibble), "GRanges", or "Rle". "Rle" returns a per-base run-length-encoded vector spanning the requested range (see Details).

fill

value used for bases with no data when as = "Rle". Defaults to 0 (the convention for coverage); use NA to mark uncovered bases as missing. Ignored for other as values.

Details

When as = "Rle", the result is an S4Vectors::Rle whose expanded length equals the queried range, i.e. end - start when both are supplied, otherwise the extent of the returned data for each chromosome. Bases with no data in the file are set to fill. bigWig coordinates are 0-based and half-open, so element i corresponds to genomic position start + i - 1. A single-chromosome query returns a bare Rle; a multi-chromosome query returns a named IRanges::RleList.

Value

A tibble, GRanges, or Rle/RleList depending on as.

See Also

https://github.com/dpryan79/libBigWig

https://github.com/brentp/bw-python

Examples

bw <- system.file("extdata", "test.bw", package = "cpp11bigwig")

read_bigwig(bw)

read_bigwig(bw, chrom = "10")

read_bigwig(bw, chrom = "1", start = 100, end = 130)

read_bigwig(bw, as = "GRanges")

read_bigwig(bw, chrom = "1", start = 100, end = 130, as = "Rle")