Chapter 11 Visualization
XMAS 2.0 provides mulitple functions for visualization. For instance, using plot_volcano
to display the results of differential analysis.
Outline of this Chapter:
11.1 Loading Packages
library(XMAS2)
library(dplyr)
library(tibble)
library(phyloseq)
library(ggplot2)
library(ggpubr)
11.2 Importing Data
data("amplicon_ps")
<- norm_rarefy(object = amplicon_ps,
amplicon_ps_rarefy size = 1114)
amplicon_ps_rarefy
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 2308 taxa and 34 samples ]
## sample_data() Sample Data: [ 34 samples by 8 sample variables ]
## tax_table() Taxonomy Table: [ 2308 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 2308 tips and 2306 internal nodes ]
11.3 plot_boxplot
- calculate alpha diversity
<- run_alpha_diversity(ps = amplicon_ps_rarefy,
dat_alpha measures = c("Shannon", "Chao1", "Observed"))
head(dat_alpha)
## TempRowNames SampleType Year Month Day Subject ReportedAntibioticUsage DaysSinceExperimentStart Description Observed
## 1 L1S140 gut 2008 10 28 2 Yes 0 2_Fece_10_28_2008 161
## 2 L1S208 gut 2009 1 20 2 No 84 2_Fece_1_20_2009 183
## 3 L1S8 gut 2008 10 28 1 Yes 0 1_Fece_10_28_2008 112
## 4 L1S281 gut 2009 4 14 2 No 168 2_Fece_4_14_2009 212
## 5 L3S242 right palm 2008 10 28 1 Yes 0 1_R_Palm_10_28_2008 120
## 6 L2S309 left palm 2009 1 20 2 No 84 2_L_Palm_1_20_2009 296
## Chao1 se.chao1 Shannon
## 1 332.7308 50.17139 3.149765
## 2 365.0000 50.23137 3.617229
## 3 303.1538 69.80534 2.817767
## 4 587.9130 102.79585 3.892763
## 5 278.8824 54.21486 2.911609
## 6 560.0526 55.47859 4.494509
plot_boxplot
has many parameters, and help you enjoy it.
- single measure
plot_boxplot(data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = FALSE)

Figure 11.1: boxplot(single measure)
- single measure with significant results
plot_boxplot(data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = TRUE)

Figure 11.2: boxplot(single measure with significant results)
- single measure with significant results of pairwises
plot_boxplot(data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = TRUE,
cmp_list = list(c("gut", "right palm"),
c("gut", "tongue")))

Figure 11.3: boxplot(single measure with significant results of pairwises)
- single measure with significant results of pairwises and outlier
plot_boxplot(data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = TRUE,
cmp_list = list(c("gut", "right palm"),
c("gut", "tongue")),
outlier = TRUE)

Figure 11.4: boxplot(single measure with significant results of pairwises and outlier)
- single measure with significant results of ref_group
plot_boxplot(data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = TRUE,
ref_group = "gut")

Figure 11.5: boxplot(single measure with significant results of ref_group)
- multiple measures
plot_boxplot(data = dat_alpha,
y_index = c("Shannon", "Chao1", "Observed"),
group = "SampleType",
group_names = c("gut", "right palm", "tongue"),
group_color = c("red", "green", "blue"),
ref_group = "gut",
method = "wilcox.test",
outlier = TRUE)

Figure 11.6: boxplot(multiple measure with group number)
- show group_number in the x-axis break
plot_boxplot(data = dat_alpha,
y_index = c("Shannon", "Chao1", "Observed"),
group = "SampleType",
group_names = c("gut", "right palm", "tongue"),
group_color = c("red", "green", "blue"),
do_test = TRUE,
method = "wilcox.test",
group_number = TRUE)

Figure 11.7: boxplot(group_number)
11.4 plot_barplot
plot_barplot
has many parameters, and help you enjoy it.
- single measure
plot_barplot(data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = FALSE)

Figure 11.8: barplot(single measure)
- single measure with significant results
plot_barplot(data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = TRUE)

Figure 11.9: barplot(single measure with significant results)
- single measure with significant results of pairwises
plot_barplot(data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = TRUE,
cmp_list = list(c("gut", "right palm"), c("gut", "tongue")))

Figure 11.10: barplot(single measure with significant results of pairwises)
- single measure with significant results of ref_group
plot_barplot(data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = TRUE,
ref_group = "gut")

Figure 11.11: barplot(single measure with significant results of ref_group)
- multiple index
plot_barplot(data = dat_alpha,
y_index = c("Shannon", "Chao1", "Observed"),
group = "SampleType",
do_test = TRUE,
method = "wilcox.test")

Figure 11.12: barplot(multiple index)
- show group_number in the x-axis break
plot_barplot(data = dat_alpha,
y_index = c("Shannon", "Chao1", "Observed"),
group = "SampleType",
group_names = c("gut", "right palm", "tongue"),
group_color = c("red", "green", "blue"),
do_test = TRUE,
method = "wilcox.test",
group_number = TRUE)

Figure 11.13: barplot(group_number)
11.5 plot_dotplot
plot_dotplot
has many parameters, and help you enjoy it.
- single measure
plot_dotplot(data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = FALSE)
## Bin width defaults to 1/30 of the range of the data. Pick better value with `binwidth`.

Figure 11.14: dotplot(single measure)
- single measure with significant results
plot_dotplot(data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = TRUE)
## Bin width defaults to 1/30 of the range of the data. Pick better value with `binwidth`.

