Chapter 10 Test Example
10.1 Loading packages
library(XMAS2)
library(dplyr)
library(tibble)
library(phyloseq)
library(ggplot2)
library(ggpubr)
library(readxl)
10.2 Loading data
<- readRDS("DataSet/RawData/dada2_res.rds")
dada2_res <- phyloseq::read_tree("DataSet/RawData/tree.nwk")
tree <- readxl::read_xlsx("DataSet/RawData/诺禾宏基因组678月-ZH.xlsx", sheet = 3)
metadata
<- read.table("DataSet/RawData/merged_metaphlan2.tsv",
metaphlan2_res header = TRUE, stringsAsFactors = FALSE) %>%
::rownames_to_column("ID") tibble
10.3 Metaphlan2 result
<- import_metaphlan_taxa(data_metaphlan2 = metaphlan2_res,
metaphlan2_res_list taxa_level = "Species")
<- metaphlan2_res_list$tax_tab
tax_tab
<- metaphlan2_res_list$abu_tab
otu_tab colnames(otu_tab) <- gsub("X", "S_", colnames(otu_tab))
<- metadata %>% data.frame() %>%
sam_tab ::mutate(Group=ifelse(SampleType == "粪便", "Stool",
dplyrifelse(SampleType == "QC", "QC", "Product"))) %>%
::select(SampleTubeID, Group, everything())
dplyrrownames(sam_tab) <- paste0("S_", sam_tab$SeqID_MGS)
<- intersect(rownames(sam_tab), colnames(otu_tab))
overlap_samples
<- otu_tab[, match(overlap_samples, colnames(otu_tab))]
otu_tab_cln <- sam_tab[match(overlap_samples, rownames(sam_tab)), ]
sam_tab_cln rownames(sam_tab_cln) <- overlap_samples
<- get_metaphlan_phyloseq(
metaphlan2_ps otu_tab = otu_tab_cln,
sam_tab = sam_tab_cln,
tax_tab = tax_tab)
metaphlan2_ps
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 328 taxa and 145 samples ]
## sample_data() Sample Data: [ 145 samples by 12 sample variables ]
## tax_table() Taxonomy Table: [ 328 taxa by 7 taxonomic ranks ]
10.4 Step1: Reads’ Track
plot_Dada2Track(data = dada2_res$reads_track) +
guides(color = "none")

