Our multi-omics MRF variable selection framework is implemented using the randomforestSRC R package (Ishwaran and Kogalur 2024).
To generate omics data, we simulated mRNA, miRNA, and DNA methylation
datasets with 150 samples using the InterSim() function
InterSim package (Chalise, Raghavan, and Fridley
2018a). This package allows for the simulation of multiple
interrelated data types, including DNA methylation, mRNA gene
expression, and protein expression, based on the TCGA ovarian cancer
data. Here we set the mean cluster shift of all data to 0.6 and 4
clusters are generated with the proportions of (0.1, 0.3, 0.4, 0.2).
set.seed(12354)
sim1 <- InterSIM(n.sample = 150,
delta.methyl = .6,
cluster.sample.prop=c(0.1,0.3,0.4,0.2),
delta.expr = .6,
delta.protein = .6)
dat_list <- sim1[1:3]
label <- sim1$clustering.assignment$cluster.id# Ensure the input for MRF functions is a named list, where each element in the list is a data frame
class(dat_list) ## [1] "list"
## [1] "dat.methyl" "dat.expr" "dat.protein"
# Note: The column names in each data frame must not contain special characters like "."
dat.list <- dat_list %>% purrr::map(~data.frame(.))
dat.list$dat.protein <- dat_list$dat.protein %>% janitor::clean_names() The dimensions of each data:
## $dat.methyl
## [1] 150 367
##
## $dat.expr
## [1] 150 131
##
## $dat.protein
## [1] 150 160
Before performing variable selection, the initial MRF model must be
fitted using the mrf3_init() function. Below is an
explanation of the key parameters:
dat.list: A list containing
multi-omics datasets with samples in columns and features in rows.
Samples should be matched across datasets.ntree: Number of trees for fitting the
MRF model. Default is 300.scale: Whether to z-standardize each
feature. Default is TRUE.yprob: Probability of response
features being selected in each node split. Default is
0.5.connect_list: Pre-defined connection
list between datasets. If provided, variable selection uses this list.
If not, the algorithm finds optimal connections between datasets.var_prop: Proportion of variance
explained by PC datasets when finding optimal connections. Default is
0.6.direct: Logical; determines whether to
keep both directions in the connection list for optimal
connections.lambda: Penalizes variables selected
only once in a tree. Experimental parameter. Default is
1.normalized: Logical; determines
whether to use normalized variable weights. Default is
TRUE.use_depth: Logical; determines whether
to compute the average IMD selected in a tree. Default is
FALSE.calc: Select which weights to
calculate: "X", "Y", or "Both".
Use when fewer than two datasets are in the model. Default is
"Both".parallel: Logical; determines whether
to use parallel computation for weight calculation.return_data: Whether to return the
data list. Default is FALSE.cores: Number of cores to use for
computation.## Finding maximum connections..
## Fitting models..
## Calculating weights..
## Done!
The variable inverse minimal depth (IMD) for data are saved under
weights. Here we can plot the IMD using the
plot_weights() function in utility folder.
The variable selection for different omics data can be conducted
using mrf3_vs() function simoutanously. The methods
described in the manuscript can be selected by the parameter
method:
"filter": Variable filtering. The
adjustable parameter k specifies the number of times the
out-of-bag (OOB) error is computed. The default value is 3."mixture": Detecting signals with
mixture model. The adjustable parameters are c1, which
specifies the prior distribution of the first component (options:
“normal” or “truncn”), and c2, which specifies the prior
distribution of the second component (options: “normal” or
“gamma”)."test": IMD transformation. The
adjustable parameter level specifies the significance level
for selecting important variables. The default value is 0.05.In this example, we used the mixture model method for illustration.
## Variable selection..
## Refit model..
After variable selection, the number of variables reduced to
## $dat.methyl
## [1] 31
##
## $dat.expr
## [1] 12
##
## $dat.protein
## [1] 33
To demonstrate how the selected variables improve clustering results, we used the IntNMF method (Chalise, Raghavan, and Fridley 2018b) to perform clustering analysis. We began by conducting the analysis using the original data:
# Scale the data and shift all values to be positive.
df <- dat_list %>% purrr::map(~ {
. <- scale(.)
if (!all(. > 0)) {
m <- abs(min(.))
. <- pmax(. + m, 0)
}
as.matrix(./max(.))
})
# Perform clustering with IntNMF
mod_int_org <- IntNMF::nmf.mnnals(df, k = 4)
# Calculate the Adjusted Rand Index (ARI) for the clustering results
ari_org <- mclust::adjustedRandIndex(mod_int_org$clusters, label)
print(ari_org)## [1] 0.7937115
g1 <- plot_tSNE(dat_list$dat.expr, main = "Original: mRNA", group = factor(label), label_group = F)
g2 <- plot_tSNE(dat_list$dat.methyl, main = "Original: methyl", group = factor(label), label_group = F)
g3 <- plot_tSNE(dat_list$dat.protein, main = "Original: protein", group = factor(label), label_group = F)
ggpubr::ggarrange(g1,g2,g3, nrow = 1, ncol = 3)Next, we performed the clustering analysis using the selected variables:
# Scale the data and shift all values to be positive.
df <- mod_vs$dat.list %>% purrr::map(~ {
. <- scale(.)
if (!all(. > 0)) {
m <- abs(min(.))
. <- pmax(. + m, 0)
}
as.matrix(./max(.))
})
# Perform clustering with IntNMF using the selected variables
mod_int_vs <- IntNMF::nmf.mnnals(df, k = 4)
# Calculate the Adjusted Rand Index (ARI) for the clustering results
ari_vs <- mclust::adjustedRandIndex(mod_int_vs$clusters, label)
print(ari_vs)## [1] 0.9872821
g1 <- plot_tSNE(mod_vs$dat.list$dat.expr, main = "Selected: mRNA", group = factor(label), label_group = F)
g2 <- plot_tSNE(mod_vs$dat.list$dat.methyl, main = "Selected: methyl", group = factor(label), label_group = F)
g3 <- plot_tSNE(mod_vs$dat.list$dat.protein, main = "Selected: protein", group = factor(label), label_group = F)
ggpubr::ggarrange(g1,g2,g3, nrow = 1, ncol = 3)Results
We observe that the Adjusted Rand Index (ARI) improves significantly when using the selected variables, indicating better clustering performance.
License: GPL-3.0
## ─ Session info ───────────────────────────────────────────────────────────────
## setting value
## version R version 4.4.2 (2024-10-31)
## os Ubuntu 22.04.5 LTS
## system x86_64, linux-gnu
## ui X11
## language (EN)
## collate en_US.UTF-8
## ctype en_US.UTF-8
## tz America/New_York
## date 2025-01-27
## pandoc 3.1.11 @ /usr/lib/rstudio-server/bin/quarto/bin/tools/x86_64/ (via rmarkdown)
##
## ─ Packages ───────────────────────────────────────────────────────────────────
## ! package * version date (UTC) lib source
## abind 1.4-5 2016-07-21 [2] CRAN (R 4.2.1)
## annotate 1.78.0 2023-04-25 [2] Bioconductor
## AnnotationDbi 1.62.2 2023-07-02 [2] Bioconductor
## ape 5.8 2024-04-11 [1] CRAN (R 4.4.0)
## aplot 0.2.0 2023-08-09 [2] CRAN (R 4.3.0)
## askpass 1.2.0 2023-09-03 [1] CRAN (R 4.4.0)
## babelgene 22.9 2022-09-29 [2] CRAN (R 4.2.1)
## backports 1.5.0 2024-05-23 [1] CRAN (R 4.4.1)
## Biobase * 2.64.0 2024-04-30 [1] Bioconductor 3.19 (R 4.4.0)
## BiocFileCache 2.8.0 2023-04-25 [2] Bioconductor
## BiocGenerics * 0.50.0 2024-04-30 [1] Bioconductor 3.19 (R 4.4.0)
## BiocManager 1.30.23 2024-05-04 [1] CRAN (R 4.4.0)
## BiocParallel 1.38.0 2024-04-30 [1] Bioconductor 3.19 (R 4.4.0)
## biomaRt 2.56.1 2023-06-09 [2] Bioconductor
## Biostrings 2.68.1 2023-05-16 [2] Bioconductor
## bit 4.0.5 2022-11-15 [2] CRAN (R 4.3.0)
## bit64 4.0.5 2020-08-30 [2] CRAN (R 4.2.1)
## bitops 1.0-7 2021-04-24 [2] CRAN (R 4.2.1)
## blob 1.2.4 2023-03-17 [2] CRAN (R 4.3.0)
## broom 1.0.5 2023-06-09 [2] CRAN (R 4.3.0)
## bslib 0.7.0 2024-03-29 [1] CRAN (R 4.4.0)
## cachem 1.1.0 2024-05-16 [1] CRAN (R 4.4.0)
## callr 3.7.6 2024-03-25 [1] CRAN (R 4.4.0)
## car 3.1-2 2023-03-30 [2] CRAN (R 4.3.0)
## carData 3.0-5 2022-01-06 [2] CRAN (R 4.2.1)
## caret * 6.0-94 2023-03-21 [1] CRAN (R 4.4.1)
## class 7.3-22 2023-05-03 [2] CRAN (R 4.3.0)
## cli 3.6.3 2024-06-21 [1] CRAN (R 4.4.1)
## cluster * 2.1.8 2024-12-11 [4] CRAN (R 4.4.2)
## clusterProfiler * 4.8.2 2023-07-12 [2] Bioconductor
## codetools 0.2-20 2024-03-31 [1] CRAN (R 4.4.0)
## colorspace 2.1-0 2023-01-23 [2] CRAN (R 4.3.0)
## corpcor * 1.6.10 2021-09-16 [2] CRAN (R 4.2.1)
## cowplot 1.1.1 2020-12-30 [2] CRAN (R 4.2.1)
## crayon 1.5.3 2024-06-20 [1] CRAN (R 4.4.1)
## curl 5.2.1 2024-03-01 [1] CRAN (R 4.4.0)
## data.table 1.15.4 2024-03-30 [1] CRAN (R 4.4.0)
## data.tree 1.1.0 2023-11-12 [1] CRAN (R 4.4.0)
## DBI 1.2.3 2024-06-02 [1] CRAN (R 4.4.1)
## dbplyr 2.3.3 2023-07-07 [2] CRAN (R 4.3.0)
## DelayedArray 0.26.7 2023-07-28 [2] Bioconductor
## Deriv 4.1.3 2021-02-24 [1] CRAN (R 4.4.0)
## devtools * 2.4.5 2022-10-11 [2] CRAN (R 4.2.1)
## DiagrammeR 1.0.11 2024-02-02 [1] CRAN (R 4.4.0)
## digest 0.6.36 2024-06-23 [1] CRAN (R 4.4.1)
## doParallel * 1.0.17 2022-02-07 [2] CRAN (R 4.2.1)
## DOSE 3.26.1 2023-05-03 [2] Bioconductor
## downloader 0.4 2015-07-09 [2] CRAN (R 4.2.1)
## dplyr * 1.1.2 2023-04-20 [2] CRAN (R 4.3.0)
## ellipse 0.5.0 2023-07-20 [1] CRAN (R 4.4.0)
## ellipsis 0.3.2 2021-04-29 [2] CRAN (R 4.2.1)
## enrichplot 1.20.0 2023-04-25 [2] Bioconductor
## evaluate 0.24.0 2024-06-10 [1] CRAN (R 4.4.1)
## fansi 1.0.6 2023-12-08 [1] CRAN (R 4.4.0)
## farver 2.1.2 2024-05-13 [1] CRAN (R 4.4.0)
## fastmap 1.2.0 2024-05-15 [1] CRAN (R 4.4.0)
## fastmatch 1.1-4 2023-08-18 [1] CRAN (R 4.4.0)
## fgsea 1.26.0 2023-04-25 [2] Bioconductor
## filelock 1.0.3 2023-12-11 [1] CRAN (R 4.4.0)
## foreach * 1.5.2 2022-02-02 [2] CRAN (R 4.2.1)
## fs 1.6.4 2024-04-25 [1] CRAN (R 4.4.0)
## future 1.33.2 2024-03-26 [1] CRAN (R 4.4.0)
## future.apply 1.11.2 2024-03-28 [1] CRAN (R 4.4.0)
## genefilter * 1.82.1 2023-05-02 [2] Bioconductor
## generics 0.1.3 2022-07-05 [2] CRAN (R 4.2.1)
## GenomeInfoDb 1.40.1 2024-05-24 [1] Bioconductor 3.19 (R 4.4.1)
## GenomeInfoDbData 1.2.12 2024-05-17 [1] Bioconductor
## GenomicRanges 1.56.1 2024-06-12 [1] Bioconductor 3.19 (R 4.4.1)
## GEOquery * 2.68.0 2023-04-25 [2] Bioconductor
## ggforce 0.4.1 2022-10-04 [2] CRAN (R 4.2.1)
## ggfun 0.1.2 2023-08-09 [2] CRAN (R 4.3.0)
## ggplot2 * 3.4.3 2023-08-14 [1] CRAN (R 4.4.1)
## ggplotify 0.1.2 2023-08-09 [2] CRAN (R 4.3.0)
## ggpubr * 0.6.0 2023-02-10 [2] CRAN (R 4.3.0)
## ggraph 2.1.0 2022-10-09 [2] CRAN (R 4.2.1)
## ggrepel 0.9.3 2023-02-03 [2] CRAN (R 4.3.0)
## ggsci 3.2.0 2024-06-18 [1] CRAN (R 4.4.1)
## ggsignif 0.6.4 2022-10-13 [2] CRAN (R 4.2.1)
## ggtree 3.8.2 2023-07-24 [2] Bioconductor
## glmnet * 4.1-8 2023-08-22 [1] CRAN (R 4.4.0)
## globals 0.16.3 2024-03-08 [1] CRAN (R 4.4.0)
## glue 1.7.0 2024-01-09 [1] CRAN (R 4.4.0)
## GO.db 3.17.0 2023-08-14 [2] Bioconductor
## GOSemSim 2.26.1 2023-07-10 [2] Bioconductor
## gower 1.0.1 2022-12-22 [1] CRAN (R 4.4.0)
## graphlayouts 1.0.0 2023-05-01 [2] CRAN (R 4.3.0)
## gridBase 0.4-7 2014-02-24 [2] CRAN (R 4.2.1)
## gridExtra 2.3 2017-09-09 [2] CRAN (R 4.2.1)
## gridGraphics 0.5-1 2020-12-13 [2] CRAN (R 4.2.1)
## gson 0.1.0 2023-03-07 [2] CRAN (R 4.3.0)
## gtable 0.3.5 2024-04-22 [1] CRAN (R 4.4.1)
## hardhat 1.4.0 2024-06-02 [1] CRAN (R 4.4.1)
## HDO.db 0.99.1 2023-08-14 [2] Bioconductor
## highr 0.11 2024-05-26 [1] CRAN (R 4.4.1)
## hms 1.1.3 2023-03-21 [2] CRAN (R 4.3.0)
## htmltools 0.5.8.1 2024-04-04 [1] CRAN (R 4.4.0)
## htmlwidgets 1.6.2 2023-03-17 [2] CRAN (R 4.3.0)
## httpuv 1.6.15 2024-03-26 [1] CRAN (R 4.4.0)
## httr 1.4.7 2023-08-15 [2] CRAN (R 4.3.0)
## R igraph 1.5.1 <NA> [2] <NA>
## InterSIM * 2.2.0 2018-07-16 [1] CRAN (R 4.4.0)
## IntNMF 1.2.0 2018-07-18 [1] CRAN (R 4.4.0)
## ipred 0.9-14 2023-03-09 [1] CRAN (R 4.4.0)
## IRanges 2.38.1 2024-07-03 [1] Bioconductor 3.19 (R 4.4.1)
## iterators * 1.0.14 2022-02-05 [2] CRAN (R 4.2.1)
## janitor * 2.2.0 2023-02-02 [1] CRAN (R 4.4.0)
## jquerylib 0.1.4 2021-04-26 [2] CRAN (R 4.2.1)
## jsonlite 1.8.8 2023-12-04 [1] CRAN (R 4.4.0)
## KEGGREST 1.40.0 2023-04-25 [2] Bioconductor
## km.ci 0.5-6 2022-04-06 [2] CRAN (R 4.2.1)
## KMsurv 0.1-5 2012-12-03 [2] CRAN (R 4.2.1)
## knitr 1.48 2024-07-07 [1] CRAN (R 4.4.1)
## labeling 0.4.3 2023-08-29 [1] CRAN (R 4.4.0)
## later 1.3.2 2023-12-06 [1] CRAN (R 4.4.0)
## lattice * 0.22-6 2024-03-20 [1] CRAN (R 4.4.0)
## lava 1.8.0 2024-03-05 [1] CRAN (R 4.4.0)
## lazyeval 0.2.2 2019-03-15 [2] CRAN (R 4.2.1)
## lifecycle 1.0.4 2023-11-07 [1] CRAN (R 4.4.0)
## limma 3.60.3 2024-06-16 [1] Bioconductor 3.19 (R 4.4.1)
## listenv 0.9.1 2024-01-29 [1] CRAN (R 4.4.0)
## lubridate 1.9.3 2023-09-27 [1] CRAN (R 4.4.0)
## magrittr 2.0.3 2022-03-30 [2] CRAN (R 4.2.1)
## MASS * 7.3-61 2024-06-13 [1] CRAN (R 4.4.1)
## Matrix * 1.7-0 2024-04-26 [1] CRAN (R 4.4.0)
## MatrixGenerics 1.16.0 2024-04-30 [1] Bioconductor 3.19 (R 4.4.0)
## matrixStats * 1.3.0 2024-04-11 [1] CRAN (R 4.4.0)
## mclust 6.1.1 2024-04-29 [1] CRAN (R 4.4.0)
## memoise 2.0.1 2021-11-26 [2] CRAN (R 4.2.1)
## mime 0.12 2021-09-28 [2] CRAN (R 4.2.1)
## miniUI 0.1.1.1 2018-05-18 [2] CRAN (R 4.2.1)
## mixOmics * 6.28.0 2024-04-30 [1] Bioconductor 3.19 (R 4.4.0)
## ModelMetrics 1.2.2.2 2020-03-17 [1] CRAN (R 4.4.0)
## msigdbr * 7.5.1 2022-03-30 [2] CRAN (R 4.2.1)
## munsell 0.5.1 2024-04-01 [1] CRAN (R 4.4.0)
## nlme 3.1-165 2024-06-06 [1] CRAN (R 4.4.1)
## NMF * 0.26 2023-03-20 [2] CRAN (R 4.3.0)
## nnet 7.3-19 2023-05-03 [2] CRAN (R 4.3.0)
## openssl 2.2.0 2024-05-16 [1] CRAN (R 4.4.0)
## parallelly 1.37.1 2024-02-29 [1] CRAN (R 4.4.0)
## patchwork 1.1.3 2023-08-14 [2] CRAN (R 4.3.0)
## pheatmap * 1.0.12 2019-01-04 [2] CRAN (R 4.2.1)
## pillar 1.9.0 2023-03-22 [2] CRAN (R 4.3.0)
## pkgbuild 1.4.2 2023-06-26 [2] CRAN (R 4.3.0)
## pkgconfig 2.0.3 2019-09-22 [2] CRAN (R 4.2.1)
## pkgload 1.3.2.1 2023-07-08 [2] CRAN (R 4.3.0)
## plyr * 1.8.9 2023-10-02 [1] CRAN (R 4.4.0)
## PMA * 1.2-3 2024-02-06 [1] CRAN (R 4.4.0)
## png 0.1-8 2022-11-29 [2] CRAN (R 4.3.0)
## polyclip 1.10-6 2023-09-27 [1] CRAN (R 4.4.0)
## prettyunits 1.2.0 2023-09-24 [1] CRAN (R 4.4.0)
## pROC 1.18.5 2023-11-01 [1] CRAN (R 4.4.0)
## processx 3.8.4 2024-03-16 [1] CRAN (R 4.4.0)
## prodlim 2024.06.25 2024-06-24 [1] CRAN (R 4.4.1)
## profvis 0.3.8 2023-05-02 [2] CRAN (R 4.3.0)
## progress 1.2.3 2023-12-06 [1] CRAN (R 4.4.0)
## promises 1.3.0 2024-04-05 [1] CRAN (R 4.4.0)
## ps 1.7.7 2024-07-02 [1] CRAN (R 4.4.1)
## purrr * 1.0.2 2023-08-10 [2] CRAN (R 4.3.0)
## qvalue 2.32.0 2023-04-25 [2] Bioconductor
## R6 2.5.1 2021-08-19 [2] CRAN (R 4.2.1)
## randomForestSRC * 3.3.0 2024-06-25 [1] CRAN (R 4.4.1)
## rappdirs 0.3.3 2021-01-31 [2] CRAN (R 4.2.1)
## rARPACK 0.11-0 2016-03-10 [1] CRAN (R 4.4.0)
## RColorBrewer 1.1-3 2022-04-03 [2] CRAN (R 4.2.1)
## Rcpp 1.0.12 2024-01-09 [1] CRAN (R 4.4.0)
## RCurl 1.98-1.16 2024-07-11 [1] CRAN (R 4.4.1)
## readr * 2.1.4 2023-02-10 [2] CRAN (R 4.3.0)
## recipes 1.1.0 2024-07-04 [1] CRAN (R 4.4.1)
## registry * 0.5-1 2019-03-05 [2] CRAN (R 4.2.1)
## remotes 2.5.0 2024-03-17 [1] CRAN (R 4.4.0)
## reshape2 1.4.4 2020-04-09 [2] CRAN (R 4.2.1)
## reticulate 1.38.0 2024-06-19 [1] CRAN (R 4.4.1)
## RGCCA * 3.0.3 2023-12-11 [1] CRAN (R 4.4.0)
## rlang 1.1.4 2024-06-04 [1] CRAN (R 4.4.1)
## rmarkdown 2.24 2023-08-14 [2] CRAN (R 4.3.0)
## rngtools * 1.5.2 2021-09-20 [2] CRAN (R 4.2.1)
## rpart 4.1.23 2023-12-05 [4] CRAN (R 4.3.2)
## RSpectra 0.16-1 2022-04-24 [2] CRAN (R 4.2.1)
## RSQLite 2.3.7 2024-05-27 [1] CRAN (R 4.4.1)
## rstatix * 0.7.2 2023-02-01 [2] CRAN (R 4.3.0)
## rstudioapi 0.16.0 2024-03-24 [1] CRAN (R 4.4.0)
## Rtsne 0.17 2023-12-07 [1] CRAN (R 4.4.0)
## rvest 1.0.4 2024-02-12 [1] CRAN (R 4.4.0)
## S4Arrays 1.4.1 2024-05-20 [1] Bioconductor 3.19 (R 4.4.1)
## S4Vectors 0.42.1 2024-07-03 [1] Bioconductor 3.19 (R 4.4.1)
## sass 0.4.9 2024-03-15 [1] CRAN (R 4.4.0)
## scales 1.3.0 2023-11-28 [1] CRAN (R 4.4.1)
## scatterpie 0.2.1 2023-06-07 [2] CRAN (R 4.3.0)
## sessioninfo 1.2.2 2021-12-06 [2] CRAN (R 4.2.1)
## shadowtext 0.1.2 2022-04-22 [2] CRAN (R 4.2.1)
## shape 1.4.6.1 2024-02-23 [1] CRAN (R 4.4.0)
## shiny 1.8.1.1 2024-04-02 [1] CRAN (R 4.4.1)
## snakecase 0.11.1 2023-08-27 [1] CRAN (R 4.4.0)
## statmod 1.5.0 2023-01-06 [1] CRAN (R 4.4.0)
## stringi 1.8.4 2024-05-06 [1] CRAN (R 4.4.0)
## stringr 1.5.1 2023-11-14 [1] CRAN (R 4.4.1)
## SummarizedExperiment 1.30.2 2023-06-06 [2] Bioconductor
## survival * 3.7-0 2024-06-05 [1] CRAN (R 4.4.1)
## survminer * 0.4.9 2021-03-09 [2] CRAN (R 4.2.1)
## survMisc 0.5.6 2022-04-07 [2] CRAN (R 4.2.1)
## TCGAbiolinks * 2.28.3 2023-06-06 [2] Bioconductor
## TCGAbiolinksGUI.data 1.24.0 2024-05-02 [1] Bioconductor 3.19 (R 4.4.0)
## tibble * 3.2.1 2023-03-20 [2] CRAN (R 4.3.0)
## tidygraph 1.2.3 2023-02-01 [2] CRAN (R 4.3.0)
## tidyr 1.3.0 2023-01-24 [2] CRAN (R 4.3.0)
## tidyselect 1.2.0 2022-10-10 [2] CRAN (R 4.2.1)
## tidytree 0.4.5 2023-08-10 [2] CRAN (R 4.3.0)
## timechange 0.3.0 2024-01-18 [1] CRAN (R 4.4.0)
## timeDate 4032.109 2023-12-14 [1] CRAN (R 4.4.0)
## treeio 1.24.3 2023-07-24 [2] Bioconductor
## truncnorm * 1.0-9 2023-03-20 [1] CRAN (R 4.4.0)
## tweenr 2.0.2 2022-09-06 [2] CRAN (R 4.2.1)
## tzdb 0.4.0 2023-05-12 [2] CRAN (R 4.3.0)
## UCSC.utils 1.0.0 2024-04-30 [1] Bioconductor 3.19 (R 4.4.0)
## umap * 0.2.10.0 2023-02-01 [1] CRAN (R 4.4.0)
## urlchecker 1.0.1 2021-11-30 [2] CRAN (R 4.2.1)
## usethis * 2.2.2 2023-07-06 [2] CRAN (R 4.3.0)
## utf8 1.2.4 2023-10-22 [1] CRAN (R 4.4.0)
## vctrs 0.6.5 2023-12-01 [1] CRAN (R 4.4.0)
## viridis 0.6.5 2024-01-29 [1] CRAN (R 4.4.1)
## viridisLite 0.4.2 2023-05-02 [2] CRAN (R 4.3.0)
## visNetwork 2.1.2 2022-09-29 [1] CRAN (R 4.4.0)
## withr 3.0.0 2024-01-16 [1] CRAN (R 4.4.0)
## xfun 0.45 2024-06-16 [1] CRAN (R 4.4.1)
## XML 3.99-0.17 2024-06-25 [1] CRAN (R 4.4.1)
## xml2 1.3.6 2023-12-04 [1] CRAN (R 4.4.0)
## xtable 1.8-4 2019-04-21 [2] CRAN (R 4.2.1)
## XVector 0.40.0 2023-04-25 [2] Bioconductor
## yaml 2.3.9 2024-07-05 [1] CRAN (R 4.4.1)
## yulab.utils 0.1.4 2024-01-28 [1] CRAN (R 4.4.0)
## zlibbioc 1.50.0 2024-04-30 [1] Bioconductor 3.19 (R 4.4.0)
## zoo 1.8-12 2023-04-13 [2] CRAN (R 4.3.0)
##
## [1] /home/weizhang/R/x86_64-pc-linux-gnu-library/4.4
## [2] /usr/local/lib/R/site-library
## [3] /usr/lib/R/site-library
## [4] /usr/lib/R/library
##
## R ── Package was removed from disk.
##
## ──────────────────────────────────────────────────────────────────────────────