Chapter 8 Differential Analysis

Loading packages

library(XMAS2)
library(dplyr)
library(tibble)
library(phyloseq)
library(ggplot2)
library(ggpubr)

There are more than 10 approaches to perform differential analysis. Here, we choose two of them and recommend users going to Chapter 10 to see more details.

8.1 Filtering & Trimming

We suggest that filtering taxa with low abundance (the summarized value under cutoff: 1e-4) and trimming taxa with low prevalence (default: 0.1).

8.1.1 Filtering the low relative abundance or unclassified taxa by the threshold (total counts < 1e-4)

  • filter by sum relative abundance
metaphlan2_ps_species_filter <- run_filter(ps = metaphlan2_ps_LOD_species_remove_BRS, 
                                           cutoff = 1e-4, 
                                           unclass = TRUE)
metaphlan2_ps_species_filter 
## phyloseq-class experiment-level object
## otu_table()   OTU Table:         [ 171 taxa and 22 samples ]
## sample_data() Sample Data:       [ 22 samples by 2 sample variables ]
## tax_table()   Taxonomy Table:    [ 171 taxa by 7 taxonomic ranks ]

Species from taxonomic profiles were retained for further analysis if their mean relative abundance exceeded 0.005 (0.5%) across the dataset with a minimum abundance of 0.05 (5%) in at least one sample and non-zero abundance in at least 60% of samples.

  1. Mean relative abundance: 0.005;

  2. Minimum relative abundance: 0.05;

Here, we use 0.01 (the 1e-4 regarded as 0.01 compared to the Referece because Metaphlan2 data had been divided 100).

metaphlan2_ps_species_filter2 <- run_filter2(ps = metaphlan2_ps_LOD_species_remove_BRS, 
                                             cutoff_mean = 1e-04, 
                                             cutoff_one = 1e-03, 
                                             unclass = TRUE)
metaphlan2_ps_species_filter2
## phyloseq-class experiment-level object
## otu_table()   OTU Table:         [ 144 taxa and 22 samples ]
## sample_data() Sample Data:       [ 22 samples by 2 sample variables ]
## tax_table()   Taxonomy Table:    [ 144 taxa by 7 taxonomic ranks ]

8.1.2 Trimming the taxa with low occurrence less than threshold

metaphlan2_ps_species_filter_trim <- run_trim(object = metaphlan2_ps_species_filter, 
                                              cutoff = 0.1, 
                                              trim = "feature")
metaphlan2_ps_species_filter_trim
## phyloseq-class experiment-level object
## otu_table()   OTU Table:         [ 149 taxa and 22 samples ]
## sample_data() Sample Data:       [ 22 samples by 2 sample variables ]
## tax_table()   Taxonomy Table:    [ 149 taxa by 7 taxonomic ranks ]

8.2 Liner discriminant analysis (LDA) effect size (LEfSe)

  • Calculation
metaphlan2_ps_lefse <- run_lefse(
                          ps = metaphlan2_ps_species_filter_trim,
                          group = "Group",
                          group_names = c("AA", "BB"),
                          norm = "CPM",
                          Lda = 2)
head(metaphlan2_ps_lefse)
##                            TaxaID         Block Enrichment LDA_Score EffectSize Log2FoldChange (Median)\nAA_vs_BB
## 1  s__Adlercreutzia_equolifaciens 7_AA vs 15_BB         BB  2.893801   1.738400                                NA
## 2 s__Bacteroides_thetaiotaomicron 7_AA vs 15_BB         AA -4.411141   4.181157                          5.420162
## 3 s__Bifidobacterium_adolescentis 7_AA vs 15_BB         BB  4.480463   4.091377                                NA
## 4       s__Bifidobacterium_longum 7_AA vs 15_BB         BB  4.484013   2.565536                         -4.652510
## 5      s__Collinsella_aerofaciens 7_AA vs 15_BB         BB  3.833332   3.209757                                NA
## 6            s__Dorea_longicatena 7_AA vs 15_BB         BB  3.677089   3.354326                                NA
##   Median Abundance\n(All) Median Abundance\nAA Median Abundance\nBB Log2FoldChange (Mean)\nAA_vs_BB Mean Abundance\n(All)
## 1                  0.0000                0.000                0.000                              NA              906.9516
## 2               2878.5342            46622.430             1088.838                        3.197793            24149.8300
## 3                  0.0000                0.000             3847.794                              NA            36283.4237
## 4              11051.4886             1203.026            30256.593                       -3.715431            41286.5969
## 5               7740.2322                0.000            13224.549                       -3.239567            12751.7136
## 6                828.3582                0.000             8752.040                       -7.351468             7123.5161
##   Mean Abundance\nAA Mean Abundance\nBB Occurrence (100%)\n(All) Occurrence (100%)\nAA Occurrence (100%)\nBB
## 1            0.00000           1330.196                    31.82                  0.00                 46.67
## 2        61529.78923           6705.849                    86.36                100.00                 80.00
## 3            0.00000          53215.688                    40.91                  0.00                 60.00
## 4         4451.67148          58476.229                    81.82                 71.43                 86.67
## 5         1886.89926          17821.960                    63.64                 42.86                 73.33
## 6           63.79319          10418.053                    63.64                 42.86                 73.33
##         Odds Ratio (95% CI)
## 1                      <NA>
## 2          0.062 (-5.4;5.5)
## 3                      <NA>
## 4             260 (270;250)
## 5                30 (37;23)
## 6 1.2e+14 (1.2e+14;1.2e+14)
  • Visualization
