1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
## ----setup, include=FALSE-----------------------------------------------------
library(knitr)
opts_chunk$set(size="scriptsize")
if (!dir.exists("~/mydata")) dir.create("~/mydata")
options(width=80)
library(Matrix)
library(DelayedArray)
library(HDF5Array)
library(SummarizedExperiment)
library(airway)
library(lobstr)
## ----airway-------------------------------------------------------------------
library(airway)
data(airway)
m <- unname(assay(airway))
dim(m)
typeof(m)
## ----airway2------------------------------------------------------------------
head(m, n=4)
tail(m, n=4)
sum(m != 0) / length(m)
## ----obj_size-----------------------------------------------------------------
library(lobstr) # for obj_size()
obj_size(m)
library(Matrix)
obj_size(as(m, "dgCMatrix"))
library(DelayedArray)
obj_size(as(m, "RleMatrix"))
obj_size(as(t(m), "RleMatrix"))
library(HDF5Array)
obj_size(as(m, "HDF5Matrix"))
## ----M------------------------------------------------------------------------
M <- as(m, "HDF5Matrix")
M
## ----M2-----------------------------------------------------------------------
M2 <- M[10:12, 1:5]
M2
## ----seed_of_M2---------------------------------------------------------------
seed(M2)
## -----------------------------------------------------------------------------
M3 <- t(M2)
M3
## -----------------------------------------------------------------------------
seed(M3)
## -----------------------------------------------------------------------------
M4 <- cbind(M3, M[1:5, 6:8])
M4
## ----eval=FALSE---------------------------------------------------------------
# seed(M4) # Error! (more than one seed)
## -----------------------------------------------------------------------------
M5 <- M == 0
M5
## -----------------------------------------------------------------------------
seed(M5)
## -----------------------------------------------------------------------------
M6 <- round(M[11:14, ] / M[1:4, ], digits=3)
M6
## ----eval=FALSE---------------------------------------------------------------
# seed(M6) # Error! (more than one seed)
## -----------------------------------------------------------------------------
M6a <- as(M6, "HDF5Array")
M6a
## -----------------------------------------------------------------------------
seed(M6a)
## -----------------------------------------------------------------------------
M6b <- as(M6, "RleArray")
M6b
## -----------------------------------------------------------------------------
seed(M6b)
## -----------------------------------------------------------------------------
setHDF5DumpFile("~/mydata/M6c.h5")
setHDF5DumpName("M6c")
M6c <- as(M6, "HDF5Array")
## -----------------------------------------------------------------------------
seed(M6c)
h5ls("~/mydata/M6c.h5")
## -----------------------------------------------------------------------------
showHDF5DumpLog()
## -----------------------------------------------------------------------------
DelayedArray:::set_verbose_block_processing(TRUE)
colSums(M)
## -----------------------------------------------------------------------------
getAutoBlockSize()
setAutoBlockSize(1e6)
colSums(M)
## ----cleanup, include=FALSE---------------------------------------------------
setHDF5DumpFile()
unlink("~/mydata", recursive=TRUE, force=TRUE)
|