## ----style, echo = FALSE, results = 'asis'--------------------------------------------------------
BiocStyle::markdown()
options(width=100, max.print=1000)
knitr::opts_chunk$set(
    eval=as.logical(Sys.getenv("KNITR_EVAL", "TRUE")),
    cache=as.logical(Sys.getenv("KNITR_CACHE", "TRUE")))

## ----packages, eval=TRUE, echo=FALSE, warning=FALSE, message=FALSE--------------------------------
suppressPackageStartupMessages({
    library(BioC2016Introduction)
    library(SummarizedExperiment)
    library(airway)
})

## ----configure-test-------------------------------------------------------------------------------
stopifnot(
    getRversion() >= '3.3' && getRversion() < '3.4',
    BiocInstaller::biocVersion() == "3.4"
)

## ----airway-SummarizedExperiment------------------------------------------------------------------
library(airway)         # An 'ExperimentData' package...
data(airway)            # ...with a sample data set...
airway                  # ...that is a SummarizedExperiment
head(assay(airway))     # contains a matrix of counts
head(rowRanges(airway)) # information about the genes...
colData(airway)[, 1:3]  # ...and samples
## coordinated subsetting
untrt <- airway[, airway$dex == 'untrt']
head(assay(untrt))
colData(untrt)[, 1:3]

## ----require--------------------------------------------------------------------------------------
library(GenomicRanges)

## ----help, eval=FALSE-----------------------------------------------------------------------------
#    help(package="GenomicRanges")
#    vignette(package="GenomicRanges")
#    vignette(package="GenomicRanges", "GenomicRangesHOWTOs")
#    ?GRanges

## ----BSgenome-require, message=FALSE--------------------------------------------------------------
  require(BSgenome.Hsapiens.UCSC.hg19)
  chr14_range = GRanges("chr14", IRanges(1, seqlengths(Hsapiens)["chr14"]))
  chr14_dna <- getSeq(Hsapiens, chr14_range)
  letterFrequency(chr14_dna, "GC", as.prob=TRUE)

## ----ranges, message=FALSE------------------------------------------------------------------------
require(GenomicRanges)
gr <- GRanges("A", IRanges(c(10, 20, 22), width=5), "+")
shift(gr, 1)                            # 1-based coordinates!
range(gr)                               # intra-range
reduce(gr)                              # inter-range
coverage(gr)
setdiff(range(gr), gr)                  # 'introns'

## ----bam-require----------------------------------------------------------------------------------
require(GenomicRanges)
require(GenomicAlignments)
require(Rsamtools)

## our 'region of interest'
roi <- GRanges("chr14", IRanges(19653773, width=1)) 
## sample data
require('RNAseqData.HNRNPC.bam.chr14')
bf <- BamFile(RNAseqData.HNRNPC.bam.chr14_BAMFILES[[1]], asMates=TRUE)
## alignments, junctions, overlapping our roi
paln <- readGAlignmentsList(bf)
j <- summarizeJunctions(paln, with.revmap=TRUE)
j_overlap <- j[j %over% roi]

## supporting reads
paln[j_overlap$revmap[[1]]]

## ----vcf, message=FALSE---------------------------------------------------------------------------
  ## input variants
  require(VariantAnnotation)
  fl <- system.file("extdata", "chr22.vcf.gz", package="VariantAnnotation")
  vcf <- readVcf(fl, "hg19")
  seqlevels(vcf) <- "chr22"
  ## known gene model
  require(TxDb.Hsapiens.UCSC.hg19.knownGene)
  coding <- locateVariants(rowRanges(vcf),
      TxDb.Hsapiens.UCSC.hg19.knownGene,
      CodingVariants())
  head(coding)

## ----SummarizedExperiment-------------------------------------------------------------------------
library(SummarizedExperiment)
library(airway)
data(airway)
airway
colData(airway)
airway[, airway$dex %in% "trt"]

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