Sam Buckberry 2022-07-13
source("R/project_functions.R")
## Loading required package: BiocGenerics
##
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
##
## IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
##
## anyDuplicated, append, as.data.frame, basename, cbind, colnames,
## dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep,
## grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget,
## order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,
## rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply,
## union, unique, unsplit, which.max, which.min
## Welcome to Bioconductor
##
## Vignettes contain introductory material; view with
## 'browseVignettes()'. To cite Bioconductor, see
## 'citation("Biobase")', and for packages 'citation("pkgname")'.
## Loading required package: ggplot2
## Loading required package: lattice
## Loading required package: GenomicRanges
## Loading required package: stats4
## Loading required package: S4Vectors
##
## Attaching package: 'S4Vectors'
## The following objects are masked from 'package:base':
##
## expand.grid, I, unname
## Loading required package: IRanges
## Loading required package: GenomeInfoDb
## Loading required package: SummarizedExperiment
## Loading required package: MatrixGenerics
## Loading required package: matrixStats
##
## Attaching package: 'matrixStats'
## The following objects are masked from 'package:Biobase':
##
## anyMissing, rowMedians
##
## Attaching package: 'MatrixGenerics'
## The following objects are masked from 'package:matrixStats':
##
## colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
## colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
## colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
## colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
## colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
## colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
## colWeightedMeans, colWeightedMedians, colWeightedSds,
## colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
## rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
## rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
## rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
## rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
## rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
## rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
## rowWeightedSds, rowWeightedVars
## The following object is masked from 'package:Biobase':
##
## rowMedians
##
## Attaching package: 'magrittr'
## The following object is masked from 'package:GenomicRanges':
##
## subtract
##
## Attaching package: 'data.table'
## The following object is masked from 'package:SummarizedExperiment':
##
## shift
## The following object is masked from 'package:GenomicRanges':
##
## shift
## The following object is masked from 'package:IRanges':
##
## shift
## The following objects are masked from 'package:S4Vectors':
##
## first, second
## Loading required package: BSgenome
## Loading required package: Biostrings
## Loading required package: XVector
##
## Attaching package: 'Biostrings'
## The following object is masked from 'package:base':
##
## strsplit
## Loading required package: rtracklayer
## Loading required package: AnnotationDbi
##
## Attaching package: 'ggthemes'
## The following object is masked from 'package:cowplot':
##
## theme_map
## Loading required package: Rsamtools
##
## Attaching package: 'VariantAnnotation'
## The following object is masked from 'package:stringr':
##
## fixed
## The following object is masked from 'package:base':
##
## tabulate
##
## Attaching package: 'ChIPpeakAnno'
## The following object is masked from 'package:VariantAnnotation':
##
## info
##
## Attaching package: 'gtools'
## The following object is masked from 'package:e1071':
##
## permutations
##
## Attaching package: 'UpSetR'
## The following object is masked from 'package:lattice':
##
## histogram
## Loading required package: limma
##
## Attaching package: 'limma'
## The following object is masked from 'package:BiocGenerics':
##
## plotMA
## Loading required package: grid
##
## Attaching package: 'grid'
## The following object is masked from 'package:Biostrings':
##
## pattern
Load the metadata
mdat <- read.csv("wgbs/metadata/wgbs_metadata_local.csv")
List relevant library ids
## Primed lines
pr <- c("RL417", "RL418")
## Primed-Naive lines
pn <- c("RL699", "RL700")
## Primed-Naive-Primed lines
pnp <- c("RL3073", "RL3074", "RL3075")
## ESC lines
esc <- c("RL2351_merge", "RL2352_merge",
"SRR1561745_merge", "SRS004213", "SRS114877",
"SRS606777", "SRS606778")
libs <- c(pr, pn, pnp, esc)
Load DMRs
ips_esc_dmrs <- readRDS("wgbs/processed_data/classified_dmrs_granges.Rds")
Calculate mCG/CG for relevant samples
dmr_mCG <- make_mC_matrix(obj_fls = mdat$BSseq_CG[mdat$Library_id %in% libs],
gr = ips_esc_dmrs, cores = 3)
## Making matrix of mC levels for regions...
colnames(dmr_mCG) <- mdat$Library_id[mdat$Library_id %in% libs]
ind <- match(colnames(dmr_mCG), mdat$Library_id)
coldat <- data.frame(row.names = colnames(dmr_mCG), Group=mdat$Group[ind])
pdf("wgbs/plots/pnp-cg-dmr-heatmap.pdf",
width = 4, height = 4)
pheatmap(dmr_mCG[complete.cases(dmr_mCG), ], show_rownames = FALSE,
clustering_distance_cols = "correlation",
annotation_col = coldat, fontsize = 6,
labels_col = mdat$Manuscript.Name[ind])
dev.off()
## pdf
## 3
pheatmap(dmr_mCG[complete.cases(dmr_mCG), ], show_rownames = FALSE,
clustering_distance_cols = "correlation",
annotation_col = coldat, fontsize = 6,
labels_col = mdat$Manuscript.Name[ind])
icr_gr <- readRDS("resources/imprint_control_regions_granges_hg19.Rds")
icr_mCG <- make_mC_matrix(obj_fls = mdat$BSseq_CG[mdat$Library_id %in% c(pr, pn, pnp)],
gr = icr_gr, cores = 3)
## Making matrix of mC levels for regions...
colnames(icr_mCG) <- mdat$Library_id[mdat$Library_id %in% c(pr, pn, pnp)]
icr_mCG <- reshape2::melt(icr_mCG)
ind2 <- match(icr_mCG$Var2, mdat$Library_id)
icr_mCG$group <- mdat$Group[ind2]
icr_mCG$id <- mdat$Manuscript.Name[ind2]
icr_mCG$group <- factor(icr_mCG$group, levels = c("Primed-hiPSC",
"PtN-hiPSC",
"PNP-hiPSC"))
gg_icr <- ggplot(icr_mCG, aes(x = id, y = value, fill=group)) +
geom_boxplot(lwd=line_mm) + ylab("ICR mCG/CG") + xlab("") +
facet_grid(.~group, space = "free", scales = "free", drop = TRUE) +
sams_pub_theme()
## Warning: The `size` argument of `element_line()` is deprecated as of ggplot2 3.4.0.
## ℹ Please use the `linewidth` argument instead.
pdf("wgbs/plots/pnp-icr-boxplots.pdf", width = 2, height = 2)
gg_icr
dev.off()
## quartz_off_screen
## 2
gg_icr
mdat <- read.csv("wgbs/metadata/wgbs_metadata_local.csv")
dfl <- readRDS("wgbs/processed_data/mCH_DMR_window_dat_all.Rds")
id_ind <- match(dfl$id, basename(mdat$BSseq_CA))
dfl$id <- mdat$Library_id[id_ind]
CH_dat <- readxl::read_excel(path = "resources/nature13551-s3.xlsx")
CH_dmr <- GRanges(seqnames = CH_dat$chr,
ranges = IRanges(start = as.numeric(CH_dat$start),
end = as.numeric(CH_dat$end)))
CH_dmr$presence <- CH_dat$presence
CH_dmr$loci <- gr_to_loci(CH_dmr)
dfl$loci <- rownames(dfl)
dfl$loci <- rep(gr_to_loci(CH_dmr), times=length(unique(dfl$id)))
keep <- dfl$loci %in% CH_dmr$loci[CH_dmr$presence == "all iPSCs"]
table(keep)
## keep
## FALSE TRUE
## 7811 3139
dfl <- dfl[keep, ]
### Normalise to max (flank normalisation)
max_norm <- function(x){
vec <- dfl[x, 1:30] / max(dfl[x, 1:30], na.rm = TRUE)
return(vec)
}
#flank_max_norm <- function(x){
# vec <- dfl[x, 1:30] / max(dfl[x, c(1:10, 21:30)], na.rm = TRUE)
# return(vec)
#}
dfl_norm <- lapply(X = 1:nrow(dfl), max_norm) %>%
do.call(rbind, .)
dfl_norm$id <- dfl$id
dfl_norm$loci <- dfl$loci
ind <- match(dfl_norm$id, mdat$Library_id)
dfl_norm$group <- mdat$Group[ind]
dfl_norm$progenitor <- mdat$Progenitor[ind]
dfl_norm$batch <- mdat$Batch[ind]
dfl_norm$lab <- mdat$Lab[ind]
dfl_norm$background <- mdat$Background[ind]
norm_dat <- reshape2::melt(dfl_norm)
## Using id, loci, group, progenitor, batch, lab, background as id variables
## Primed lines
pr <- c("RL417", "RL418")
## Primed-Naive lines
pn <- c("RL699", "RL700")
## Primed-Naive-Primed lines
pnp <- c("RL3073", "RL3074", "RL3075")
df <- norm_dat[norm_dat$id %in% c(pr, pn, pnp), ]
df <- rbind(df, norm_dat[norm_dat$group == "hESC", ])
colnames(df)[colnames(df) == "variable"] <- "bin"
plot_dat <- reshape2::melt(df)
## Using id, loci, group, progenitor, batch, lab, background, bin as id variables
hm_dat <- plot_dat[plot_dat$bin %in% 11:20, ]
hm_dat <- hm_dat %>% dplyr::group_by(loci, id) %>%
dplyr::summarise(mean=mean(value, na.rm=TRUE))
## `summarise()` has grouped output by 'loci'. You can override using the
## `.groups` argument.
hm_dat <- hm_dat %>% tidyr::spread(id, mean) %>% data.frame()
rownames(hm_dat) <- hm_dat$loci
hm_dat$loci <- NULL
indx <- match(colnames(hm_dat), mdat$Library_id)
coldat <- mdat[indx, c("Library_id", "Group")]
rownames(coldat) <- coldat$Library_id
coldat$Library_id <- NULL
# hm <- pheatmap(hm_dat[complete.cases(hm_dat), ],
# annotation_col = coldat, main = title,
# border_color = NA, show_rownames = FALSE)
## Calculate stats on flank norm mean for CH-DMRs for each group
stats_groups <- factor(coldat$Group)
design <- model.matrix(~ 0+stats_groups)
colnames(design) <- str_remove(string = colnames(design),
pattern = "stats_groups") %>% make.names()
cont <- makeContrasts(hESC - Primed.hiPSC,
levels = design)
ch_fit <- lmFit(hm_dat, design)
ch_fit2 <- contrasts.fit(ch_fit, cont)
ch_fit2 <- eBayes(ch_fit2)
tt <- topTable(ch_fit2, adjust="BH",
number = nrow(hm_dat), sort="none")
tt$loci <- rownames(tt)
tt$contrast <- dimnames(cont)$Contrasts
tt$progenitor <- "Fibroblast"
tt$batch <- "PNP"
tt$lab <- "Lister"
tt$background <- "32F"
#tt <- lapply(1:ncol(cont), get_tt) %>% do.call(rbind, .)
tt$diff <- "NS"
tt$diff[(tt$logFC > 0) & (tt$adj.P.Val < 0.05)] <- "hiPSC-hypo"
tt$diff[(tt$logFC < 0) & (tt$adj.P.Val < 0.05)] <- "hiPSC-hyper"
## Get the loci that are differential for up and down
ips_hypo <- tt$loci[tt$diff == "hiPSC-hypo" & tt$contrast == "hESC - Primed.hiPSC"]
ips_hyper <- tt$loci[tt$diff == "hiPSC-hyper" & tt$contrast == "hESC - Primed.hiPSC"]
## Flag loci direction for plotting
df$direction <- "NS"
df$direction[df$loci %in% ips_hyper] <- "hiPSC-hyper"
df$direction[df$loci %in% ips_hypo] <- "hiPSC-hypo"
## Aggregate the data for plotting
df$bin <- as.numeric(df$bin)
df_grp <- df %>% dplyr::group_by(id, group, bin, direction) %>%
dplyr::summarise(mean=mean(value, na.rm = TRUE))
## `summarise()` has grouped output by 'id', 'group', 'bin'. You can override
## using the `.groups` argument.
scale_max <- function(x){ x / max(x, na.rm = TRUE)}
scale_group_max <- function(id){
df0 <- df_grp[df_grp$id == id, ]
df0$norm <- NA
df0$norm[df0$direction == "hiPSC-hyper"] <-
scale_max(df0$mean[df0$direction == "hiPSC-hyper"])
df0$norm[df0$direction == "hiPSC-hypo"] <-
scale_max(df0$mean[df0$direction == "hiPSC-hypo"])
df0$norm[df0$direction == "NS"] <-
scale_max(df0$mean[df0$direction == "NS"])
return(df0)
}
df_norm <- lapply(unique(df_grp$id), scale_group_max) %>%
do.call(rbind, .)
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
## Warning in max(x, na.rm = TRUE): no non-missing arguments to max; returning -Inf
# Set line width for plots
line_mm <- 0.25
pp01_keep <- ggplot(df_norm[df_norm$direction == "hiPSC-hypo", ],
aes(x=bin, y = norm, group=id,
fill=group, colour=group)) +
geom_line(size=0.5, alpha = 0.7) +
ylab("Normalised mCA/CA") +
xlab("") +
geom_vline(xintercept = c(11,20), linetype="dashed", size=line_mm) +
theme_bw() +
theme(plot.background = element_blank(),
panel.grid.minor.y = element_line(),
panel.grid.major.y = element_line(),
panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank(),
panel.border = element_blank(),
strip.text.y = element_text(size = 6),
text = element_text(size=6),
strip.background = element_blank(),
legend.position = "right",
axis.line.x = element_line(color = 'black', size = line_mm),
axis.text.y = element_text(color = 'black'),
axis.line.y = element_line(color = 'black', size = line_mm),
axis.ticks.y = element_line(color = 'black', size = line_mm),
axis.ticks.x = element_blank(),
axis.text.x = element_blank())
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
pdf("wgbs/plots/pnp-ch-dmr-profile-plots.pdf", width = 3, height = 3)
pp01_keep
## Warning: Removed 180 rows containing missing values (`geom_line()`).
dev.off()
## quartz_off_screen
## 2
pp01_keep
## Warning: Removed 180 rows containing missing values (`geom_line()`).
wb_ed_fig4fgh <- openxlsx::createWorkbook()
openxlsx::addWorksheet(wb_ed_fig4fgh, sheetName = "ED_Fig_4f")
openxlsx::writeData(wb = wb_ed_fig4fgh, sheet = "ED_Fig_4f",
x = dmr_mCG[complete.cases(dmr_mCG), ])
openxlsx::addWorksheet(wb_ed_fig4fgh, sheetName = "ED_Fig_4g")
openxlsx::writeData(wb = wb_ed_fig4fgh, sheet = "ED_Fig_4g",
x = pp01_keep$data)
openxlsx::addWorksheet(wb_ed_fig4fgh, sheetName = "ED_Fig_4h")
openxlsx::writeData(wb = wb_ed_fig4fgh, sheet = "ED_Fig_4h",
x = gg_icr$data)
openxlsx::saveWorkbook(wb = wb_ed_fig4fgh,
file = "ED_Figure_4fgh_source_data.xlsx", overwrite = TRUE)
sessionInfo()
## R version 4.2.1 (2022-06-23)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS Big Sur ... 10.16
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8
##
## attached base packages:
## [1] grid parallel stats4 stats graphics grDevices utils
## [8] datasets methods base
##
## other attached packages:
## [1] RColorBrewer_1.1-3
## [2] XML_3.99-0.12
## [3] ggExtra_0.10.0
## [4] gprofiler2_0.2.1
## [5] gt_0.8.0
## [6] Gviz_1.40.1
## [7] edgeR_3.38.4
## [8] limma_3.52.4
## [9] UpSetR_1.4.0
## [10] gtools_3.9.4
## [11] ggdendro_0.1.23
## [12] TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2
## [13] ChIPpeakAnno_3.30.1
## [14] ggridges_0.5.4
## [15] ggalluvial_0.12.3
## [16] alluvial_0.1-2
## [17] VariantAnnotation_1.42.1
## [18] Rsamtools_2.12.0
## [19] ggthemes_4.2.4
## [20] cowplot_1.1.1
## [21] ggrepel_0.9.2
## [22] ggfortify_0.4.15
## [23] pheatmap_1.0.12
## [24] GenomicFeatures_1.48.4
## [25] AnnotationDbi_1.58.0
## [26] BSgenome.Hsapiens.UCSC.hg19_1.4.3
## [27] BSgenome_1.64.0
## [28] rtracklayer_1.56.1
## [29] Biostrings_2.64.1
## [30] XVector_0.36.0
## [31] data.table_1.14.6
## [32] readxl_1.4.1
## [33] openxlsx_4.2.5.1
## [34] stringr_1.5.0
## [35] magrittr_2.0.3
## [36] bsseq_1.32.0
## [37] SummarizedExperiment_1.26.1
## [38] MatrixGenerics_1.8.1
## [39] matrixStats_0.63.0
## [40] GenomicRanges_1.48.0
## [41] GenomeInfoDb_1.32.4
## [42] IRanges_2.30.1
## [43] S4Vectors_0.34.0
## [44] e1071_1.7-12
## [45] caret_6.0-93
## [46] lattice_0.20-45
## [47] ggplot2_3.4.1
## [48] Biobase_2.56.0
## [49] BiocGenerics_0.42.0
## [50] preprocessCore_1.58.0
##
## loaded via a namespace (and not attached):
## [1] rappdirs_0.3.3 ModelMetrics_1.2.2.2
## [3] R.methodsS3_1.8.2 tidyr_1.2.1
## [5] bit64_4.0.5 knitr_1.41
## [7] DelayedArray_0.22.0 R.utils_2.12.2
## [9] rpart_4.1.19 KEGGREST_1.36.3
## [11] hardhat_1.2.0 RCurl_1.98-1.9
## [13] AnnotationFilter_1.20.0 generics_0.1.3
## [15] lambda.r_1.2.4 RSQLite_2.2.19
## [17] proxy_0.4-27 future_1.29.0
## [19] bit_4.0.5 xml2_1.3.3
## [21] lubridate_1.9.0 httpuv_1.6.6
## [23] assertthat_0.2.1 gower_1.0.0
## [25] xfun_0.35 hms_1.1.2
## [27] evaluate_0.18 promises_1.2.0.1
## [29] fansi_1.0.4 restfulr_0.0.15
## [31] progress_1.2.2 dbplyr_2.2.1
## [33] DBI_1.1.3 htmlwidgets_1.5.4
## [35] futile.logger_1.4.3 purrr_0.3.5
## [37] ellipsis_0.3.2 dplyr_1.0.10
## [39] backports_1.4.1 permute_0.9-7
## [41] biomaRt_2.52.0 deldir_1.0-6
## [43] sparseMatrixStats_1.8.0 vctrs_0.5.2
## [45] ensembldb_2.20.2 cachem_1.0.6
## [47] withr_2.5.0 checkmate_2.1.0
## [49] GenomicAlignments_1.32.1 prettyunits_1.1.1
## [51] cluster_2.1.4 lazyeval_0.2.2
## [53] crayon_1.5.2 labeling_0.4.2
## [55] recipes_1.0.3 pkgconfig_2.0.3
## [57] nlme_3.1-160 ProtGenerics_1.28.0
## [59] nnet_7.3-18 rlang_1.0.6
## [61] globals_0.16.2 lifecycle_1.0.3
## [63] miniUI_0.1.1.1 filelock_1.0.2
## [65] BiocFileCache_2.4.0 dichromat_2.0-0.1
## [67] VennDiagram_1.7.3 cellranger_1.1.0
## [69] graph_1.74.0 Matrix_1.5-3
## [71] Rhdf5lib_1.18.2 base64enc_0.1-3
## [73] png_0.1-8 viridisLite_0.4.1
## [75] rjson_0.2.21 bitops_1.0-7
## [77] R.oo_1.25.0 rhdf5filters_1.8.0
## [79] pROC_1.18.0 blob_1.2.3
## [81] DelayedMatrixStats_1.18.2 regioneR_1.28.0
## [83] parallelly_1.32.1 jpeg_0.1-10
## [85] scales_1.2.1 memoise_2.0.1
## [87] plyr_1.8.8 zlibbioc_1.42.0
## [89] compiler_4.2.1 BiocIO_1.6.0
## [91] cli_3.6.0 listenv_0.8.0
## [93] htmlTable_2.4.1 formatR_1.12
## [95] Formula_1.2-4 MASS_7.3-58.1
## [97] tidyselect_1.2.0 stringi_1.7.12
## [99] highr_0.9 yaml_2.3.6
## [101] locfit_1.5-9.6 latticeExtra_0.6-30
## [103] tools_4.2.1 timechange_0.1.1
## [105] future.apply_1.10.0 rstudioapi_0.14
## [107] foreach_1.5.2 foreign_0.8-83
## [109] gridExtra_2.3 prodlim_2019.11.13
## [111] farver_2.1.1 digest_0.6.30
## [113] shiny_1.7.3 lava_1.7.0
## [115] Rcpp_1.0.9 later_1.3.0
## [117] httr_1.4.4 biovizBase_1.44.0
## [119] colorspace_2.1-0 splines_4.2.1
## [121] RBGL_1.72.0 multtest_2.52.0
## [123] plotly_4.10.1 xtable_1.8-4
## [125] jsonlite_1.8.3 futile.options_1.0.1
## [127] timeDate_4021.106 ipred_0.9-13
## [129] R6_2.5.1 Hmisc_4.7-2
## [131] pillar_1.8.1 htmltools_0.5.3
## [133] mime_0.12 glue_1.6.2
## [135] fastmap_1.1.0 BiocParallel_1.30.4
## [137] class_7.3-20 codetools_0.2-18
## [139] utf8_1.2.3 tibble_3.1.8
## [141] curl_4.3.3 zip_2.2.2
## [143] interp_1.1-3 survival_3.4-0
## [145] rmarkdown_2.18 InteractionSet_1.24.0
## [147] munsell_0.5.0 rhdf5_2.40.0
## [149] GenomeInfoDbData_1.2.8 iterators_1.0.14
## [151] HDF5Array_1.24.2 reshape2_1.4.4
## [153] gtable_0.3.1