Stat: Sample clustering using different linkage method(phyloseq_clustering.py v5.1.0)

## Import packages
library(phyloseq)
library(scales)
library(ape)
source(file.path(params$libdir, "graphical_methods.R"))
## Alternative to source all extra function from a github repo
## source("https://raw.githubusercontent.com/mahendra-mariadassou/phyloseq-extended/master/load-extra-functions.R")

## Setting variables
  ## The Phyloseq object (format rdata)
  # phyloseq <- ""

  ## The beta diversity distance matrix file
  # distance <- ""

  ## The experiment variable that you want to analyse
  # varExp <- ""

## Create input and parameters dataframe
  # params <- data.frame( "phyloseq" = phylose, "distance" = distance, "varExp" = varExp)

## Load data
  ## the phyloseq object
load(params$phyloseq)

  ## the distance matrix file
A        <- read.table(file=params$distance, row.names=1)
dist     <- as.dist(A)

Ward D2

Complete

Single

Reproducibility token

sessioninfo::session_info()
─ Session info ───────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.1.2 (2021-11-01)
 os       Ubuntu 24.04.2 LTS
 system   x86_64, linux-gnu
 ui       X11
 language fr_FR:en
 collate  en_US.utf8
 ctype    en_US.utf8
 tz       Europe/Paris
 date     2026-01-14
 pandoc   2.19.2 @ /home/maria/miniforge3/envs/frogs@5.1.0/bin/ (via rmarkdown)