# # don't run this code when you do lefse in reality
# metaphlan2_ps_lefse$LDA_Score <- metaphlan2_ps_lefse$LDA_Score * 1000
plot_lefse(
    da_res = metaphlan2_ps_lefse,
    x_index = "LDA_Score",
    x_index_cutoff = 1,
    group_color = c("green", "red"))
Lefse analysis

Figure 8.1: Lefse analysis

8.3 Wilcoxon Rank-Sum test

  • Calculation
metaphlan2_ps_wilcox <- run_wilcox(
                          ps = metaphlan2_ps_species_filter_trim,
                          group = "Group",
                          group_names = c("AA", "BB"))

head(metaphlan2_ps_wilcox)
##                           TaxaID         Block Enrichment EffectSize Statistic     Pvalue AdjustedPvalue
## 1  s__Acidaminococcus_fermentans 7_AA vs 15_BB  Nonsignif          0      56.0 0.75333110      1.0000000
## 2   s__Acidaminococcus_intestini 7_AA vs 15_BB  Nonsignif          0      53.0 1.00000000      1.0000000
## 3 s__Adlercreutzia_equolifaciens 7_AA vs 15_BB  Nonsignif          0      77.0 0.04076802      0.7081309
## 4        s__Alistipes_finegoldii 7_AA vs 15_BB  Nonsignif          0      50.0 0.87432279      1.0000000
## 5      s__Alistipes_indistinctus 7_AA vs 15_BB  Nonsignif          0      44.0 0.47245703      0.9412659
## 6       s__Alistipes_onderdonkii 7_AA vs 15_BB  Nonsignif          0      47.5 0.72903449      1.0000000
##   Log2FoldChange (Median)\nAA_vs_BB Median Abundance\n(All) Median Abundance\nAA Median Abundance\nBB
## 1                                NA                       0            0.0000000                    0
## 2                                NA                       0            0.0000000                    0
## 3                                NA                       0            0.0000000                    0
## 4                                NA                       0           -1.0437656                    0
## 5                                NA                       0            0.0000000                    0
## 6                                NA                       0           -0.8654574                    0
##   Log2FoldChange (Rank)\nAA_vs_BB Mean Rank Abundance\nAA Mean Rank Abundance\nBB Occurrence (100%)\n(All) Occurrence (100%)\nAA
## 1                      0.09054689                   12.00                   11.27                    18.18                 14.29
## 2                      0.01252347                   11.57                   11.47                    13.64                 14.29
## 3                      0.60384051                   15.00                    9.87                    31.82                  0.00
## 4                     -0.06705533                   11.14                   11.67                    40.91                 57.14
## 5                     -0.23018269                   10.29                   12.07                    27.27                 42.86
## 6                     -0.13275521                   10.79                   11.83                    45.45                 57.14
##   Occurrence (100%)\nBB Odds Ratio (95% CI)
## 1                 20.00        1 (1.1;0.96)
## 2                 13.33   0.69 (-0.038;1.4)
## 3                 46.67                <NA>
## 4                 33.33       0.25 (-2.5;3)
## 5                 20.00        0.3 (-2;2.6)
## 6                 40.00    0.64 (-0.23;1.5)
  • Volcano
plot_volcano(
    da_res = metaphlan2_ps_wilcox,
    group_names = c("AA", "BB"),
    x_index = "Log2FoldChange (Rank)\nAA_vs_BB",
    x_index_cutoff = 0.5,
    y_index = "Pvalue",
    y_index_cutoff = 0.05,
    group_color = c("red", "grey", "blue"),
    topN = 4,
    taxa_name = "s__Megamonas_rupellensis")
Wilcoxon Rank-Sum test

Figure 8.2: Wilcoxon Rank-Sum test

8.4 Dominant taxa

Display the significant taxa with selection using boxplot.