Figure 11.15: dotplot(single measure with significant results)
- single measure with significant results of pairwises
plot_dotplot(data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = TRUE,
cmp_list = list(c("gut", "right palm"),
c("gut", "tongue")))
## Bin width defaults to 1/30 of the range of the data. Pick better value with `binwidth`.

Figure 11.16: dotplot(single measure with significant results of pairwises)
- single measure with significant results of ref_group
plot_dotplot(
data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = TRUE,
ref_group = "gut")
## Bin width defaults to 1/30 of the range of the data. Pick better value with `binwidth`.

Figure 11.17: dotplot(single measure with significant results of ref_group)
- dot size and median size
plot_dotplot(
data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = TRUE,
ref_group = "gut",
dotsize = 0.5,
mediansize = 2)
## Bin width defaults to 1/30 of the range of the data. Pick better value with `binwidth`.

Figure 11.18: dotplot(dot size and median size)
- multiple index
plot_dotplot(
data = dat_alpha,
y_index = c("Shannon", "Chao1", "Observed"),
group = "SampleType",
do_test = TRUE,
method = "wilcox.test")
## Bin width defaults to 1/30 of the range of the data. Pick better value with `binwidth`.

Figure 11.19: dotplot(multiple index)
- multiple index with errorbar
plot_dotplot(
data = dat_alpha,
y_index = c("Shannon", "Chao1", "Observed"),
group = "SampleType",
do_test = TRUE,
show_type = "errorbar",
method = "wilcox.test")
## Bin width defaults to 1/30 of the range of the data. Pick better value with `binwidth`.

Figure 11.20: dotplot(multiple index errorbar)
- show group_number in the x-axis break
plot_dotplot(data = dat_alpha,
y_index = c("Shannon", "Chao1", "Observed"),
group = "SampleType",
group_names = c("gut", "right palm", "tongue"),
group_color = c("red", "green", "blue"),
show_type = "errorbar",
do_test = TRUE,
method = "wilcox.test",
group_number = TRUE)
## Bin width defaults to 1/30 of the range of the data. Pick better value with `binwidth`.

Figure 11.21: dotplot(group_number)
11.6 plot_correlation_boxplot
Help you enjoy plot_correlation_boxplot
.
plot_correlation_boxplot(
data = dat_alpha,
x_index = "Chao1",
y_index = "Shannon",
group = "SampleType")

Figure 11.22: correlation with boxplot
11.7 plot_correlation_density
Help you enjoy plot_correlation_density
.
plot_correlation_density(
data = dat_alpha,
x_index = "Chao1",
y_index = "Shannon",
group = "SampleType")

Figure 11.23: correlation with density
11.8 plot_Ordination
plot_Ordination
provides too many parameters for users to display the ordination results by using ggplot2 format. Here is the ordinary pattern.
data("dada2_ps")
# step1: Removing samples of specific group in phyloseq-class object
<- get_GroupPhyloseq(
dada2_ps_remove_BRS ps = dada2_ps,
group = "Group",
group_names = "QC")
# step2: Rarefying counts in phyloseq-class object
<- norm_rarefy(object = dada2_ps_remove_BRS,
dada2_ps_rarefy size = 51181)
# step3: Extracting specific taxa phyloseq-class object
<- summarize_taxa(ps = dada2_ps_rarefy,
dada2_ps_rare_genus taxa_level = "Genus",
absolute = TRUE)
# step4: Aggregating low relative abundance or unclassified taxa into others
# dada2_ps_genus_LRA <- summarize_LowAbundance_taxa(ps = dada2_ps_rare_genus,
# cutoff = 10,
# unclass = TRUE)
# step4: Filtering the low relative abundance or unclassified taxa by the threshold
<- run_filter(ps = dada2_ps_rare_genus,
dada2_ps_genus_filter cutoff = 10,
unclass = TRUE)
# step5: Trimming the taxa with low occurrence less than threshold
<- run_trim(object = dada2_ps_genus_filter,
dada2_ps_genus_filter_trim cutoff = 0.2,
trim = "feature")
dada2_ps_genus_filter_trim
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 100 taxa and 23 samples ]
## sample_data() Sample Data: [ 23 samples by 1 sample variables ]
## tax_table() Taxonomy Table: [ 100 taxa by 6 taxonomic ranks ]
<- run_ordination(
ordination_PCA ps = dada2_ps_genus_filter_trim,
group = "Group",
method = "PCA")
names(ordination_PCA)
## [1] "fit" "dat" "explains" "eigvalue" "PERMANOVA" "axis_taxa_cor"
- Ordinary pattern
plot_Ordination(ResultList = ordination_PCA,
group = "Group")

Figure 11.24: plot_Ordination (Ordinary pattern)
- plot with SampleID and setting group colors
plot_Ordination(ResultList = ordination_PCA,
group = "Group",
group_names = c("AA", "BB"),
group_color = c("blue", "red"),
circle_type = "ellipse",
sample = TRUE)

Figure 11.25: plot_Ordination (Ordinary pattern with SampleID)
- ellipse with 95% confidence interval
plot_Ordination(ResultList = ordination_PCA,
group = "Group",
group_names = c("AA", "BB"),
group_color = c("blue", "red"),
circle_type = "ellipse_CI",
sample = TRUE)