Figure 10.1: DADA2’ read track (Example)
10.5 Step2: Convert inputs into phyloseq data
<- import_dada2_taxa(dada2_taxa = dada2_res$tax_tab)
tax_tab_16s
<- dada2_res$seq_tab
otu_tab_16s # Shouldn't use the Total Number as SampleID (wrong: 123456; right: X123456)
rownames(otu_tab_16s) <- paste0("S_", rownames(otu_tab_16s))
<- metadata %>% data.frame() %>%
sam_tab_16s ::mutate(Group=ifelse(SampleType == "粪便", "Stool",
dplyrifelse(SampleType == "QC", "QC", "Product"))) %>%
::filter(SampleTubeID %in% sam_tab_cln$SampleTubeID) %>%
dplyr::select(SampleTubeID, Group, everything())
dplyrrownames(sam_tab_16s) <- paste0("S_", sam_tab_16s$SeqID_16s)
<- intersect(rownames(sam_tab_16s), rownames(otu_tab_16s))
overlap_samples_16s <- otu_tab_16s[match(overlap_samples_16s, rownames(otu_tab_16s)), ]
otu_tab_16s_cln <- sam_tab_16s[match(overlap_samples_16s, rownames(sam_tab_16s)), ]
sam_tab_16s_cln
<- get_dada2_phyloseq(
dada2_ps seq_tab = otu_tab_16s_cln,
tax_tab = tax_tab_16s,
sam_tab = sam_tab_16s_cln,
phy_tree = tree)
dada2_ps
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 1948 taxa and 145 samples ]
## sample_data() Sample Data: [ 145 samples by 12 sample variables ]
## tax_table() Taxonomy Table: [ 1948 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 1948 tips and 1933 internal nodes ]
## refseq() DNAStringSet: [ 1948 reference sequences ]
if (!dir.exists("DataSet/Step2/")) {
dir.create("DataSet/Step2/")
}saveRDS(dada2_ps, "DataSet/Step2/Donor_16s_phyloseq.RDS", compress = TRUE)
10.6 Step3: BRS checking
<- readRDS("DataSet/Step2/Donor_16s_phyloseq.RDS")
dada2_ps <- summarize_taxa(ps = dada2_ps,
dada2_ps_genus taxa_level = "Genus")
tail(dada2_ps_genus@sam_data %>% data.frame())
## SampleTubeID Group Date_Sequencing ProductID SampleType ProductBatch Date_Sampling Date_Receiving SeqID_MGS
## S_7929 GGM50-210730 Stool 2021-08-03 M50 粪便 CYM50-210735 2021.07.30 2021-08-06 7769
## S_7930 CYM50-210735-0727 Product 2021-08-03 M50 肠菌胶囊 CYM50-210735 2021.07.27 2021-08-06 7770
## S_7931 CYM50-210735-0728 Product 2021-08-03 M50 肠菌胶囊 CYM50-210735 2021.07.28 2021-08-06 7771
## S_7932 CYM50-210735-0729 Product 2021-08-03 M50 肠菌胶囊 CYM50-210735 2021.07.29 2021-08-06 7772
## S_7933 CYM50-210735-0730 Product 2021-08-03 M50 肠菌胶囊 CYM50-210735 2021.07.30 2021-08-06 7773
## S_7327 Community QC <NA> Ref QC <NA> <NA> <NA> 7222
## SeqID_16s Pipeline_MGS
## S_7929 7929 /share/work/HPC/work_tmp/PipelineJob_180_20210923/output
## S_7930 7930 /share/work/HPC/work_tmp/PipelineJob_180_20210923/output
## S_7931 7931 /share/work/HPC/work_tmp/PipelineJob_180_20210923/output
## S_7932 7932 /share/work/HPC/work_tmp/PipelineJob_180_20210923/output
## S_7933 7933 /share/work/HPC/work_tmp/PipelineJob_180_20210923/output
## S_7327 7327 /share/work/HPC/work_tmp/PipelineJob_180_20210923/output
## Pipeline_16s
## S_7929 /share/projects/Engineering/pipeline_output/PipelineJob_304_20211203
## S_7930 /share/projects/Engineering/pipeline_output/PipelineJob_304_20211203
## S_7931 /share/projects/Engineering/pipeline_output/PipelineJob_304_20211203
## S_7932 /share/projects/Engineering/pipeline_output/PipelineJob_304_20211203
## S_7933 /share/projects/Engineering/pipeline_output/PipelineJob_304_20211203
## S_7327 /share/projects/Engineering/pipeline_output/PipelineJob_304_20211203
run_RefCheck(
ps = dada2_ps_genus,
BRS_ID = "S_7327", Ref_type = "16s")
## Noting: the Reference Matrix is for 16s
##
## ############Matched baterica of the BRS sample#############
## The number of BRS' bacteria matched the Reference Matrix is [3]
## g__Lactobacillus
## g__Escherichia_Shigella
## g__Enterococcus
## The number of bacteria unmatched the Reference Matrix is [12]
## g__Bifidobacterium
## g__Bacteroides
## g__Faecalibacterium
## g__Parabacteroides
## g__Collinsella
## g__Coprococcus_3
## g__Dorea
## g__Streptococcus
## g__Roseburia
## g__Anaerostipes
## g__Prevotella_9
## g__Eggerthella
## The number of the additional bacteria compared to the Reference Matrix is [6]
## ###########################################################
##
## ##################Status of the BRS sample##################
## Whether the BRS has the all bateria of Reference Matrix: FALSE
## Correlation Coefficient of the BRS is: 6
## Bray Curtis of the BRS is: 0.2265
## Impurity of the BRS is: 68.36
## ###########################################################
## #####Final Evaluation Results of the BRS #######
## The BRS of sequencing dataset didn't pass the cutoff of the Reference Matrix
## ###########################################################
## 8002 8003 8004 8005 8006 8007 8008 8009 S_7327 mean
## Lactobacillus 2.61732573 3.36856272 3.44379163 3.88394343 5.92927 5.780008 5.781891 6.326723 12.263006 5.48828
## Escherichia_Shigella 15.27581475 16.00265210 12.36527954 14.08077142 10.84235 13.432037 10.157432 11.599456 12.119942 12.87508
## Enterococcus 14.51444842 14.66472707 11.04239952 11.66901114 13.16748 12.073609 12.887711 12.849247 7.258671 12.23637
## Impurity_level 0.08562792 0.06531291 0.05987576 0.06228054 0.00000 0.000000 0.000000 0.000000 68.360000 7.62590
## Evaluation
## Lactobacillus S_7327 didn't pass the threshold (2022-08-09 16:05:39).
## Escherichia_Shigella S_7327 didn't pass the threshold (2022-08-09 16:05:39).
## Enterococcus S_7327 didn't pass the threshold (2022-08-09 16:05:39).
## Impurity_level S_7327 didn't pass the threshold (2022-08-09 16:05:39).
<- get_GroupPhyloseq(
dada2_ps_remove_BRS ps = dada2_ps,
group = "Group",
group_names = "QC",
discard = TRUE)
dada2_ps_remove_BRS## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 1948 taxa and 144 samples ]
## sample_data() Sample Data: [ 144 samples by 12 sample variables ]
## tax_table() Taxonomy Table: [ 1948 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 1948 tips and 1933 internal nodes ]
## refseq() DNAStringSet: [ 1948 reference sequences ]
if (!dir.exists("DataSet/Step3/")) {
dir.create("DataSet/Step3/")
}saveRDS(dada2_ps_remove_BRS, "DataSet/Step3/Donor_16s_phyloseq_remove_BRS.RDS", compress = TRUE)
10.7 Step4: Rarefaction curves
<- readRDS("DataSet/Step3/Donor_16s_phyloseq_remove_BRS.RDS")
dada2_ps_remove_BRS
plot_RarefCurve(ps = dada2_ps_remove_BRS,
taxa_level = "OTU",
step = 400,
label = "Group",
color = "Group")
## rarefying sample S_7271
## rarefying sample S_7272
## rarefying sample S_7273
## rarefying sample S_7274
## rarefying sample S_7275
## rarefying sample S_7276
## rarefying sample S_7277
## rarefying sample S_7278
## rarefying sample S_7279
## rarefying sample S_7280
## rarefying sample S_7281
## rarefying sample S_7282
## rarefying sample S_7283
## rarefying sample S_7284
## rarefying sample S_7285
## rarefying sample S_7286
## rarefying sample S_7287
## rarefying sample S_7288
## rarefying sample S_7289
## rarefying sample S_7290
## rarefying sample S_7291
## rarefying sample S_7292
## rarefying sample S_7293
## rarefying sample S_7294
## rarefying sample S_7295
## rarefying sample S_7296
## rarefying sample S_7297
## rarefying sample S_7298
## rarefying sample S_7299
## rarefying sample S_7300
## rarefying sample S_7301
## rarefying sample S_7302
## rarefying sample S_7303
## rarefying sample S_7304
## rarefying sample S_7305
## rarefying sample S_7306
## rarefying sample S_7307
## rarefying sample S_7308
## rarefying sample S_7309
## rarefying sample S_7310
## rarefying sample S_7311
## rarefying sample S_7312
## rarefying sample S_7313
## rarefying sample S_7314
## rarefying sample S_7315
## rarefying sample S_7316
## rarefying sample S_7317
## rarefying sample S_7318
## rarefying sample S_7319
## rarefying sample S_7320
## rarefying sample S_7321
## rarefying sample S_7322
## rarefying sample S_7323
## rarefying sample S_7324
## rarefying sample S_7325
## rarefying sample S_7326
## rarefying sample S_7846
## rarefying sample S_7847
## rarefying sample S_7848
## rarefying sample S_7849
## rarefying sample S_7850
## rarefying sample S_7851
## rarefying sample S_7852
## rarefying sample S_7853
## rarefying sample S_7854
## rarefying sample S_7855
## rarefying sample S_7856
## rarefying sample S_7857
## rarefying sample S_7858
## rarefying sample S_7859
## rarefying sample S_7860
## rarefying sample S_7861
## rarefying sample S_7862
## rarefying sample S_7863
## rarefying sample S_7864
## rarefying sample S_7865
## rarefying sample S_7866
## rarefying sample S_7867
## rarefying sample S_7868
## rarefying sample S_7869
## rarefying sample S_7870
## rarefying sample S_7871
## rarefying sample S_7872
## rarefying sample S_7873
## rarefying sample S_7874
## rarefying sample S_7875
## rarefying sample S_7876
## rarefying sample S_7877
## rarefying sample S_7878
## rarefying sample S_7879
## rarefying sample S_7880
## rarefying sample S_7881
## rarefying sample S_7882
## rarefying sample S_7883
## rarefying sample S_7884
## rarefying sample S_7885
## rarefying sample S_7886
## rarefying sample S_7887
## rarefying sample S_7888
## rarefying sample S_7889
## rarefying sample S_7890
## rarefying sample S_7891
## rarefying sample S_7892
## rarefying sample S_7893
## rarefying sample S_7894
## rarefying sample S_7895
## rarefying sample S_7896
## rarefying sample S_7897
## rarefying sample S_7898
## rarefying sample S_7899
## rarefying sample S_7900
## rarefying sample S_7901
## rarefying sample S_7902
## rarefying sample S_7903
## rarefying sample S_7904
## rarefying sample S_7905
## rarefying sample S_7906
## rarefying sample S_7907
## rarefying sample S_7908
## rarefying sample S_7909
## rarefying sample S_7910
## rarefying sample S_7911
## rarefying sample S_7912
## rarefying sample S_7913
## rarefying sample S_7914
## rarefying sample S_7915
## rarefying sample S_7916
## rarefying sample S_7917
## rarefying sample S_7918
## rarefying sample S_7919
## rarefying sample S_7920
## rarefying sample S_7921
## rarefying sample S_7922
## rarefying sample S_7923
## rarefying sample S_7924
## rarefying sample S_7925
## rarefying sample S_7926
## rarefying sample S_7927
## rarefying sample S_7928
## rarefying sample S_7929
## rarefying sample S_7930
## rarefying sample S_7931
## rarefying sample S_7932
## rarefying sample S_7933