plot_topN_boxplot(
    ps = metaphlan2_ps_species_filter_trim,
    da_res = metaphlan2_ps_wilcox,
    x_index = "Log2FoldChange (Rank)\nAA_vs_BB",
    x_index_cutoff = 0.5,
    y_index = "Pvalue",
    y_index_cutoff = 0.05,
    topN = 4,
    group = "Group")
Dominant Taxa

Figure 8.3: Dominant Taxa

8.5 Multiple differential analysis by one function

Here, we provide the run_multiple_da for obtaining the results list from multiple differential analysis methods.

multiple_res <- run_multiple_da(
                   ps = metaphlan2_ps_species_filter_trim,
                   group = "Group",
                   group_names = c("AA", "BB"),
                   da_method = c("wilcox", "limma_voom", "ttest"))

names(multiple_res)
## [1] "wilcox"     "limma_voom" "ttest"
  • plot results
plot_multiple_DA(
      Multip_DA_res = multiple_res,
      x_index_list = c("Log2FoldChange (Rank)\nAA_vs_BB", 
                       "logFC", 
                       "Log2FoldChange (Mean)\nAA_vs_BB"),
      x_index_cutoff = 0,  
      y_index = "Pvalue",
      y_index_cutoff = 0.05,
      cellwidth = 35,
      cellheight = 10,
      fontsize_number = 15)
Multiple DA results

Figure 8.4: Multiple DA results

8.6 Systematic Information

devtools::session_info()
## ─ 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     2023-04-12
##  rstudio  2022.07.2+576 Spotted Wakerobin (desktop)
##  pandoc   2.19.2 @ /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)
##  annotate               1.72.0   2021-10-26 [1] Bioconductor
##  AnnotationDbi          1.60.2   2023-03-10 [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.29     2022-09-12 [1] CRAN (R 4.1.2)
##  brio                   1.1.3    2021-11-30 [1] CRAN (R 4.1.0)
##  broom                  1.0.1    2022-08-29 [1] CRAN (R 4.1.2)
##  bslib                  0.4.0    2022-07-16 [1] CRAN (R 4.1.2)
##  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)
##  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.4.1    2022-09-23 [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)
##  corpcor                1.6.10   2021-09-16 [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.6   2022-11-16 [1] CRAN (R 4.1.2)
##  DBI                    1.1.2    2021-12-20 [1] CRAN (R 4.1.0)
##  DelayedArray           0.20.0   2021-10-26 [1] Bioconductor
##  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.30   2022-10-18 [1] CRAN (R 4.1.2)
##  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.10   2022-09-01 [1] CRAN (R 4.1.2)
##  DT                     0.21     2022-02-26 [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.17     2022-10-07 [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)
##  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
##  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.4.0    2022-11-04 [1] CRAN (R 4.1.2)
##  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.3    2022-07-18 [1] CRAN (R 4.1.2)
##  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
##  insight                0.17.0   2022-03-29 [1] CRAN (R 4.1.2)
##  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.3    2022-10-21 [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.40     2022-08-24 [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.3    2022-10-07 [1] CRAN (R 4.1.2)
##  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.3    2022-03-30 [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)
##  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)
##  mycor                  0.1.1    2018-04-10 [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)
##  ppcor                  1.1      2015-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)
##  ps                     1.6.0    2021-02-28 [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.10   2023-01-22 [1] CRAN (R 4.1.2)
##  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)
##  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.6    2022-09-24 [1] CRAN (R 4.1.2)
##  rmarkdown              2.17     2022-10-07 [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.2    2022-07-16 [1] CRAN (R 4.1.2)
##  scales                 1.2.1    2022-08-20 [1] CRAN (R 4.1.2)
##  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)
##  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)
##  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.8    2022-07-11 [1] CRAN (R 4.1.2)
##  stringr                1.4.1    2022-08-20 [1] CRAN (R 4.1.2)
##  SummarizedExperiment   1.24.0   2021-10-26 [1] Bioconductor
##  survival               3.4-0    2022-08-09 [1] CRAN (R 4.1.2)
##  systemfonts            1.0.4    2022-02-11 [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.8    2022-07-22 [1] CRAN (R 4.1.2)
##  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)
##  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.5.1    2022-11-16 [1] CRAN (R 4.1.2)
##  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.34     2022-10-18 [1] CRAN (R 4.1.2)
##  XMAS2                * 2.1.8.7  2023-01-06 [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.6    2022-10-18 [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
## 
## ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

References

Thingholm, Louise B, Malte C Rühlemann, Manja Koch, Brie Fuqua, Guido Laucke, Ruwen Boehm, Corinna Bang, et al. 2019. “Obese Individuals with and Without Type 2 Diabetes Show Different Gut Microbial Functional Capacity and Composition.” Cell Host & Microbe 26 (2): 252–64.