Figure 11.26: plot_Ordination (ellipse with 95% confidence interval)
- ellipse with groups
plot_Ordination(ResultList = ordination_PCA,
group = "Group",
group_names = c("AA", "BB"),
group_color = c("blue", "red"),
circle_type = "ellipse_groups",
sample = TRUE)

Figure 11.27: plot_Ordination (ellipse with groups)
- ellipse with border line
plot_Ordination(ResultList = ordination_PCA,
group = "Group",
group_names = c("AA", "BB"),
group_color = c("blue", "red"),
circle_type = "ellipse_line",
sample = TRUE)

Figure 11.28: plot_Ordination (ellipse with border line)
- plot with SampleID and sideboxplot and setting group colors
plot_Ordination(ResultList = ordination_PCA,
group = "Group",
group_names = c("AA", "BB"),
group_color = c("blue", "red"),
circle_type = "ellipse",
sidelinechart = FALSE,
sideboxplot = TRUE,
sample = TRUE)

Figure 11.29: plot_Ordination (Ordinary pattern with SampleID sideboxplot)
- plot with SampleID and sideboxplot and setting group colors 2
plot_Ordination(ResultList = ordination_PCA,
group = "Group",
group_names = c("AA", "BB"),
group_color = c("blue", "red"),
circle_type = "ellipse_CI",
sidelinechart = FALSE,
sideboxplot = TRUE,
sample = TRUE)

Figure 11.30: plot_Ordination (ellipse_CI with SampleID sideboxplot)
- plot with SampleID and sideboxplot and setting group colors 3
plot_Ordination(ResultList = ordination_PCA,
group = "Group",
group_names = c("AA", "BB"),
group_color = c("blue", "red"),
circle_type = "ellipse_groups",
sidelinechart = FALSE,
sideboxplot = TRUE,
sample = TRUE)

Figure 11.31: plot_Ordination (ellipse_groups with SampleID sideboxplot)
- plot with SampleID and sideboxplot and setting group colors 4
plot_Ordination(ResultList = ordination_PCA,
group = "Group",
group_names = c("AA", "BB"),
group_color = c("blue", "red"),
circle_type = "ellipse_line",
sidelinechart = FALSE,
sideboxplot = TRUE,
sample = TRUE)

Figure 11.32: plot_Ordination (ellipse_line with SampleID sideboxplot)
- plot with SampleID and sideboxplot and setting group colors and shape
data("amplicon_ps")
<- summarize_taxa(ps = amplicon_ps,
amplicon_ps_genus taxa_level = "Genus")
<- run_ordination(
amplicon_res_ordination ps = amplicon_ps_genus,
group = "SampleType",
method = "PCoA")
plot_Ordination(ResultList = amplicon_res_ordination,
group = "SampleType",
shape_column = "ReportedAntibioticUsage",
shape_values = c(16, 17),
circle_type = "ellipse_line",
sidelinechart = FALSE,
sideboxplot = TRUE,
sample = TRUE)

Figure 11.33: plot_Ordination (ellipse_line with SampleID sideboxplot)
11.9 plot_ggbiplot
- biplot with topN dominant taxa
plot_ggbiplot(ResultList = ordination_PCA,
group = "Group",
group_color = c("blue", "red"),
topN = 5,
ellipse = TRUE,
labels = "SampleID")

Figure 11.34: plot_ggbiplot (biplot)
11.10 plot_corrplot
<- run_beta_diversity(ps = dada2_ps_rarefy,
dada2_beta method = "bray")
plot_distance_corrplot(datMatrix = dada2_beta$BetaDistance)

Figure 11.35: plot_corrplot (distance)
11.11 plot_2DA_venn
<- run_wilcox(
da_wilcox ps = dada2_ps_genus_filter_trim,
group = "Group",
group_names = c("AA", "BB"))
<- run_ttest(
da_ttest ps = dada2_ps_genus_filter_trim,
group = "Group",
group_names = c("AA", "BB"))
<- plot_2DA_venn(
DA_venn_res daTest1 = da_wilcox,
daTest2 = da_ttest,
datType1 = "AA vs BB(wilcox)",
datType2 = "AA vs BB(t-test)",
group_names = c("AA", "BB"),
Pvalue_name = "Pvalue",
logFc_name1 = "Log2FoldChange (Rank)\nAA_vs_BB",
logFc_name2 = "Log2FoldChange (Mean)\nAA_vs_BB",
Pvalue_cutoff = 0.8,
logFC_cutoff = 0.2)
$pl DA_venn_res

Figure 11.36: plot_2DA_venn (wilcox vs t_test)
11.12 plot the DA results from the significant taxa by double barplot
data("amplicon_ps")
<- run_wilcox(
DA_res ps = amplicon_ps,
taxa_level = "Family",
group = "SampleType",
group_names = c("tongue", "gut"))
plot_double_barplot(data = DA_res,
x_index = "Log2FoldChange (Rank)\ntongue_vs_gut",
x_index_cutoff = 1,
y_index = "AdjustedPvalue",
y_index_cutoff = 0.05)

Figure 11.37: double barplot for DA results
11.13 plot_stacked_bar_XIVZ
- Minimum usage: plot in relative abundance
plot_stacked_bar_XIVZ(phyloseq = dada2_ps_rarefy,
level = "Family")

Figure 11.38: plot_stacked_bar_XIVZ (test1)
- Set feature parameter to show feature information
plot_stacked_bar_XIVZ(phyloseq = dada2_ps_rarefy,
level = "Family",
feature = "Group")