Figure 10.2: Rarefaction curves (Example)
10.8 Step5: Rarefy otu counts
<- readRDS("DataSet/Step3/Donor_16s_phyloseq_remove_BRS.RDS")
dada2_ps_remove_BRS summarize_phyloseq(ps = dada2_ps_remove_BRS)
## [[1]]
## [1] "1] Min. number of reads = 33267"
##
## [[2]]
## [1] "2] Max. number of reads = 153367"
##
## [[3]]
## [1] "3] Total number of reads = 10909876"
##
## [[4]]
## [1] "4] Average number of reads = 75763.0277777778"
##
## [[5]]
## [1] "5] Median number of reads = 71985.5"
##
## [[6]]
## [1] "7] Sparsity = 0.912599104494638"
##
## [[7]]
## [1] "6] Any OTU sum to 1 or less? YES"
##
## [[8]]
## [1] "8] Number of singletons = 837"
##
## [[9]]
## [1] "9] Percent of OTUs that are singletons\n (i.e. exactly one read detected across all samples)0"
##
## [[10]]
## [1] "10] Number of sample variables are: 12"
##
## [[11]]
## [1] "SampleTubeID" "Group" "Date_Sequencing" "ProductID" "SampleType" "ProductBatch"
## [7] "Date_Sampling" "Date_Receiving" "SeqID_MGS" "SeqID_16s" "Pipeline_MGS" "Pipeline_16s"
<- norm_rarefy(object = dada2_ps_remove_BRS,
dada2_ps_rare size = 33267)
dada2_ps_rare
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 1091 taxa and 144 samples ]
## sample_data() Sample Data: [ 144 samples by 12 sample variables ]
## tax_table() Taxonomy Table: [ 1091 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 1091 tips and 1086 internal nodes ]
## refseq() DNAStringSet: [ 1091 reference sequences ]
if (!dir.exists("DataSet/Step5/")) {
dir.create("DataSet/Step5/")
}saveRDS(dada2_ps_rare, "DataSet/Step5/Donor_16s_phyloseq_remove_BRS_rare.RDS", compress = TRUE)
10.9 Step6: Extracting specific taxonomic level
<- readRDS("DataSet/Step5/Donor_16s_phyloseq_remove_BRS_rare.RDS")
dada2_ps_rare
<- summarize_taxa(ps = dada2_ps_rare,
dada2_ps_rare_genus taxa_level = "Genus")
dada2_ps_rare_genus
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 225 taxa and 144 samples ]
## sample_data() Sample Data: [ 144 samples by 12 sample variables ]
## tax_table() Taxonomy Table: [ 225 taxa by 6 taxonomic ranks ]
<- summarize_taxa(ps = dada2_ps_rare,
dada2_ps_rare_order taxa_level = "Order")
dada2_ps_rare_order
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 37 taxa and 144 samples ]
## sample_data() Sample Data: [ 144 samples by 12 sample variables ]
## tax_table() Taxonomy Table: [ 37 taxa by 4 taxonomic ranks ]
<- summarize_taxa(ps = dada2_ps_rare,
dada2_ps_rare_phylum taxa_level = "Phylum")
dada2_ps_rare_phylum
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 15 taxa and 144 samples ]
## sample_data() Sample Data: [ 144 samples by 12 sample variables ]
## tax_table() Taxonomy Table: [ 15 taxa by 2 taxonomic ranks ]
if (!dir.exists("DataSet/Step6/")) {
dir.create("DataSet/Step6/")
}saveRDS(dada2_ps_rare_genus, "DataSet/Step6/Donor_16s_phyloseq_remove_BRS_rare_genus.RDS", compress = TRUE)
saveRDS(dada2_ps_rare_order, "DataSet/Step6/Donor_16s_phyloseq_remove_BRS_rare_order.RDS", compress = TRUE)
saveRDS(dada2_ps_rare_phylum, "DataSet/Step6/Donor_16s_phyloseq_remove_BRS_rare_phylum.RDS", compress = TRUE)
10.10 Step7: GlobalView
<- readRDS("DataSet/Step6/Donor_16s_phyloseq_remove_BRS_rare_genus.RDS")
dada2_ps_rare_genus
# alpha
<- run_alpha_diversity(ps = dada2_ps_rare_genus,
dada2_ps_rare_genus_alpha measures = c("Shannon", "Chao1", "Observed"))
plot_boxplot(data = dada2_ps_rare_genus_alpha,
y_index = c("Shannon", "Chao1", "Observed"),
group = "Group",
group_names = c("Stool", "Product"),
group_color = c("red", "blue"))