─ Packages ───────────────────────────────────────────────────────────────────
 package          * version   date (UTC) lib source
 ade4               1.7-22    2023-02-06 [1] CRAN (R 4.1.3)
 ape              * 5.7-1     2023-03-13 [1] CRAN (R 4.1.3)
 Biobase            2.54.0    2021-10-26 [1] Bioconductor
 BiocGenerics       0.40.0    2021-10-26 [1] Bioconductor
 biomformat         1.22.0    2021-10-26 [1] Bioconductor
 Biostrings         2.62.0    2021-10-26 [1] Bioconductor
 bitops             1.0-7     2021-04-24 [1] CRAN (R 4.1.3)
 bslib              0.5.0     2023-06-09 [1] CRAN (R 4.1.3)
 cachem             1.0.8     2023-05-01 [1] CRAN (R 4.1.3)
 cli                3.6.1     2023-03-23 [1] CRAN (R 4.1.3)
 cluster            2.1.4     2022-08-22 [1] CRAN (R 4.1.3)
 codetools          0.2-19    2023-02-01 [1] CRAN (R 4.1.3)
 colorspace         2.1-0     2023-01-23 [1] CRAN (R 4.1.3)
 crayon             1.5.2     2022-09-29 [1] CRAN (R 4.1.3)
 data.table         1.14.8    2023-02-17 [1] CRAN (R 4.1.3)
 digest             0.6.31    2022-12-11 [1] CRAN (R 4.1.3)
 dplyr              1.1.2     2023-04-20 [1] CRAN (R 4.1.3)
 evaluate           0.21      2023-05-05 [1] CRAN (R 4.1.3)
 fansi              1.0.4     2023-01-22 [1] CRAN (R 4.1.3)
 farver             2.1.1     2022-07-06 [1] CRAN (R 4.1.3)
 fastmap            1.1.1     2023-02-24 [1] CRAN (R 4.1.3)
 foreach            1.5.2     2022-02-02 [1] CRAN (R 4.1.3)
 generics           0.1.3     2022-07-05 [1] CRAN (R 4.1.3)
 GenomeInfoDb       1.30.1    2022-01-30 [1] Bioconductor
 GenomeInfoDbData   1.2.7     2026-01-14 [1] Bioconductor
 ggplot2          * 3.4.2     2023-04-03 [1] CRAN (R 4.1.3)
 glue               1.6.2     2022-02-24 [1] CRAN (R 4.1.3)
 gtable             0.3.3     2023-03-21 [1] CRAN (R 4.1.3)
 highr              0.10      2022-12-22 [1] CRAN (R 4.1.3)
 htmltools          0.5.5     2023-03-23 [1] CRAN (R 4.1.3)
 igraph             1.3.5     2022-09-22 [1] CRAN (R 4.1.3)
 IRanges            2.28.0    2021-10-26 [1] Bioconductor
 iterators          1.0.14    2022-02-05 [1] CRAN (R 4.1.3)
 jquerylib          0.1.4     2021-04-26 [1] CRAN (R 4.1.3)
 jsonlite           1.8.5     2023-06-05 [1] CRAN (R 4.1.3)
 knitr              1.43      2023-05-25 [1] CRAN (R 4.1.3)
 lattice            0.21-8    2023-04-05 [1] CRAN (R 4.1.3)
 lifecycle          1.0.3     2022-10-07 [1] CRAN (R 4.1.3)
 magrittr           2.0.3     2022-03-30 [1] CRAN (R 4.1.3)
 MASS               7.3-58.3  2023-03-07 [1] CRAN (R 4.1.3)
 Matrix             1.5-4.1   2023-05-18 [1] CRAN (R 4.1.3)
 mgcv               1.8-42    2023-03-02 [1] CRAN (R 4.1.3)
 multtest           2.50.0    2021-10-26 [1] Bioconductor
 munsell            0.5.0     2018-06-12 [1] CRAN (R 4.1.3)
 nlme               3.1-162   2023-01-31 [1] CRAN (R 4.1.3)
 permute            0.9-7     2022-01-27 [1] CRAN (R 4.1.3)
 phyloseq         * 1.38.0    2021-10-26 [1] Bioconductor
 pillar             1.9.0     2023-03-22 [1] CRAN (R 4.1.3)
 pkgconfig          2.0.3     2019-09-22 [1] CRAN (R 4.1.3)
 plyr               1.8.8     2022-11-11 [1] CRAN (R 4.1.3)
 R6                 2.5.1     2021-08-19 [1] CRAN (R 4.1.3)
 Rcpp               1.0.10    2023-01-22 [1] CRAN (R 4.1.3)
 RCurl              1.98-1.12 2023-03-27 [1] CRAN (R 4.1.3)
 reshape2         * 1.4.4     2020-04-09 [1] CRAN (R 4.1.3)
 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.1.1     2023-04-28 [1] CRAN (R 4.1.3)
 rmarkdown          2.22      2023-06-01 [1] CRAN (R 4.1.3)
 rstudioapi         0.14      2022-08-22 [1] CRAN (R 4.1.3)
 S4Vectors          0.32.4    2022-03-24 [1] Bioconductor
 sass               0.4.6     2023-05-03 [1] CRAN (R 4.1.3)
 scales           * 1.2.1     2022-08-20 [1] CRAN (R 4.1.3)
 sessioninfo        1.2.2     2021-12-06 [1] CRAN (R 4.1.3)
 stringi            1.7.6     2021-11-29 [1] CRAN (R 4.1.1)
 stringr            1.5.0     2022-12-02 [1] CRAN (R 4.1.3)
 survival           3.5-5     2023-03-12 [1] CRAN (R 4.1.3)
 tibble             3.2.1     2023-03-20 [1] CRAN (R 4.1.3)
 tidyselect         1.2.0     2022-10-10 [1] CRAN (R 4.1.3)
 utf8               1.2.3     2023-01-31 [1] CRAN (R 4.1.3)
 vctrs              0.6.2     2023-04-19 [1] CRAN (R 4.1.3)
 vegan              2.6-4     2022-10-11 [1] CRAN (R 4.1.3)
 withr              2.5.0     2022-03-03 [1] CRAN (R 4.1.3)
 xfun               0.39      2023-04-20 [1] CRAN (R 4.1.3)
 XVector            0.34.0    2021-10-26 [1] Bioconductor
 yaml               2.3.7     2023-01-23 [1] CRAN (R 4.1.3)
 zlibbioc           1.40.0    2021-10-26 [1] Bioconductor

 [1] /home/maria/miniforge3/envs/frogs@5.1.0/lib/R/library

