Learn R Programming

⚠️There's a newer version (0.9.1) of this package.Take me there.

valr

The valr package provides tools to read and manipulate genome intervals and signals, similar to the BEDtools suite. valr enables analysis in the R/RStudio environment, leveraging modern R tools in the tidyverse for a terse, expressive syntax. Compute-intensive algorithms are implemented in Rcpp/C++, and many methods take advantage of the speed and grouping capability provided by dplyr. See vignette(valr) for more details.

Installation

The latest stable version can be installed from CRAN:

install.packages('valr')

The latest development version can be installed from github:

# install.packages("devtools")
devtools::install_github('rnabioco/valr')

valr Example

Functions in valr have similar names to their BEDtools counterparts, and so will be familiar to users coming from the BEDtools suite. Unlike other tools that wrap BEDtools and write temporary files to disk, valr tools run natively in memory. Similar to pybedtools, valr has a terse syntax:

library(valr)
library(dplyr)

snps <- read_bed(valr_example('hg19.snps147.chr22.bed.gz'), n_fields = 6)
genes <- read_bed(valr_example('genes.hg19.chr22.bed.gz'), n_fields = 6)

# find snps in intergenic regions
intergenic <- bed_subtract(snps, genes)
# find distance from intergenic snps to nearest gene
nearby <- bed_closest(intergenic, genes)

nearby %>%
  select(starts_with('name'), .overlap, .dist) %>%
  filter(abs(.dist) < 5000)
#> # A tibble: 1,047 x 4
#>    name.x      name.y   .overlap .dist
#>    <chr>       <chr>       <int> <int>
#>  1 rs530458610 P704P           0  2579
#>  2 rs2261631   P704P           0  -268
#>  3 rs570770556 POTEH           0  -913
#>  4 rs538163832 POTEH           0  -953
#>  5 rs190224195 POTEH           0 -1399
#>  6 rs2379966   DQ571479        0  4750
#>  7 rs142687051 DQ571479        0  3558
#>  8 rs528403095 DQ571479        0  3309
#>  9 rs555126291 DQ571479        0  2745
#> 10 rs5747567   DQ571479        0 -1778
#> # ... with 1,037 more rows

Copy Link

Version

Install

install.packages('valr')

Monthly Downloads

2,702

Version

0.5.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Jay Hesselberth

Last Published

January 3rd, 2019

Functions in valr (0.5.0)

bed_jaccard

Calculate the Jaccard statistic for two sets of intervals.
bed_complement

Identify intervals in a genome not covered by a query.
as.tbl_genome

Coerce objects to tbl_genome.
as.tbl_interval

Coerce objects to tbl_intervals.
bed_coverage

Compute coverage of intervals.
bed_map

Calculate summaries from overlapping intervals.
bed_merge

Merge overlapping intervals.
bed_subtract

Subtract two sets of intervals.
bed_window

Identify intervals within a specified distance.
id_var

Plyr function id_var packaged due to plyr being retired Numeric id for a vector.
interval_spacing

Calculate interval spacing.
create_utrs5

Create 5' UTR features.
bed_glyph

Create example glyphs for valr functions.
bed_cluster

Cluster neighboring intervals.
bed12_to_exons

Convert BED12 to individual exons in BED6.
bed_partition

Partition intervals into elemental intervals
bed_projection

Projection test for query interval overlap.
bed_shuffle

Shuffle input intervals.
bed_intersect

Identify intersecting intervals.
bed_absdist

Compute absolute distances between intervals.
bound_intervals

Select intervals bounded by a genome.
create_tss

Create transcription start site features.
create_utrs3

Create 3' UTR features.
bed_random

Generate randomly placed intervals on a genome.
flip_strands

Flip strands in intervals.
is.tbl_genome

Test if the object is a tbl_genome.
is.tbl_interval

Test if the object is a tbl_interval.
read_bed

Read BED and related files.
read_genome

Read genome files.
create_introns

Create intron features.
bed_reldist

Compute relative distances between intervals.
db

Fetch data from remote databases.
id

Plyr function id packaged due to plyr being retired Compute a unique numeric id for each unique row in a data frame.
bed_slop

Increase the size of input intervals.
tbl_interval

Tibble for intervals.
valr_example

Provide working directory for valr example files.
valr

valr: genome interval arithmetic in R
bed_sort

Sort a set of intervals.
read_vcf

Read a VCF file.
tbl_genome

Tibble for reference sizes.
bed_fisher

Fisher's test to measure overlap between two sets of intervals.
bed_closest

Identify closest intervals.
bed_flank

Create flanking intervals from input intervals.
bed_makewindows

Divide intervals into new sub-intervals ("windows").
bed_shift

Adjust intervals by a fixed size.