Figure 10.3: diversity and ordination and composition(Example)
# beta
<- run_beta_diversity(ps = dada2_ps_rare_genus,
dada2_ps_beta method = "bray")
plot_distance_corrplot(datMatrix = dada2_ps_beta$BetaDistance)

Figure 10.4: diversity and ordination and composition(Example)
# permanova
<- run_permanova(ps = dada2_ps_rare_genus,
dada2_ps_per method = "bray",
columns = "Group")
print(dada2_ps_per)
## SumsOfSample Df SumsOfSqs MeanSqs F.Model R2 Pr(>F) AdjustedPvalue
## Group 144 1 1.335187 1.335187 9.669403 0.06375315 0.001 0.001
# beta dispersion
<- run_beta_diversity(ps = dada2_ps_rare_genus,
beta_df method = "bray",
group = "Group")
##
## Permutation test for homogeneity of multivariate dispersions
## Permutation: free
## Number of permutations: 999
##
## Response: Distances
## Df Sum Sq Mean Sq F N.Perm Pr(>F)
## Groups 1 0.04375 0.043749 5.6785 999 0.016 *
## Residuals 142 1.09402 0.007704
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Pairwise comparisons:
## (Observed p-value below diagonal, permuted p-value above diagonal)
## Product Stool
## Product 0.017
## Stool 0.018497
# ordination
<- run_ordination(
dada2_ps_ordination ps = dada2_ps_rare_genus,
group = "Group",
method = "PCoA")
plot_Ordination(ResultList = dada2_ps_ordination,
group = "Group",
group_names = c("Stool", "Product"),
group_color = c("blue", "red"))

