## ----message=FALSE------------------------------------------------------------
library(plyranges)
df <- data.frame(start = 1:5, width = 5)
as_iranges(df)
# alternatively with end
df <- data.frame(start = 1:5, end = 5:9)
as_iranges(df)

## -----------------------------------------------------------------------------
df <- data.frame(seqnames = c("chr1", "chr2", "chr2", "chr1", "chr2"),
                 start = 1:5,
                 width = 5)
as_granges(df)
# strand can be specified with `+`, `*` (mising) and `-`
df$strand <- c("+", "+", "-", "-", "*")
as_granges(df)

## ----include=FALSE------------------------------------------------------------
dir <- system.file(package = "HelloRangesData", "extdata/")
genome <- as_granges(read.delim(file.path(dir, "hg19.genome"),
                     header = FALSE),
                     seqnames = V1, start = 1L, width = V2)

gwas <- read_bed(file.path(dir, "gwas.bed"), genome_info = genome)
exons <- read_bed(file.path(dir, "exons.bed"), genome_info = genome)

## -----------------------------------------------------------------------------
exons
exons %>%
  group_by(seqnames) %>%
  summarise(n = n())

## -----------------------------------------------------------------------------
exons <- exons %>%
  mutate(tx_id = sub("_exon.*", "", name))

## -----------------------------------------------------------------------------
olap <- join_overlap_inner(gwas, exons)
olap

## -----------------------------------------------------------------------------
olap %>%
  group_by(name.x, tx_id) %>%
  summarise(n = n())

## -----------------------------------------------------------------------------
left_ss <- flank_left(exons, 2L)
right_ss <- flank_right(exons, 2L)
all_ss <- interweave(left_ss, right_ss, .id = "side")
all_ss

## -----------------------------------------------------------------------------
sessionInfo()