Figure 11.39: plot_stacked_bar_XIVZ (test2)
- Pass ordered sample names to order parameter to plot in specific order
<- phyloseq::sample_data(dada2_ps_rarefy) %>%
metadata data.frame() %>%
::arrange(Group)
dplyrplot_stacked_bar_XIVZ(phyloseq = dada2_ps_rarefy,
level = "Family",
feature = "Group",
order = rownames(metadata))

Figure 11.40: plot_stacked_bar_XIVZ (test3)
- Use facet_wrap(vars(), scale=“free”) funciton to facet stacked barplot
plot_stacked_bar_XIVZ(phyloseq = dada2_ps_rarefy,
level = "Family",
relative_abundance = TRUE,
order = rownames(metadata)) +
facet_wrap(vars(Group), scale="free")

Figure 11.41: plot_stacked_bar_XIVZ (test4)
11.14 plot_StackBarPlot
plot_StackBarPlot
provides too many parameters for users to display the Stacked barplot of microbial composition by using ggplot2 format. Here is the ordinary pattern. More details to see help(plot_StackBarPlot)
.
- Ordinary pattern
plot_StackBarPlot(ps = amplicon_ps_rarefy,
taxa_level="Phylum")

Figure 11.42: plot_StackBarPlot(Ordinary pattern)
- Metadata with
SampleType
phenotype
plot_StackBarPlot(
ps = amplicon_ps_rarefy,
taxa_level = "Phylum",
group = "SampleType")
## [1] "This palatte have 20 colors!"

Figure 11.43: plot_StackBarPlot (Metadata with group)
- Metadata with
SampleType
phenotype in cluster mode
plot_StackBarPlot(
ps = amplicon_ps_rarefy,
taxa_level = "Phylum",
group = "SampleType",
cluster = TRUE)
## [1] "This palatte have 20 colors!"

Figure 11.44: plot_StackBarPlot (Metadata with group in cluster mode)
- Metadata with
SampleType
phenotype in facet
plot_StackBarPlot(
ps = amplicon_ps_rarefy,
taxa_level = "Phylum",
group = "SampleType",
facet = TRUE)

Figure 11.45: plot_StackBarPlot (Metadata with group in facet)
- Metadata with two groups to display samples
plot_StackBarPlot(
ps = amplicon_ps_rarefy,
taxa_level = "Order",
group = "SampleType",
subgroup = "Year")
## [1] "This palatte have 19 colors!"
## [1] "This palatte have 20 colors!"
## [1] "This palatte have 20 colors!"
## [1] "This palatte have 20 colors!"

Figure 11.46: plot_StackBarPlot (Metadata with two groups ot display samples)
- Metadata with three groups to display samples
plot_StackBarPlot(
ps = amplicon_ps_rarefy,
taxa_level = "Order",
group = "SampleType",
subgroup = c("Year", "Month"))
## [1] "This palatte have 19 colors!"
## [1] "This palatte have 20 colors!"
## [1] "This palatte have 20 colors!"
## [1] "This palatte have 20 colors!"
## [1] "This palatte have 20 colors!"
## [1] "This palatte have 20 colors!"

Figure 11.47: plot_StackBarPlot (Metadata with three groups ot display samples)
- Order SampleID by orderSample parameter
plot_StackBarPlot(
ps = amplicon_ps_rarefy,
taxa_level = "Order",
group = "SampleType",
orderSample = phyloseq::sample_names(amplicon_ps)[1:10])
## [1] "This palatte have 20 colors!"

Figure 11.48: Stacked barplot with Ordered Samples
11.15 Color Palettes
11.15.1 Wes Anderson Palettes
Wes Anderson Palettes is from wesanderson package and we have integrated it into XMAS2.0.
data("amplicon_ps")
<- run_alpha_diversity(ps = amplicon_ps, measures = c("Shannon", "Chao1"))
dat_alpha
# origin
<- plot_boxplot(data = dat_alpha,
pl_origin y_index = "Shannon",
group = "SampleType",
do_test = TRUE,
cmp_list = list(c("gut", "right palm"), c("gut", "left palm")),
method = "wilcox.test")
# Wes Anderson Palettes
<- wes_palette(name = "GrandBudapest1", 4, type = "discrete")
pal <- plot_boxplot(data = dat_alpha,
pl_wes y_index = "Shannon",
group = "SampleType",
group_color = pal,
do_test = TRUE,
cmp_list = list(c("gut", "right palm"), c("gut", "left palm")),
method = "wilcox.test")
::plot_grid(pl_origin, pl_wes,
cowplotalign = "hv",
labels = c("Origin", "Wes Anderson"))

Figure 11.49: Wes Anderson Palettes
11.15.2 useMyCol
<- useMyCol(platte = "stallion", n = length(unique(dat_alpha$SampleType))) pal
## [1] "This palatte have 20 colors!"
plot_boxplot(data = dat_alpha,
y_index = "Shannon",
group = "SampleType",
do_test = TRUE,
group_color = pal,
cmp_list = list(c("gut", "right palm"), c("gut", "left palm")),
method = "wilcox.test")

Figure 11.50: useMyCol Palettes
11.16 Ordination plots with ggplot2
11.16.1 principal components analysis with the iris data set
<- prcomp(iris[, 1:4])
ord
ggord(ord, iris$Species, cols = c('purple', 'orange', 'blue')) +
scale_shape_manual('Groups', values = c(1, 2, 3)) +
theme_classic() +
theme(legend.position = 'top')