Figure 10.5: diversity and ordination and composition(Example)
# Microbial composition
plot_stacked_bar_XIVZ(
phyloseq = dada2_ps_rare_genus,
level = "Phylum",
feature = "Group")

Figure 10.6: diversity and ordination and composition(Example)
10.11 Step8: Differential Analysis
<- readRDS("DataSet/Step6/Donor_16s_phyloseq_remove_BRS_rare_genus.RDS")
dada2_ps_rare_genus
# filter & trim
<- run_filter(ps = dada2_ps_rare_genus,
dada2_ps_rare_genus_filter cutoff = 10,
unclass = TRUE)
<- run_trim(object = dada2_ps_rare_genus_filter,
dada2_ps_rare_genus_filter_trim cutoff = 0.1,
trim = "feature")
dada2_ps_rare_genus_filter_trim
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 127 taxa and 144 samples ]
## sample_data() Sample Data: [ 144 samples by 12 sample variables ]
## tax_table() Taxonomy Table: [ 127 taxa by 6 taxonomic ranks ]
# lefse
<- run_lefse(
dada2_ps_lefse ps = dada2_ps_rare_genus_filter_trim,
group = "Group",
group_names = c("Stool", "Product"),
norm = "CPM",
Lda = 2)
# # don't run this code when you do lefse in reality
# dada2_ps_lefse$LDA_Score <- dada2_ps_lefse$LDA_Score * 1000
plot_lefse(
da_res = dada2_ps_lefse,
x_index = "LDA_Score",
x_index_cutoff = 2,
group_color = c("green", "red"))