──────────────────────────────────────────────────────────────────────────────
LS0tCmNvcHlyaWdodDogIkNvcHlyaWdodCAoQykgMjAyNSBJTlJBRSIKbGljZW5zZTogIkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIgpvdXRwdXQ6IAogIGh0bWxfbm90ZWJvb2s6CiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUKcGFyYW1zOgogICBwaHlsb3NlcToKICAgICAgdmFsdWU6IHgKICAgdmFyRXhwOgogICAgICB2YWx1ZTogeAogICBkaXN0YW5jZToKICAgICAgdmFsdWU6IHgKICAgbGliZGlyOgogICAgICB2YWx1ZTogeAogICB2ZXJzaW9uOgogICAgICB2YWx1ZTogeAogICB0b29sOgogICAgICB2YWx1ZTogeAotLS0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iVGEgVGhpIE5nYW4gLSBTSUdFTkFFL0dBQkkgJiBNYXJpYSBCZXJuYXJkIC0gU0lHRU5BRS9HQUJJIiAvPgo8bWV0YSBuYW1lPSJ2ZXJzaW9uIiBjb250ZW50PSI1LjEuMCIgLz4KPG1ldGEgbmFtZT0iY29weXJpZ2h0IiBjb250ZW50PSJDb3B5cmlnaHQgKEMpIDIwMjUgSU5SQUUiIC8+CgoKYGBge3IsIGVjaG89RkFMU0UsIHJlc3VsdHM9ImFzaXMifQpDVVJSRU5UX0RJUiA8LSBrbml0cjo6b3B0c19rbml0JGdldCgib3V0cHV0LmRpciIpCmlmIChpcy5udWxsKENVUlJFTlRfRElSKSkgewogIENVUlJFTlRfRElSIDwtIGdldHdkKCkKfQpUSEVNRV9ESVIgPC0gbm9ybWFsaXplUGF0aCgKICBmaWxlLnBhdGgoZGlybmFtZShDVVJSRU5UX0RJUiksICJzdGF0aWMiKSwKICB3aW5zbGFzaCA9ICIvIiwKICBtdXN0V29yayA9IEZBTFNFCikKCmpzX3RoZW1lX2ZpbGUgPC0gbm9ybWFsaXplUGF0aCgKICBmaWxlLnBhdGgoVEhFTUVfRElSLCAianMiLCAidGhlbWUuanMiKSwKICB3aW5zbGFzaCA9ICIvIiwKICBtdXN0V29yayA9IEZBTFNFCikKCmxpbmVzIDwtIHJlYWRMaW5lcyhqc190aGVtZV9maWxlLCB3YXJuID0gRkFMU0UpCgpzZXAgPC0gd2hpY2goZ3JlcGwoIl4vLyMjIiwgdHJpbXdzKGxpbmVzKSkpCgppZiAobGVuZ3RoKHNlcCkgPCAyKSB7CiAgc3RvcCgiVGFnIG5vdCBmb3VuZCBpbiB0aGVtZS5qczogJy8vIyMnIikKfQoKanNfY29kZSA8LSBsaW5lc1soc2VwWzFdICsgMSk6KHNlcFsyXSAtIDEpXQoKY2F0KCI8c2NyaXB0PlxuIikKY2F0KGpzX2NvZGUsIHNlcCA9ICJcbiIpCmNhdCgiXG48L3NjcmlwdD4iKQpgYGAKCjxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6MTVweDsgbWFyZ2luLWJvdHRvbToyMHB4OyI+CiAgPGltZyBpZD0ibG9nbyIgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsIiBhbHQ9IkZST0dTIGxvZ28iIHN0eWxlPSJoZWlnaHQ6MTgwcHg7Ij4KICA8aDEgc3R5bGU9Im1hcmdpbjowOyI+U3RhdDogU2FtcGxlIGNsdXN0ZXJpbmcgdXNpbmcgZGlmZmVyZW50IGxpbmthZ2UgbWV0aG9kPGk+PHNwYW4gY2xhc3M9InRleHQtYWNjZW50Ij4oYHIgcGFyYW1zJHRvb2xgIHZgciBwYXJhbXMkdmVyc2lvbmApPC9zcGFuPjwvaT48L2gxPgo8L2Rpdj4KCjxzY3JpcHQ+CgokKGZ1bmN0aW9uICgpIHsKICB1cGRhdGVfbG9nbyhDVVJSRU5UX1RIRU1FKTsKfSk7CgoKPC9zY3JpcHQ+Cgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgo6cm9vdCB7CgkJCS0tZnJvZ3NDb2xvcjogIzAzQTVBODsgCgkJCS0tZnJvZ3NDb2xvckhvdmVyOiBoc2woZnJvbSB2YXIoLS1mcm9nc0NvbG9yKSBoIGNhbGMocyArIDQpIGNhbGMobCAtIDMpIC8gMSk7CgkJCS0tZnJvZ3NQcmVDb2xvcjogaHNsKGZyb20gdmFyKC0tZnJvZ3NDb2xvcikgaCBzIGwgLyAwLjEpOwoJCX0KLnRleHQtYWNjZW50IHsKICBjb2xvcjogIzU5NWM1ZjsKfQoubWFpbi1jb250YWluZXJ7CgltYXgtd2lkdGg6IDc1JSAhaW1wb3J0YW50Owp9CmgxewoJY29sb3I6IHZhcigtLWZyb2dzQ29sb3IpOwp9CmgyewoJY29sb3I6IHZhcigtLWZyb2dzQ29sb3IpOwp9CmEgewoJY29sb3I6IHZhcigtLWZyb2dzQ29sb3IpOwp9CmE6aG92ZXJ7Cgljb2xvcjogdmFyKC0tZnJvZ3NDb2xvckhvdmVyKTsKfQoubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYSwgLm5hdi1waWxscyA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXN7Cgljb2xvcjogI2ZmZjsKCWJhY2tncm91bmQtY29sb3I6IHZhcigtLWZyb2dzQ29sb3IpOwoJYm9yZGVyLWNvbG9yOiAjZGVlMmU2ICNkZWUyZTYgI2ZmZjsKfQoubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYTpob3ZlciB7CgliYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mcm9nc0NvbG9ySG92ZXIpOwp9Ci5idXR0b24gewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZnJvZ3NDb2xvcikgOwogICAgYm9yZGVyICAgICAgICAgIDogbm9uZTsKICAgIGNvbG9yICAgICAgICAgICA6IHdoaXRlOwogICAgcGFkZGluZyAgICAgICAgIDogNXB4IDEwcHg7CiAgICB0ZXh0LWFsaWduICAgICAgOiBjZW50ZXI7CiAgICB0ZXh0LWRlY29yYXRpb24gOiBub25lOwogICAgZGlzcGxheSAgICAgICAgIDogaW5saW5lLWJsb2NrOwogICAgZm9udC1zaXplICAgICAgIDogMTJweDsKICAgIG1hcmdpbiAgICAgICAgICA6IDRweCAycHg7CiAgICBjdXJzb3IgICAgICAgICAgOiBwb2ludGVyOwogICAgYm9yZGVyLXJhZGl1cyAgIDogOHB4Owp9Cmg0IHsgCiAgICBkaXNwbGF5ICAgICAgOiBibG9jazsKICAgIGZvbnQtc2l6ZSAgICA6IDFlbTsKICAgIG1hcmdpbi10b3AgICA6IDEuMzNlbTsKICAgIG1hcmdpbi1ib3R0b206IDEuMzNlbTsKICAgIG1hcmdpbi1sZWZ0ICA6IDA7CiAgICBtYXJnaW4tcmlnaHQgOiAwOwogICAgZm9udC13ZWlnaHQgIDogYm9sZDsKICAgIGNvbG9yICAgICAgICA6IHZhcigtLWZyb2dzQ29sb3IpOwp9CmNvZGUucnsgLyogQ29kZSBibG9jayAqLwogIGZvbnQtc2l6ZTogMTFweDsKfQpwcmV7CiAgZm9udC1zaXplOiAxMXB4IDsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mcm9nc1ByZUNvbG9yKSAhaW1wb3J0YW50Owp9Ci5mcm9nc3ZlcnNpb257Cglwb3NpdGlvbjogYWJzb2x1dGU7CglyaWdodDogNSU7Cgljb2xvcjogdmFyKC0tZnJvZ3NDb2xvcik7Cglmb250LXN0eWxlOiBpdGFsaWM7Cglmb250LXNpemU6IHNtYWxsZXI7CglwYWRkaW5nOjhweDsKfQouZnJvZ3N2ZXJzaW9uID4gYXsKCWJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwoJZGlzcGxheTogaW5saW5lLWJsb2NrOwp9CiN0aGVtZWNob2ljZXsKICBib3JkZXItcmFkaXVzOiAwLjI1ZW07CiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjsKICBmb250LXdlaWdodDogNDAwOwogIGxpbmUtaGVpZ2h0OiAxLjU7CiAgcGFkZGluZzogLjM3NXJlbSAyLjI1cmVtIC4zNzVyZW0gLjc1cmVtOwp9Cjwvc3R5bGU+CgoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSwgZXJyb3IgPSBUUlVFKQpgYGAKCmBgYHtyIGltcG9ydCwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KCiMjIEltcG9ydCBwYWNrYWdlcwpsaWJyYXJ5KHBoeWxvc2VxKQpsaWJyYXJ5KHNjYWxlcykKbGlicmFyeShhcGUpCnNvdXJjZShmaWxlLnBhdGgocGFyYW1zJGxpYmRpciwgImdyYXBoaWNhbF9tZXRob2RzLlIiKSkKIyMgQWx0ZXJuYXRpdmUgdG8gc291cmNlIGFsbCBleHRyYSBmdW5jdGlvbiBmcm9tIGEgZ2l0aHViIHJlcG8KIyMgc291cmNlKCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbWFoZW5kcmEtbWFyaWFkYXNzb3UvcGh5bG9zZXEtZXh0ZW5kZWQvbWFzdGVyL2xvYWQtZXh0cmEtZnVuY3Rpb25zLlIiKQoKIyMgU2V0dGluZyB2YXJpYWJsZXMKICAjIyBUaGUgUGh5bG9zZXEgb2JqZWN0IChmb3JtYXQgcmRhdGEpCiAgIyBwaHlsb3NlcSA8LSAiIgoKICAjIyBUaGUgYmV0YSBkaXZlcnNpdHkgZGlzdGFuY2UgbWF0cml4IGZpbGUKICAjIGRpc3RhbmNlIDwtICIiCgogICMjIFRoZSBleHBlcmltZW50IHZhcmlhYmxlIHRoYXQgeW91IHdhbnQgdG8gYW5hbHlzZQogICMgdmFyRXhwIDwtICIiCgojIyBDcmVhdGUgaW5wdXQgYW5kIHBhcmFtZXRlcnMgZGF0YWZyYW1lCiAgIyBwYXJhbXMgPC0gZGF0YS5mcmFtZSggInBoeWxvc2VxIiA9IHBoeWxvc2UsICJkaXN0YW5jZSIgPSBkaXN0YW5jZSwgInZhckV4cCIgPSB2YXJFeHApCgojIyBMb2FkIGRhdGEKICAjIyB0aGUgcGh5bG9zZXEgb2JqZWN0CmxvYWQocGFyYW1zJHBoeWxvc2VxKQoKICAjIyB0aGUgZGlzdGFuY2UgbWF0cml4IGZpbGUKQSAgICAgICAgPC0gcmVhZC50YWJsZShmaWxlPXBhcmFtcyRkaXN0YW5jZSwgcm93Lm5hbWVzPTEpCmRpc3QgICAgIDwtIGFzLmRpc3QoQSkKYGBgCgojIHsudGFic2V0IC50YWJzZXQtZmFkZSAudGFic2V0LXBpbGxzfQoKYGBgez1odG1sfQo8ZGl2IGNsYXNzPSJyb3ciPgogIDxkaXYgc3R5bGU9ImZsb2F0OnJpZ2h0Ij4KICA8c2VsZWN0IGlkPSJ0aGVtZWNob2ljZSIKICAgICAgICAgIGNsYXNzPSJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbSIKICAgICAgICAgIHN0eWxlPSJ3aWR0aDogYXV0bzsiCiAgICAgICAgICBvbmNoYW5nZT0idXBkYXRlX3RoZW1lX1JtZCh0aGlzLnZhbHVlKSIKICAgICAgICAgIGFyaWEtbGFiZWw9IlN3aXRjaCB0aGVtZSI+CiAgICA8b3B0aW9uIHNlbGVjdGVkIGRpc2FibGVkIHZhbHVlPSIiPlN3aXRjaCB0aGVtZTwvb3B0aW9uPgogICAgPG9wdGlvbiBkaXNhYmxlZCB2YWx1ZT0iRGVmYXVsdFRoZW1lIj5EZWZhdWx0PC9vcHRpb24+CiAgICA8b3B0aW9uIHZhbHVlPSJDb3JhbFRoZW1lIj5Db3JhbDwvb3B0aW9uPgogICAgPG9wdGlvbiB2YWx1ZT0iR29sZFRoZW1lIj5Hb2xkPC9vcHRpb24+CiAgICA8b3B0aW9uIHZhbHVlPSJTdGVlbFRoZW1lIj5TdGVlbDwvb3B0aW9uPgogIDwvc2VsZWN0PgogIDwvZGl2Pgo8L2Rpdj4KYGBgCgojIyBXYXJkIEQyCmBgYHtyIHdhcmQsIGZpZy53aWR0aD0xMCwgZmlnLmhlaWdodD03LCBlY2hvPUZBTFNFfQpwbG90X2NsdXN0KGRhdGEsIGRpc3QsIG1ldGhvZCA9ICJ3YXJkLkQyIiwgY29sb3IgPSBwYXJhbXMkdmFyRXhwKQpgYGAKCiMjIENvbXBsZXRlCmBgYHtyIGNvbXBsZXRlLCBmaWcud2lkdGg9MTAsIGZpZy5oZWlnaHQ9NywgZWNobz1GQUxTRX0KcGxvdF9jbHVzdChkYXRhLCBkaXN0LCBtZXRob2QgPSAiY29tcGxldGUiLCBjb2xvciA9IHBhcmFtcyR2YXJFeHApCmBgYAoKIyMgU2luZ2xlCmBgYHtyIHNpbmdsZSwgZmlnLndpZHRoPTEwLCBmaWcuaGVpZ2h0PTcsIGVjaG89RkFMU0V9CnBsb3RfY2x1c3QoZGF0YSwgZGlzdCwgbWV0aG9kID0gInNpbmdsZSIsIGNvbG9yID0gcGFyYW1zJHZhckV4cCkKYGBgCgojIyBSZXByb2R1Y2liaWxpdHkgdG9rZW4KCmBgYHtyIHNlc3Npb24sIGVjaG89VFJVRSwgZXZhbD1UUlVFfQpzZXNzaW9uaW5mbzo6c2Vzc2lvbl9pbmZvKCkKYGBg