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


## ---- message = FALSE----------------------------------------------------
library(SummarizedExperiment)


## ------------------------------------------------------------------------
library(airway)
data(airway)
airway


## ------------------------------------------------------------------------
set.seed(123)
m <- matrix(
    rnorm(12), nrow = 4, ncol = 3,
    dimnames = list(letters[1:4], LETTERS[1:3])
)
m


## ------------------------------------------------------------------------
dim(m)
dimnames(m)
m[1:2, 2:1]
m[1:2,]


## ------------------------------------------------------------------------
m[1,]
m[,1]


## ------------------------------------------------------------------------
m[ 1, , drop = FALSE]


## ------------------------------------------------------------------------
m


## ------------------------------------------------------------------------
m + 1


## ------------------------------------------------------------------------
abs(m + 1)


## ------------------------------------------------------------------------
colSums(m)
rowMeans(m)


## ------------------------------------------------------------------------
colData(airway)


## ------------------------------------------------------------------------
airway$dex


## ------------------------------------------------------------------------
ridx <- rowMeans(m) > 0
m[ridx, , drop = FALSE]


## ------------------------------------------------------------------------
l <- list(a = 1:5, b = month.abb)


## ------------------------------------------------------------------------
names(l)
length(l)
l[c(2, 1)]
l[2]        # list of length 1, containing element 2 of original list
l[[2]]      # element 2 of original list


## ------------------------------------------------------------------------
lengths(l)


## ------------------------------------------------------------------------
r <- rowRanges(airway)


## ------------------------------------------------------------------------
genome(r) <- "GRCh37"
seqinfo(r)


## ------------------------------------------------------------------------
rowRanges(airway) <- r


## ------------------------------------------------------------------------
seqinfo(airway)


## ---- message = FALSE----------------------------------------------------
library(dplyr)    # %>%


## ------------------------------------------------------------------------
chr14 <- 
    seqinfo(r) %>%
    as("GRanges") %>%
    subset(seqnames == "14")


## ------------------------------------------------------------------------
idx <- r %over% chr14
r[idx]


## ---- message = FALSE----------------------------------------------------
library(readr)
library(tibble)


## ---- eval = FALSE-------------------------------------------------------
## pdata_file <- file.choos()    # airway-sample-sheet.csv
## counts_file <- file.choose()  # airway-read-counts.csv

## ---- echo = FALSE-------------------------------------------------------
pdata_file <-
    system.file(package="BiocIntro", "extdata", "airway-sample-sheet.csv")
counts_file <-
    system.file(package="BiocIntro", "extdata", "airway-read-counts.csv")


## ------------------------------------------------------------------------
pdata <- read_csv(pdata_file)
counts <- read_csv(counts_file)


## ------------------------------------------------------------------------
pdata <- column_to_rownames(pdata, "Run")
counts <- column_to_rownames(counts, "Run")
se <- SummarizedExperiment(t(counts), colData = pdata)
se


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