Figure 10.7: Differential Analysis (Example)
<- run_wilcox(
dada2_ps_wilcox ps = dada2_ps_rare_genus_filter_trim,
group = "Group",
group_names = c("Stool", "Product"))
plot_volcano(
da_res = dada2_ps_wilcox,
group_names = c("Stool", "Product"),
x_index = "Log2FoldChange (Rank)\nStool_vs_Product",
x_index_cutoff = 0.5,
y_index = "Pvalue",
y_index_cutoff = 0.05,
group_color = c("red", "grey", "blue"),
topN = 5)

Figure 10.8: Differential Analysis (Example)
if (!dir.exists("DataSet/Step8/")) {
dir.create("DataSet/Step8/")
}saveRDS(dada2_ps_rare_genus_filter_trim, "DataSet/Step8/Donor_16s_phyloseq_remove_BRS_rare_genus_filter_trim.RDS", compress = TRUE)
10.12 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-08-09
## 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)
## 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)
## 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 0.7.12 2022-01-28 [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)
## cccd 1.6 2022-04-08 [1] CRAN (R 4.1.2)
## cellranger 1.1.0 2016-07-27 [1] CRAN (R 4.1.0)
## checkmate 2.0.0 2020-02-06 [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)
## conflicted 1.1.0 2021-11-26 [1] CRAN (R 4.1.0)
## corpcor 1.6.10 2021-09-16 [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)
## 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
## deldir 1.0-6 2021-10-23 [1] CRAN (R 4.1.0)
## 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)
## doParallel 1.0.17 2022-02-07 [1] CRAN (R 4.1.2)
## doSNOW 1.0.20 2022-02-04 [1] CRAN (R 4.1.2)
## dplyr * 1.0.8 2022-02-08 [1] CRAN (R 4.1.2)
## dynamicTreeCut 1.63-1 2016-03-11 [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)
## 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)
## fastcluster 1.2.3 2021-05-24 [1] CRAN (R 4.1.0)
## fastmap 1.1.0 2021-01-25 [1] CRAN (R 4.1.0)
## fdrtool 1.2.17 2021-11-13 [1] CRAN (R 4.1.0)
## filematrix 1.3 2018-02-27 [1] CRAN (R 4.1.0)
## FNN 1.1.3 2019-02-15 [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)
## 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)
## 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
## 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)
## ggsignif 0.6.3 2021-09-09 [1] CRAN (R 4.1.0)
## glasso 1.11 2019-10-01 [1] CRAN (R 4.1.0)
## 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)
## GO.db 3.14.0 2022-04-11 [1] Bioconductor
## 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)
## 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)
## huge 1.3.5 2021-06-30 [1] CRAN (R 4.1.0)
## igraph 1.2.11 2022-01-04 [1] CRAN (R 4.1.2)
## impute 1.68.0 2021-10-26 [1] Bioconductor
## IRanges 2.28.0 2021-10-26 [1] Bioconductor
## irlba 2.3.5 2021-12-06 [1] CRAN (R 4.1.0)
## 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)
## 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)
## 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)
## lavaan 0.6-11 2022-03-31 [1] CRAN (R 4.1.2)
## 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)
## 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)
## mixedCCA 1.5.2 2022-07-14 [1] Github (irinagain/mixedCCA@c6d41a3)
## mnormt 2.0.2 2020-09-01 [1] CRAN (R 4.1.0)
## 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)
## NADA 1.6-1.1 2020-03-22 [1] CRAN (R 4.1.0)
## NetCoMi * 1.0.3 2022-07-14 [1] Github (stefpeschel/NetCoMi@d4d80d3)
## 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)
## pbapply 1.5-0 2021-09-16 [1] CRAN (R 4.1.0)
## pbivnorm 0.6.0 2015-01-23 [1] CRAN (R 4.1.0)
## pcaPP 1.9-74 2021-04-23 [1] CRAN (R 4.1.0)
## 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
## 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)
## preprocessCore 1.56.0 2021-10-26 [1] Bioconductor
## 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)
## 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)
## psych 2.2.5 2022-05-10 [1] CRAN (R 4.1.2)
## pulsar 0.3.7 2020-08-07 [1] CRAN (R 4.1.0)
## purrr 0.3.4 2020-04-17 [1] CRAN (R 4.1.0)
## qgraph 1.9.2 2022-03-04 [1] CRAN (R 4.1.2)
## R6 2.5.1 2021-08-19 [1] CRAN (R 4.1.0)
## rbibutils 2.2.7 2021-12-07 [1] CRAN (R 4.1.0)
## 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)
## Rdpack 2.2 2022-03-19 [1] CRAN (R 4.1.2)
## readxl * 1.4.0 2022-03-28 [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)
## 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)
## rootSolve 1.8.2.3 2021-09-29 [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)
## 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)
## 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)
## sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.1.0)
## shape 1.4.6 2021-05-19 [1] CRAN (R 4.1.0)
## snow 0.4-4 2021-10-27 [1] CRAN (R 4.1.0)
## SpiecEasi * 1.1.2 2022-07-14 [1] Github (zdk123/SpiecEasi@c463727)
## SPRING 1.0.4 2022-08-03 [1] Github (GraceYoon/SPRING@3d641a4)
## 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)
## 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)
## tmvnsim 1.0-2 2016-12-15 [1] CRAN (R 4.1.0)
## truncnorm 1.0-8 2018-02-27 [1] CRAN (R 4.1.0)
## 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)
## 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)
## VGAM 1.1-6 2022-02-14 [1] CRAN (R 4.1.2)
## WGCNA 1.71 2022-04-22 [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.7.4 2022-08-09 [1] local
## XML 3.99-0.9 2022-02-24 [1] CRAN (R 4.1.2)
## 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
##
## ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────