Figure 11.51: principal components analysis
11.16.2 multiple correspondence analysis with the tea dataset
data(tea, package = 'FactoMineR')
<- tea[, c('Tea', 'sugar', 'price', 'age_Q', 'sex')]
tea
<- FactoMineR::MCA(tea[, -1], graph = FALSE)
ord
ggord(ord, tea$Tea, parse = FALSE) # use parse = FALSE for labels with non alphanumeric characters

Figure 11.52: multiple correspondence analysis
11.17 Systematic Information
::session_info() devtools
## ─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────────────
## setting value
## version R version 4.1.2 (2021-11-01)
## os macOS Monterey 12.2.1
## system x86_64, darwin17.0
## ui RStudio
## language (EN)
## collate en_US.UTF-8
## ctype en_US.UTF-8
## tz Asia/Shanghai
## date 2022-10-08
## rstudio 2022.07.1+554 Spotted Wakerobin (desktop)
## pandoc 2.18 @ /Applications/RStudio.app/Contents/MacOS/quarto/bin/tools/ (via rmarkdown)
##
## ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
## package * version date (UTC) lib source
## abind 1.4-5 2016-07-21 [1] CRAN (R 4.1.0)
## ade4 1.7-18 2021-09-16 [1] CRAN (R 4.1.0)
## ALDEx2 1.26.0 2021-10-26 [1] Bioconductor
## annotate 1.72.0 2021-10-26 [1] Bioconductor
## AnnotationDbi 1.56.2 2021-11-09 [1] Bioconductor
## ape * 5.6-2 2022-03-02 [1] CRAN (R 4.1.2)
## askpass 1.1 2019-01-13 [1] CRAN (R 4.1.0)
## assertthat 0.2.1 2019-03-21 [1] CRAN (R 4.1.0)
## backports 1.4.1 2021-12-13 [1] CRAN (R 4.1.0)
## base64enc 0.1-3 2015-07-28 [1] CRAN (R 4.1.0)
## bayesm 3.1-4 2019-10-15 [1] CRAN (R 4.1.0)
## Biobase * 2.54.0 2021-10-26 [1] Bioconductor
## BiocGenerics * 0.40.0 2021-10-26 [1] Bioconductor
## BiocParallel 1.28.3 2021-12-09 [1] Bioconductor
## biomformat 1.22.0 2021-10-26 [1] Bioconductor
## Biostrings 2.62.0 2021-10-26 [1] Bioconductor
## bit 4.0.4 2020-08-04 [1] CRAN (R 4.1.0)
## bit64 4.0.5 2020-08-30 [1] CRAN (R 4.1.0)
## bitops 1.0-7 2021-04-24 [1] CRAN (R 4.1.0)
## blob 1.2.2 2021-07-23 [1] CRAN (R 4.1.0)
## bookdown 0.27 2022-06-14 [1] CRAN (R 4.1.2)
## brio 1.1.3 2021-11-30 [1] CRAN (R 4.1.0)
## broom 1.0.0 2022-07-01 [1] CRAN (R 4.1.2)
## bslib 0.3.1 2021-10-06 [1] CRAN (R 4.1.0)
## cachem 1.0.6 2021-08-19 [1] CRAN (R 4.1.0)
## callr 3.7.0 2021-04-20 [1] CRAN (R 4.1.0)
## car 3.0-12 2021-11-06 [1] CRAN (R 4.1.0)
## carData 3.0-5 2022-01-06 [1] CRAN (R 4.1.2)
## caTools 1.18.2 2021-03-28 [1] CRAN (R 4.1.0)
## checkmate 2.0.0 2020-02-06 [1] CRAN (R 4.1.0)
## class 7.3-20 2022-01-13 [1] CRAN (R 4.1.2)
## classInt 0.4-3 2020-04-07 [1] CRAN (R 4.1.0)
## cli 3.3.0 2022-04-25 [1] CRAN (R 4.1.2)
## cluster 2.1.2 2021-04-17 [1] CRAN (R 4.1.2)
## codetools 0.2-18 2020-11-04 [1] CRAN (R 4.1.2)
## coin 1.4-2 2021-10-08 [1] CRAN (R 4.1.0)
## colorspace 2.0-3 2022-02-21 [1] CRAN (R 4.1.2)
## compositions 2.0-4 2022-01-05 [1] CRAN (R 4.1.2)
## conflicted * 1.1.0 2021-11-26 [1] CRAN (R 4.1.0)
## corrplot 0.92 2021-11-18 [1] CRAN (R 4.1.0)
## cowplot 1.1.1 2020-12-30 [1] CRAN (R 4.1.0)
## crayon 1.5.0 2022-02-14 [1] CRAN (R 4.1.2)
## crosstalk 1.2.0 2021-11-04 [1] CRAN (R 4.1.0)
## data.table 1.14.2 2021-09-27 [1] CRAN (R 4.1.0)
## DBI 1.1.2 2021-12-20 [1] CRAN (R 4.1.0)
## DelayedArray 0.20.0 2021-10-26 [1] Bioconductor
## DEoptimR 1.0-10 2022-01-03 [1] CRAN (R 4.1.2)
## desc 1.4.1 2022-03-06 [1] CRAN (R 4.1.2)
## DESeq2 1.34.0 2021-10-26 [1] Bioconductor
## devtools * 2.4.3 2021-11-30 [1] CRAN (R 4.1.0)
## digest 0.6.29 2021-12-01 [1] CRAN (R 4.1.0)
## dplyr * 1.0.8 2022-02-08 [1] CRAN (R 4.1.2)
## DT 0.21 2022-02-26 [1] CRAN (R 4.1.2)
## e1071 1.7-9 2021-09-16 [1] CRAN (R 4.1.0)
## edgeR 3.36.0 2021-10-26 [1] Bioconductor
## ellipsis 0.3.2 2021-04-29 [1] CRAN (R 4.1.0)
## evaluate 0.15 2022-02-18 [1] CRAN (R 4.1.2)
## FactoMineR 2.4 2020-12-11 [1] CRAN (R 4.1.0)
## fansi 1.0.2 2022-01-14 [1] CRAN (R 4.1.2)
## farver 2.1.0 2021-02-28 [1] CRAN (R 4.1.0)
## fastmap 1.1.0 2021-01-25 [1] CRAN (R 4.1.0)
## flashClust 1.01-2 2012-08-21 [1] CRAN (R 4.1.0)
## foreach 1.5.2 2022-02-02 [1] CRAN (R 4.1.2)
## foreign 0.8-82 2022-01-13 [1] CRAN (R 4.1.2)
## forestplot 2.0.1 2021-09-03 [1] CRAN (R 4.1.0)
## formatR 1.11 2021-06-01 [1] CRAN (R 4.1.0)
## Formula 1.2-4 2020-10-16 [1] CRAN (R 4.1.0)
## fs 1.5.2 2021-12-08 [1] CRAN (R 4.1.0)
## futile.logger * 1.4.3 2016-07-10 [1] CRAN (R 4.1.0)
## futile.options 1.0.1 2018-04-20 [1] CRAN (R 4.1.0)
## genefilter 1.76.0 2021-10-26 [1] Bioconductor
## geneplotter 1.72.0 2021-10-26 [1] Bioconductor
## generics 0.1.2 2022-01-31 [1] CRAN (R 4.1.2)
## GenomeInfoDb * 1.30.1 2022-01-30 [1] Bioconductor
## GenomeInfoDbData 1.2.7 2022-03-09 [1] Bioconductor
## GenomicRanges * 1.46.1 2021-11-18 [1] Bioconductor
## ggiraph 0.8.2 2022-02-22 [1] CRAN (R 4.1.2)
## ggiraphExtra 0.3.0 2020-10-06 [1] CRAN (R 4.1.2)
## ggplot2 * 3.3.5 2021-06-25 [1] CRAN (R 4.1.0)
## ggpubr * 0.4.0 2020-06-27 [1] CRAN (R 4.1.0)
## ggrepel 0.9.1 2021-01-15 [1] CRAN (R 4.1.0)
## ggsci 2.9 2018-05-14 [1] CRAN (R 4.1.0)
## ggsignif 0.6.3 2021-09-09 [1] CRAN (R 4.1.0)
## ggVennDiagram 1.2.1 2022-04-13 [1] Github (gaospecial/ggVennDiagram@db6742d)
## glmnet 4.1-3 2021-11-02 [1] CRAN (R 4.1.0)
## glue * 1.6.2 2022-02-24 [1] CRAN (R 4.1.2)
## Gmisc * 3.0.0 2022-01-03 [1] CRAN (R 4.1.2)
## gplots 3.1.1 2020-11-28 [1] CRAN (R 4.1.0)
## gridExtra 2.3 2017-09-09 [1] CRAN (R 4.1.0)
## gtable 0.3.0 2019-03-25 [1] CRAN (R 4.1.0)
## gtools 3.9.2 2021-06-06 [1] CRAN (R 4.1.0)
## highr 0.9 2021-04-16 [1] CRAN (R 4.1.0)
## Hmisc 4.6-0 2021-10-07 [1] CRAN (R 4.1.0)
## hms 1.1.1 2021-09-26 [1] CRAN (R 4.1.0)
## htmlTable * 2.4.0 2022-01-04 [1] CRAN (R 4.1.2)
## htmltools 0.5.2 2021-08-25 [1] CRAN (R 4.1.0)
## htmlwidgets 1.5.4 2021-09-08 [1] CRAN (R 4.1.0)
## httr 1.4.2 2020-07-20 [1] CRAN (R 4.1.0)
## igraph 1.2.11 2022-01-04 [1] CRAN (R 4.1.2)
## insight 0.17.0 2022-03-29 [1] CRAN (R 4.1.2)
## IRanges * 2.28.0 2021-10-26 [1] Bioconductor
## iterators 1.0.14 2022-02-05 [1] CRAN (R 4.1.2)
## jpeg 0.1-9 2021-07-24 [1] CRAN (R 4.1.0)
## jquerylib 0.1.4 2021-04-26 [1] CRAN (R 4.1.0)
## jsonlite 1.8.0 2022-02-22 [1] CRAN (R 4.1.2)
## kableExtra 1.3.4 2021-02-20 [1] CRAN (R 4.1.2)
## KEGGREST 1.34.0 2021-10-26 [1] Bioconductor
## KernSmooth 2.23-20 2021-05-03 [1] CRAN (R 4.1.2)
## knitr 1.39 2022-04-26 [1] CRAN (R 4.1.2)
## labeling 0.4.2 2020-10-20 [1] CRAN (R 4.1.0)
## lambda.r 1.2.4 2019-09-18 [1] CRAN (R 4.1.0)
## lattice * 0.20-45 2021-09-22 [1] CRAN (R 4.1.2)
## latticeExtra 0.6-29 2019-12-19 [1] CRAN (R 4.1.0)
## leaps 3.1 2020-01-16 [1] CRAN (R 4.1.0)
## libcoin 1.0-9 2021-09-27 [1] CRAN (R 4.1.0)
## lifecycle 1.0.1 2021-09-24 [1] CRAN (R 4.1.0)
## limma 3.50.1 2022-02-17 [1] Bioconductor
## locfit 1.5-9.5 2022-03-03 [1] CRAN (R 4.1.2)
## LOCOM 1.1 2022-08-05 [1] Github (yijuanhu/LOCOM@c181e0f)
## lubridate 1.8.0 2021-10-07 [1] CRAN (R 4.1.0)
## magrittr * 2.0.2 2022-01-26 [1] CRAN (R 4.1.2)
## MASS 7.3-55 2022-01-13 [1] CRAN (R 4.1.2)
## Matrix 1.4-0 2021-12-08 [1] CRAN (R 4.1.0)
## MatrixGenerics * 1.6.0 2021-10-26 [1] Bioconductor
## matrixStats * 0.61.0 2021-09-17 [1] CRAN (R 4.1.0)
## mbzinb 0.2 2022-03-16 [1] local
## memoise 2.0.1 2021-11-26 [1] CRAN (R 4.1.0)
## metagenomeSeq 1.36.0 2021-10-26 [1] Bioconductor
## mgcv 1.8-39 2022-02-24 [1] CRAN (R 4.1.2)
## microbiome 1.16.0 2021-10-26 [1] Bioconductor
## modeltools 0.2-23 2020-03-05 [1] CRAN (R 4.1.0)
## multcomp 1.4-18 2022-01-04 [1] CRAN (R 4.1.2)
## multtest 2.50.0 2021-10-26 [1] Bioconductor
## munsell 0.5.0 2018-06-12 [1] CRAN (R 4.1.0)
## mvtnorm 1.1-3 2021-10-08 [1] CRAN (R 4.1.0)
## mycor 0.1.1 2018-04-10 [1] CRAN (R 4.1.0)
## NADA 1.6-1.1 2020-03-22 [1] CRAN (R 4.1.0)
## nlme * 3.1-155 2022-01-13 [1] CRAN (R 4.1.2)
## nnet 7.3-17 2022-01-13 [1] CRAN (R 4.1.2)
## openssl 2.0.0 2022-03-02 [1] CRAN (R 4.1.2)
## permute * 0.9-7 2022-01-27 [1] CRAN (R 4.1.2)
## pheatmap * 1.0.12 2019-01-04 [1] CRAN (R 4.1.0)
## phyloseq * 1.38.0 2021-10-26 [1] Bioconductor
## picante * 1.8.2 2020-06-10 [1] CRAN (R 4.1.0)
## pillar 1.7.0 2022-02-01 [1] CRAN (R 4.1.2)
## pkgbuild 1.3.1 2021-12-20 [1] CRAN (R 4.1.0)
## pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.1.0)
## pkgload 1.2.4 2021-11-30 [1] CRAN (R 4.1.0)
## plyr 1.8.6 2020-03-03 [1] CRAN (R 4.1.0)
## png 0.1-7 2013-12-03 [1] CRAN (R 4.1.0)
## ppcor 1.1 2015-12-03 [1] CRAN (R 4.1.0)
## prettyunits 1.1.1 2020-01-24 [1] CRAN (R 4.1.0)
## processx 3.5.2 2021-04-30 [1] CRAN (R 4.1.0)
## protoclust 1.6.3 2019-01-31 [1] CRAN (R 4.1.0)
## proxy 0.4-26 2021-06-07 [1] CRAN (R 4.1.0)
## ps 1.6.0 2021-02-28 [1] CRAN (R 4.1.0)
## pscl 1.5.5 2020-03-07 [1] CRAN (R 4.1.0)
## purrr * 0.3.4 2020-04-17 [1] CRAN (R 4.1.0)
## qvalue 2.26.0 2021-10-26 [1] Bioconductor
## R6 2.5.1 2021-08-19 [1] CRAN (R 4.1.0)
## RAIDA 1.0 2022-03-14 [1] local
## RColorBrewer * 1.1-2 2014-12-07 [1] CRAN (R 4.1.0)
## Rcpp * 1.0.8.2 2022-03-11 [1] CRAN (R 4.1.2)
## RcppZiggurat 0.1.6 2020-10-20 [1] CRAN (R 4.1.0)
## RCurl 1.98-1.6 2022-02-08 [1] CRAN (R 4.1.2)
## readr * 2.1.2 2022-01-30 [1] CRAN (R 4.1.2)
## remotes 2.4.2 2021-11-30 [1] CRAN (R 4.1.0)
## reshape2 1.4.4 2020-04-09 [1] CRAN (R 4.1.0)
## reticulate 1.24 2022-01-26 [1] CRAN (R 4.1.2)
## Rfast 2.0.6 2022-02-16 [1] CRAN (R 4.1.2)
## rhdf5 2.38.1 2022-03-10 [1] Bioconductor
## rhdf5filters 1.6.0 2021-10-26 [1] Bioconductor
## Rhdf5lib 1.16.0 2021-10-26 [1] Bioconductor
## rlang 1.0.2 2022-03-04 [1] CRAN (R 4.1.2)
## rmarkdown 2.14 2022-04-25 [1] CRAN (R 4.1.2)
## robustbase 0.93-9 2021-09-27 [1] CRAN (R 4.1.0)
## rpart 4.1.16 2022-01-24 [1] CRAN (R 4.1.2)
## rprojroot 2.0.2 2020-11-15 [1] CRAN (R 4.1.0)
## RSpectra 0.16-0 2019-12-01 [1] CRAN (R 4.1.0)
## RSQLite 2.2.10 2022-02-17 [1] CRAN (R 4.1.2)
## rstatix 0.7.0 2021-02-13 [1] CRAN (R 4.1.0)
## rstudioapi 0.13 2020-11-12 [1] CRAN (R 4.1.0)
## Rtsne 0.15 2018-11-10 [1] CRAN (R 4.1.0)
## RVenn 1.1.0 2019-07-18 [1] CRAN (R 4.1.0)
## rvest 1.0.2 2021-10-16 [1] CRAN (R 4.1.0)
## S4Vectors * 0.32.3 2021-11-21 [1] Bioconductor
## sandwich 3.0-1 2021-05-18 [1] CRAN (R 4.1.0)
## sass 0.4.0 2021-05-12 [1] CRAN (R 4.1.0)
## scales 1.1.1 2020-05-11 [1] CRAN (R 4.1.0)
## scatterplot3d 0.3-41 2018-03-14 [1] CRAN (R 4.1.0)
## sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.1.0)
## sf 1.0-7 2022-03-07 [1] CRAN (R 4.1.2)
## shape 1.4.6 2021-05-19 [1] CRAN (R 4.1.0)
## sjlabelled 1.2.0 2022-04-10 [1] CRAN (R 4.1.2)
## sjmisc 2.8.9 2021-12-03 [1] CRAN (R 4.1.0)
## stringi 1.7.6 2021-11-29 [1] CRAN (R 4.1.0)
## stringr 1.4.0 2019-02-10 [1] CRAN (R 4.1.0)
## SummarizedExperiment * 1.24.0 2021-10-26 [1] Bioconductor
## survival 3.3-1 2022-03-03 [1] CRAN (R 4.1.2)
## svglite 2.1.0 2022-02-03 [1] CRAN (R 4.1.2)
## systemfonts 1.0.4 2022-02-11 [1] CRAN (R 4.1.2)
## tensorA 0.36.2 2020-11-19 [1] CRAN (R 4.1.0)
## testthat 3.1.2 2022-01-20 [1] CRAN (R 4.1.2)
## TH.data 1.1-0 2021-09-27 [1] CRAN (R 4.1.0)
## tibble * 3.1.6 2021-11-07 [1] CRAN (R 4.1.0)
## tidyr * 1.2.0 2022-02-01 [1] CRAN (R 4.1.2)
## tidyselect 1.1.2 2022-02-21 [1] CRAN (R 4.1.2)
## truncnorm 1.0-8 2018-02-27 [1] CRAN (R 4.1.0)
## tzdb 0.2.0 2021-10-27 [1] CRAN (R 4.1.0)
## umap 0.2.8.0 2022-03-23 [1] CRAN (R 4.1.2)
## units 0.8-0 2022-02-05 [1] CRAN (R 4.1.2)
## usethis * 2.1.5 2021-12-09 [1] CRAN (R 4.1.0)
## utf8 1.2.2 2021-07-24 [1] CRAN (R 4.1.0)
## uuid 1.0-3 2021-11-01 [1] CRAN (R 4.1.0)
## vctrs 0.3.8 2021-04-29 [1] CRAN (R 4.1.0)
## vegan * 2.5-7 2020-11-28 [1] CRAN (R 4.1.0)
## VennDiagram * 1.7.3 2022-04-12 [1] CRAN (R 4.1.2)
## viridis * 0.6.2 2021-10-13 [1] CRAN (R 4.1.0)
## viridisLite * 0.4.0 2021-04-13 [1] CRAN (R 4.1.0)
## vroom 1.5.7 2021-11-30 [1] CRAN (R 4.1.0)
## webshot 0.5.3 2022-04-14 [1] CRAN (R 4.1.2)
## withr 2.5.0 2022-03-03 [1] CRAN (R 4.1.2)
## Wrench 1.12.0 2021-10-26 [1] Bioconductor
## xfun 0.30 2022-03-02 [1] CRAN (R 4.1.2)
## XMAS2 * 2.1.8 2022-10-08 [1] local
## XML 3.99-0.9 2022-02-24 [1] CRAN (R 4.1.2)
## xml2 1.3.3 2021-11-30 [1] CRAN (R 4.1.0)
## xtable 1.8-4 2019-04-21 [1] CRAN (R 4.1.0)
## XVector 0.34.0 2021-10-26 [1] Bioconductor
## yaml 2.3.5 2022-02-21 [1] CRAN (R 4.1.2)
## zCompositions 1.4.0 2022-01-13 [1] CRAN (R 4.1.2)
## zlibbioc 1.40.0 2021-10-26 [1] Bioconductor
## zoo 1.8-9 2021-03-09 [1] CRAN (R 4.1.0)
##
## [1] /Library/Frameworks/R.framework/Versions/4.1/Resources/library
##
## ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────