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