MaAsLin2 is the next generation of MaAsLin (Microbiome Multivariable Association with Linear Models).
MaAsLin2 is comprehensive R package for efficiently determining multivariable association between clinical metadata and microbial meta-omics features. MaAsLin2 relies on general linear models to accommodate most modern epidemiological study designs, including cross-sectional and longitudinal, along with a variety of filtering, normalization, and transform methods.
If you use the MaAsLin2 software, please cite our manuscript:
Mallick H, Rahnavard A, McIver LJ, Ma S, Zhang Y, Nguyen LH, Tickle TL, Weingart G, Ren B, Schwager EH, Chatterjee S, Thompson KN, Wilkinson JE, Subramanian A, Lu Y, Waldron L, Paulson JN, Franzosa EA, Bravo HC, Huttenhower C (2021). Multivariable Association Discovery in Population-scale Meta-omics Studies. PLoS Computational Biology, 17(11):e1009442.
Check out the MaAsLin 2 tutorial for an overview of analysis options.
If you have questions, please direct it to :
MaAsLin2
Forum
Google
Groups (Read only)
MaAsLin2 finds associations between microbiome multi-omics features and complex metadata in population-scale epidemiological studies. The software includes multiple analysis methods (with support for multiple covariates and repeated measures), filtering, normalization, and transform options to customize analysis for your specific study.
MaAsLin2 is an R package that can be run on the command line or as an R function.
MaAsLin2 can be run from the command line or as an R function. If only running from the command line, you do not need to install the MaAsLin2 package but you will need to install the MaAsLin2 dependencies.
$ tar xzvf maaslin2.tar.gz$ R -q -e "install.packages(c('lmerTest','pbapply','car','dplyr','vegan','chemometrics','ggplot2','pheatmap','hash','logging','data.table','glmmTMB','MASS','cplm','pscl'), repos='http://cran.r-project.org')"$ R CMD INSTALL maaslin2Install Bioconductor and then install Maaslin2
if(!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("Maaslin2")
MaAsLin2 can be run from the command line or as an R function. Both methods require the same arguments, have the same options, and use the same default settings.
MaAsLin2 requires two input files.
The data file can contain samples not included in the metadata file (along with the reverse case). For both cases, those samples not included in both files will be removed from the analysis. Also the samples do not need to be in the same order in the two files.
NOTE: If running MaAsLin2 as a function, the data and metadata inputs
can be of type data.frame instead of a path to a file.
MaAsLin2 generates two types of output files: data and visualization.
all_results.tsv
N column is the total number of data points.N.not.zero column is the total of non-zero data
points.p.adjust with the
correction method.significant_results.tsv
models.rds
residuals.rds
fitted.rds
ranef.rds
maaslin2.log
heatmap.pdf
[a-z/0-9]+.pdf
Example input files can be found in the inst/extdata
folder of the MaAsLin2 source. The files provided were generated from
the HMP2 data which can be downloaded from https://ibdmdb.org/ .
HMP2_taxonomy.tsv: is a tab-demilited file with species
as columns and samples as rows. It is a subset of the taxonomy file so
it just includes the species abundances for all samples.
HMP2_metadata.tsv: is a tab-delimited file with samples
as rows and metadata as columns. It is a subset of the metadata file so
that it just includes some of the fields.
$ Maaslin2.R --fixed_effects="diagnosis,dysbiosisnonIBD,dysbiosisUC,dysbiosisCD,antibiotics,age" --random_effects="site,subject" --standardize=FALSE inst/extdata/HMP2_taxonomy.tsv inst/extdata/HMP2_metadata.tsv demo_output
HMP2_taxonomy.tsv is the path to your data (or
features) fileHMP2_metadata.tsv is the path to your metadata
filedemo_output is the path to the folder to write the
outputlibrary(Maaslin2)
input_data <- system.file(
'extdata','HMP2_taxonomy.tsv', package="Maaslin2")
input_metadata <-system.file(
'extdata','HMP2_metadata.tsv', package="Maaslin2")
fit_data <- Maaslin2(
input_data, input_metadata, 'demo_output',
fixed_effects = c('diagnosis', 'dysbiosisnonIBD','dysbiosisUC','dysbiosisCD', 'antibiotics', 'age'),
random_effects = c('site', 'subject'),
reference = "diagnosis,nonIBD",
standardize = FALSE)
## [1] "Creating output folder"
## [1] "Creating output feature tables folder"
## [1] "Creating output fits folder"
## [1] "Creating output figures folder"
## 2026-05-18 18:32:03.39543 INFO::Writing function arguments to log file
## 2026-05-18 18:32:03.406671 INFO::Verifying options selected are valid
## 2026-05-18 18:32:03.423592 INFO::Determining format of input files
## 2026-05-18 18:32:03.424341 INFO::Input format is data samples as rows and metadata samples as rows
## 2026-05-18 18:32:03.427344 INFO::Formula for random effects: expr ~ (1 | site) + (1 | subject)
## 2026-05-18 18:32:03.428154 INFO::Formula for fixed effects: expr ~ diagnosis + dysbiosisnonIBD + dysbiosisUC + dysbiosisCD + antibiotics + age
## 2026-05-18 18:32:03.429171 INFO::Filter data based on min abundance and min prevalence
## 2026-05-18 18:32:03.429569 INFO::Total samples in data: 1595
## 2026-05-18 18:32:03.429909 INFO::Min samples required with min abundance for a feature not to be filtered: 159.500000
## 2026-05-18 18:32:03.431726 INFO::Total filtered features: 0
## 2026-05-18 18:32:03.43214 INFO::Filtered feature names from abundance and prevalence filtering:
## 2026-05-18 18:32:03.43519 INFO::Total filtered features with variance filtering: 0
## 2026-05-18 18:32:03.43562 INFO::Filtered feature names from variance filtering:
## 2026-05-18 18:32:03.435965 INFO::Running selected normalization method: TSS
## 2026-05-18 18:32:03.855376 INFO::Bypass z-score application to metadata
## 2026-05-18 18:32:03.856281 INFO::Running selected transform method: LOG
## 2026-05-18 18:32:03.862747 INFO::Running selected analysis method: LM
## 2026-05-18 18:32:04.002369 INFO::Fitting model to feature number 1, Bifidobacterium.adolescentis
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:04.285912 INFO::Fitting model to feature number 2, Bifidobacterium.bifidum
## 2026-05-18 18:32:04.446721 INFO::Fitting model to feature number 3, Bifidobacterium.longum
## 2026-05-18 18:32:04.50309 INFO::Fitting model to feature number 4, Bifidobacterium.pseudocatenulatum
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:04.559667 INFO::Fitting model to feature number 5, Collinsella.aerofaciens
## 2026-05-18 18:32:04.622644 INFO::Fitting model to feature number 6, Bacteroides.caccae
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:04.674546 INFO::Fitting model to feature number 7, Bacteroides.cellulosilyticus
## 2026-05-18 18:32:04.727621 INFO::Fitting model to feature number 8, Bacteroides.dorei
## 2026-05-18 18:32:04.785745 INFO::Fitting model to feature number 9, Bacteroides.eggerthii
## 2026-05-18 18:32:04.840059 INFO::Fitting model to feature number 10, Bacteroides.faecis
## 2026-05-18 18:32:04.896267 INFO::Fitting model to feature number 11, Bacteroides.finegoldii
## boundary (singular) fit: see help('isSingular')
## Feature Bacteroides.finegoldii : simpleWarning: Model failed to converge with 1 negative eigenvalue: -4.3e+01
## 2026-05-18 18:32:04.938249 WARNING::Fitting problem for feature 11 a warning was issued
## boundary (singular) fit: see help('isSingular')
## Warning: Model failed to converge with 1 negative eigenvalue: -4.3e+01
## 2026-05-18 18:32:04.997182 INFO::Fitting model to feature number 12, Bacteroides.fragilis
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:05.050946 INFO::Fitting model to feature number 13, Bacteroides.intestinalis
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:05.105567 INFO::Fitting model to feature number 14, Bacteroides.massiliensis
## 2026-05-18 18:32:05.166711 INFO::Fitting model to feature number 15, Bacteroides.ovatus
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:05.21648 INFO::Fitting model to feature number 16, Bacteroides.salyersiae
## 2026-05-18 18:32:05.269432 INFO::Fitting model to feature number 17, Bacteroides.stercoris
## 2026-05-18 18:32:05.325626 INFO::Fitting model to feature number 18, Bacteroides.thetaiotaomicron
## boundary (singular) fit: see help('isSingular')
## Feature Bacteroides.thetaiotaomicron : simpleWarning: Model failed to converge with 1 negative eigenvalue: -3.2e+01
## 2026-05-18 18:32:05.368905 WARNING::Fitting problem for feature 18 a warning was issued
## boundary (singular) fit: see help('isSingular')
## Warning: Model failed to converge with 1 negative eigenvalue: -3.2e+01
## 2026-05-18 18:32:05.418525 INFO::Fitting model to feature number 19, Bacteroides.uniformis
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:05.471105 INFO::Fitting model to feature number 20, Bacteroides.vulgatus
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:05.522371 INFO::Fitting model to feature number 21, Bacteroides.xylanisolvens
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:05.572213 INFO::Fitting model to feature number 22, Bacteroidales.bacterium.ph8
## 2026-05-18 18:32:05.627393 INFO::Fitting model to feature number 23, Barnesiella.intestinihominis
## 2026-05-18 18:32:05.681618 INFO::Fitting model to feature number 24, Coprobacter.fastidiosus
## 2026-05-18 18:32:05.739564 INFO::Fitting model to feature number 25, Odoribacter.splanchnicus
## 2026-05-18 18:32:05.799874 INFO::Fitting model to feature number 26, Parabacteroides.distasonis
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:05.852232 INFO::Fitting model to feature number 27, Parabacteroides.goldsteinii
## 2026-05-18 18:32:05.911749 INFO::Fitting model to feature number 28, Parabacteroides.merdae
## 2026-05-18 18:32:05.96878 INFO::Fitting model to feature number 29, Parabacteroides.unclassified
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:06.020959 INFO::Fitting model to feature number 30, Paraprevotella.clara
## 2026-05-18 18:32:06.083012 INFO::Fitting model to feature number 31, Paraprevotella.unclassified
## 2026-05-18 18:32:06.140733 INFO::Fitting model to feature number 32, Prevotella.copri
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:06.195031 INFO::Fitting model to feature number 33, Alistipes.finegoldii
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:06.250249 INFO::Fitting model to feature number 34, Alistipes.onderdonkii
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:06.304504 INFO::Fitting model to feature number 35, Alistipes.putredinis
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:06.361692 INFO::Fitting model to feature number 36, Alistipes.shahii
## 2026-05-18 18:32:06.415528 INFO::Fitting model to feature number 37, Alistipes.unclassified
## 2026-05-18 18:32:06.467526 INFO::Fitting model to feature number 38, Streptococcus.salivarius
## 2026-05-18 18:32:06.526725 INFO::Fitting model to feature number 39, Clostridium.bolteae
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:06.582314 INFO::Fitting model to feature number 40, Clostridium.citroniae
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:06.641194 INFO::Fitting model to feature number 41, Clostridium.clostridioforme
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:06.69384 INFO::Fitting model to feature number 42, Clostridium.hathewayi
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:06.751802 INFO::Fitting model to feature number 43, Clostridium.leptum
## 2026-05-18 18:32:06.828221 INFO::Fitting model to feature number 44, Clostridium.nexile
## 2026-05-18 18:32:06.886557 INFO::Fitting model to feature number 45, Clostridium.symbiosum
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:06.940574 INFO::Fitting model to feature number 46, Flavonifractor.plautii
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:07.000536 INFO::Fitting model to feature number 47, Eubacterium.eligens
## 2026-05-18 18:32:07.057244 INFO::Fitting model to feature number 48, Eubacterium.hallii
## 2026-05-18 18:32:07.118948 INFO::Fitting model to feature number 49, Eubacterium.rectale
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:07.179556 INFO::Fitting model to feature number 50, Eubacterium.siraeum
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:07.235595 INFO::Fitting model to feature number 51, Eubacterium.sp.3.1.31
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:07.289389 INFO::Fitting model to feature number 52, Eubacterium.ventriosum
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:07.337808 INFO::Fitting model to feature number 53, Ruminococcus.gnavus
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:07.392537 INFO::Fitting model to feature number 54, Ruminococcus.obeum
## 2026-05-18 18:32:07.456192 INFO::Fitting model to feature number 55, Ruminococcus.torques
## 2026-05-18 18:32:07.51303 INFO::Fitting model to feature number 56, Coprococcus.comes
## 2026-05-18 18:32:07.572275 INFO::Fitting model to feature number 57, Dorea.longicatena
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:07.743502 INFO::Fitting model to feature number 58, Lachnospiraceae.bacterium.1.1.57FAA
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:07.80015 INFO::Fitting model to feature number 59, Lachnospiraceae.bacterium.3.1.46FAA
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:07.855256 INFO::Fitting model to feature number 60, Roseburia.hominis
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:07.911715 INFO::Fitting model to feature number 61, Roseburia.intestinalis
## 2026-05-18 18:32:07.969268 INFO::Fitting model to feature number 62, Roseburia.inulinivorans
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:08.027098 INFO::Fitting model to feature number 63, Roseburia.unclassified
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:08.082609 INFO::Fitting model to feature number 64, Oscillibacter.unclassified
## 2026-05-18 18:32:08.143761 INFO::Fitting model to feature number 65, Peptostreptococcaceae.noname.unclassified
## 2026-05-18 18:32:08.199813 INFO::Fitting model to feature number 66, Faecalibacterium.prausnitzii
## 2026-05-18 18:32:08.256946 INFO::Fitting model to feature number 67, Ruminococcus.bromii
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:08.312905 INFO::Fitting model to feature number 68, Ruminococcus.callidus
## 2026-05-18 18:32:08.368657 INFO::Fitting model to feature number 69, Ruminococcus.lactaris
## 2026-05-18 18:32:08.424574 INFO::Fitting model to feature number 70, Subdoligranulum.unclassified
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:08.479336 INFO::Fitting model to feature number 71, Coprobacillus.unclassified
## 2026-05-18 18:32:08.535741 INFO::Fitting model to feature number 72, Acidaminococcus.unclassified
## 2026-05-18 18:32:08.592786 INFO::Fitting model to feature number 73, Dialister.invisus
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:08.645351 INFO::Fitting model to feature number 74, Veillonella.atypica
## 2026-05-18 18:32:08.699608 INFO::Fitting model to feature number 75, Veillonella.dispar
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:08.754517 INFO::Fitting model to feature number 76, Veillonella.parvula
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:08.805054 INFO::Fitting model to feature number 77, Veillonella.unclassified
## 2026-05-18 18:32:08.856541 INFO::Fitting model to feature number 78, Burkholderiales.bacterium.1.1.47
## 2026-05-18 18:32:08.911006 INFO::Fitting model to feature number 79, Parasutterella.excrementihominis
## 2026-05-18 18:32:08.970742 INFO::Fitting model to feature number 80, Sutterella.wadsworthensis
## 2026-05-18 18:32:09.026728 INFO::Fitting model to feature number 81, Bilophila.unclassified
## 2026-05-18 18:32:09.08496 INFO::Fitting model to feature number 82, Escherichia.coli
## 2026-05-18 18:32:09.139876 INFO::Fitting model to feature number 83, Escherichia.unclassified
## 2026-05-18 18:32:09.191996 INFO::Fitting model to feature number 84, Klebsiella.pneumoniae
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:09.247136 INFO::Fitting model to feature number 85, Haemophilus.parainfluenzae
## boundary (singular) fit: see help('isSingular')
## 2026-05-18 18:32:09.30054 INFO::Fitting model to feature number 86, Akkermansia.muciniphila
## 2026-05-18 18:32:09.355319 INFO::Fitting model to feature number 87, C2likevirus.unclassified
## 2026-05-18 18:32:09.428413 INFO::Counting total values for each feature
## 2026-05-18 18:32:09.43961 INFO::Writing filtered data to file demo_output/features/filtered_data.tsv
## 2026-05-18 18:32:09.488274 INFO::Writing filtered, normalized data to file demo_output/features/filtered_data_norm.tsv
## 2026-05-18 18:32:09.545638 INFO::Writing filtered, normalized, transformed data to file demo_output/features/filtered_data_norm_transformed.tsv
## 2026-05-18 18:32:09.624317 INFO::Writing residuals to file demo_output/fits/residuals.rds
## 2026-05-18 18:32:09.653954 INFO::Writing fitted values to file demo_output/fits/fitted.rds
## 2026-05-18 18:32:09.670157 INFO::Writing extracted random effects to file demo_output/fits/ranef.rds
## 2026-05-18 18:32:09.673563 INFO::Writing all results to file (ordered by increasing q-values): demo_output/all_results.tsv
## 2026-05-18 18:32:09.676654 INFO::Writing the significant results (those which are less than or equal to the threshold of 0.250000 ) to file (ordered by increasing q-values): demo_output/significant_results.tsv
## 2026-05-18 18:32:09.67814 INFO::Writing heatmap of significant results to file: demo_output/heatmap.pdf
## 2026-05-18 18:32:09.736371 INFO::Writing association plots (one for each significant association) to output folder: demo_output
## 2026-05-18 18:32:09.739188 INFO::Plotting associations from most to least significant, grouped by metadata
## 2026-05-18 18:32:09.739754 INFO::Plotting data for metadata number 1, dysbiosisCD
## 2026-05-18 18:32:09.740536 INFO::Creating boxplot for categorical data, dysbiosisCD vs Faecalibacterium.prausnitzii
## 2026-05-18 18:32:09.908588 INFO::Creating boxplot for categorical data, dysbiosisCD vs Subdoligranulum.unclassified
## 2026-05-18 18:32:10.052202 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.uniformis
## 2026-05-18 18:32:10.185874 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.rectale
## 2026-05-18 18:32:10.316393 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.vulgatus
## 2026-05-18 18:32:10.449807 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.ovatus
## 2026-05-18 18:32:10.582084 INFO::Creating boxplot for categorical data, dysbiosisCD vs Ruminococcus.obeum
## 2026-05-18 18:32:10.71689 INFO::Creating boxplot for categorical data, dysbiosisCD vs Oscillibacter.unclassified
## 2026-05-18 18:32:10.850752 INFO::Creating boxplot for categorical data, dysbiosisCD vs Roseburia.inulinivorans
## 2026-05-18 18:32:10.976471 INFO::Creating boxplot for categorical data, dysbiosisCD vs Roseburia.hominis
## 2026-05-18 18:32:11.10495 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.thetaiotaomicron
## 2026-05-18 18:32:11.349985 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.putredinis
## 2026-05-18 18:32:11.613577 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parabacteroides.distasonis
## 2026-05-18 18:32:11.902932 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.dorei
## 2026-05-18 18:32:12.13309 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.shahii
## 2026-05-18 18:32:12.395456 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.xylanisolvens
## 2026-05-18 18:32:12.525825 INFO::Creating boxplot for categorical data, dysbiosisCD vs Clostridium.leptum
## 2026-05-18 18:32:12.696562 INFO::Creating boxplot for categorical data, dysbiosisCD vs Dorea.longicatena
## 2026-05-18 18:32:12.831472 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.caccae
## 2026-05-18 18:32:12.964333 INFO::Creating boxplot for categorical data, dysbiosisCD vs Lachnospiraceae.bacterium.3.1.46FAA
## 2026-05-18 18:32:13.100809 INFO::Creating boxplot for categorical data, dysbiosisCD vs Escherichia.coli
## 2026-05-18 18:32:13.239405 INFO::Creating boxplot for categorical data, dysbiosisCD vs Klebsiella.pneumoniae
## 2026-05-18 18:32:13.374079 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bilophila.unclassified
## 2026-05-18 18:32:13.503455 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.finegoldii
## 2026-05-18 18:32:13.639339 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.eligens
## 2026-05-18 18:32:13.779529 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.stercoris
## 2026-05-18 18:32:13.916324 INFO::Creating boxplot for categorical data, dysbiosisCD vs Coprococcus.comes
## 2026-05-18 18:32:14.049783 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.fragilis
## 2026-05-18 18:32:14.184997 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.finegoldii
## 2026-05-18 18:32:14.319582 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.hallii
## 2026-05-18 18:32:14.448572 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.faecis
## 2026-05-18 18:32:14.581978 INFO::Creating boxplot for categorical data, dysbiosisCD vs Paraprevotella.clara
## 2026-05-18 18:32:14.71299 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.siraeum
## 2026-05-18 18:32:14.84248 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parabacteroides.merdae
## 2026-05-18 18:32:14.975133 INFO::Creating boxplot for categorical data, dysbiosisCD vs Paraprevotella.unclassified
## 2026-05-18 18:32:15.109513 INFO::Creating boxplot for categorical data, dysbiosisCD vs Collinsella.aerofaciens
## 2026-05-18 18:32:15.236408 INFO::Creating boxplot for categorical data, dysbiosisCD vs Odoribacter.splanchnicus
## 2026-05-18 18:32:15.368401 INFO::Creating boxplot for categorical data, dysbiosisCD vs Clostridium.clostridioforme
## 2026-05-18 18:32:15.502259 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.eggerthii
## 2026-05-18 18:32:15.632773 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.onderdonkii
## 2026-05-18 18:32:15.788314 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.ventriosum
## 2026-05-18 18:32:15.929397 INFO::Creating boxplot for categorical data, dysbiosisCD vs Ruminococcus.lactaris
## 2026-05-18 18:32:16.06337 INFO::Creating boxplot for categorical data, dysbiosisCD vs Burkholderiales.bacterium.1.1.47
## 2026-05-18 18:32:16.196796 INFO::Creating boxplot for categorical data, dysbiosisCD vs Dialister.invisus
## 2026-05-18 18:32:16.335748 INFO::Creating boxplot for categorical data, dysbiosisCD vs Ruminococcus.bromii
## 2026-05-18 18:32:16.485366 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parasutterella.excrementihominis
## 2026-05-18 18:32:16.623371 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.unclassified
## 2026-05-18 18:32:16.77406 INFO::Creating boxplot for categorical data, dysbiosisCD vs Ruminococcus.torques
## 2026-05-18 18:32:16.91251 INFO::Creating boxplot for categorical data, dysbiosisCD vs Coprobacillus.unclassified
## 2026-05-18 18:32:17.050308 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.cellulosilyticus
## 2026-05-18 18:32:17.189858 INFO::Creating boxplot for categorical data, dysbiosisCD vs Roseburia.intestinalis
## 2026-05-18 18:32:17.330994 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parabacteroides.unclassified
## 2026-05-18 18:32:17.471354 INFO::Creating boxplot for categorical data, dysbiosisCD vs Acidaminococcus.unclassified
## 2026-05-18 18:32:17.611197 INFO::Creating boxplot for categorical data, dysbiosisCD vs Barnesiella.intestinihominis
## 2026-05-18 18:32:17.749868 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.massiliensis
## 2026-05-18 18:32:17.895604 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.sp.3.1.31
## 2026-05-18 18:32:18.03364 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.salyersiae
## 2026-05-18 18:32:18.168812 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroidales.bacterium.ph8
## 2026-05-18 18:32:18.303159 INFO::Creating boxplot for categorical data, dysbiosisCD vs Clostridium.citroniae
## 2026-05-18 18:32:18.444928 INFO::Creating boxplot for categorical data, dysbiosisCD vs Flavonifractor.plautii
## 2026-05-18 18:32:18.597163 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parabacteroides.goldsteinii
## 2026-05-18 18:32:18.735854 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bifidobacterium.longum
## 2026-05-18 18:32:18.874135 INFO::Creating boxplot for categorical data, dysbiosisCD vs Lachnospiraceae.bacterium.1.1.57FAA
## 2026-05-18 18:32:20.146978 INFO::Plotting data for metadata number 2, dysbiosisUC
## 2026-05-18 18:32:20.148068 INFO::Creating boxplot for categorical data, dysbiosisUC vs Subdoligranulum.unclassified
## 2026-05-18 18:32:20.273386 INFO::Creating boxplot for categorical data, dysbiosisUC vs Faecalibacterium.prausnitzii
## 2026-05-18 18:32:20.41715 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.caccae
## 2026-05-18 18:32:20.558188 INFO::Creating boxplot for categorical data, dysbiosisUC vs Oscillibacter.unclassified
## 2026-05-18 18:32:20.691945 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.uniformis
## 2026-05-18 18:32:20.832739 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.siraeum
## 2026-05-18 18:32:20.972213 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.ovatus
## 2026-05-18 18:32:21.103332 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.fragilis
## 2026-05-18 18:32:21.244516 INFO::Creating boxplot for categorical data, dysbiosisUC vs Alistipes.shahii
## 2026-05-18 18:32:21.386265 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.rectale
## 2026-05-18 18:32:21.522435 INFO::Creating boxplot for categorical data, dysbiosisUC vs Roseburia.hominis
## 2026-05-18 18:32:21.668018 INFO::Creating boxplot for categorical data, dysbiosisUC vs Alistipes.putredinis
## 2026-05-18 18:32:21.816534 INFO::Creating boxplot for categorical data, dysbiosisUC vs Lachnospiraceae.bacterium.3.1.46FAA
## 2026-05-18 18:32:21.94773 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.hallii
## 2026-05-18 18:32:22.084889 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.xylanisolvens
## 2026-05-18 18:32:22.225068 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.stercoris
## 2026-05-18 18:32:22.365258 INFO::Creating boxplot for categorical data, dysbiosisUC vs Alistipes.finegoldii
## 2026-05-18 18:32:22.534004 INFO::Creating boxplot for categorical data, dysbiosisUC vs Barnesiella.intestinihominis
## 2026-05-18 18:32:22.682383 INFO::Creating boxplot for categorical data, dysbiosisUC vs Clostridium.leptum
## 2026-05-18 18:32:22.823652 INFO::Creating boxplot for categorical data, dysbiosisUC vs Ruminococcus.gnavus
## 2026-05-18 18:32:22.963434 INFO::Creating boxplot for categorical data, dysbiosisUC vs Alistipes.onderdonkii
## 2026-05-18 18:32:23.104252 INFO::Creating boxplot for categorical data, dysbiosisUC vs Flavonifractor.plautii
## 2026-05-18 18:32:23.256647 INFO::Creating boxplot for categorical data, dysbiosisUC vs Parabacteroides.merdae
## 2026-05-18 18:32:23.403651 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.cellulosilyticus
## 2026-05-18 18:32:23.55134 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bifidobacterium.longum
## 2026-05-18 18:32:23.689879 INFO::Creating boxplot for categorical data, dysbiosisUC vs Klebsiella.pneumoniae
## 2026-05-18 18:32:23.842542 INFO::Creating boxplot for categorical data, dysbiosisUC vs Clostridium.citroniae
## 2026-05-18 18:32:23.982765 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.ventriosum
## 2026-05-18 18:32:24.126872 INFO::Creating boxplot for categorical data, dysbiosisUC vs Parabacteroides.distasonis
## 2026-05-18 18:32:24.266702 INFO::Creating boxplot for categorical data, dysbiosisUC vs Parabacteroides.goldsteinii
## 2026-05-18 18:32:24.411754 INFO::Creating boxplot for categorical data, dysbiosisUC vs Ruminococcus.torques
## 2026-05-18 18:32:24.54644 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroidales.bacterium.ph8
## 2026-05-18 18:32:24.695941 INFO::Creating boxplot for categorical data, dysbiosisUC vs Ruminococcus.obeum
## 2026-05-18 18:32:24.843525 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bifidobacterium.bifidum
## 2026-05-18 18:32:24.993561 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bifidobacterium.adolescentis
## 2026-05-18 18:32:25.134261 INFO::Creating boxplot for categorical data, dysbiosisUC vs Collinsella.aerofaciens
## 2026-05-18 18:32:25.272582 INFO::Creating boxplot for categorical data, dysbiosisUC vs Clostridium.hathewayi
## 2026-05-18 18:32:25.411328 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bilophila.unclassified
## 2026-05-18 18:32:25.575356 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.eligens
## 2026-05-18 18:32:25.703911 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.vulgatus
## 2026-05-18 18:32:25.844405 INFO::Creating boxplot for categorical data, dysbiosisUC vs Clostridium.bolteae
## 2026-05-18 18:32:25.993039 INFO::Creating boxplot for categorical data, dysbiosisUC vs Dialister.invisus
## 2026-05-18 18:32:26.144344 INFO::Creating boxplot for categorical data, dysbiosisUC vs Ruminococcus.lactaris
## 2026-05-18 18:32:26.294116 INFO::Creating boxplot for categorical data, dysbiosisUC vs Burkholderiales.bacterium.1.1.47
## 2026-05-18 18:32:27.58366 INFO::Plotting data for metadata number 3, dysbiosisnonIBD
## 2026-05-18 18:32:27.58461 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Faecalibacterium.prausnitzii
## 2026-05-18 18:32:27.714359 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Eubacterium.rectale
## 2026-05-18 18:32:27.862603 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Eubacterium.sp.3.1.31
## 2026-05-18 18:32:28.016424 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Roseburia.hominis
## 2026-05-18 18:32:28.160752 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Subdoligranulum.unclassified
## 2026-05-18 18:32:28.309728 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Lachnospiraceae.bacterium.3.1.46FAA
## 2026-05-18 18:32:28.460838 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Ruminococcus.torques
## 2026-05-18 18:32:28.608208 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Clostridium.leptum
## 2026-05-18 18:32:28.757713 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Odoribacter.splanchnicus
## 2026-05-18 18:32:29.060487 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Escherichia.coli
## 2026-05-18 18:32:29.188752 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Ruminococcus.obeum
## 2026-05-18 18:32:29.314536 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bilophila.unclassified
## 2026-05-18 18:32:29.448404 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bacteroides.uniformis
## 2026-05-18 18:32:29.57913 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Eubacterium.eligens
## 2026-05-18 18:32:29.70909 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Klebsiella.pneumoniae
## 2026-05-18 18:32:29.837707 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Ruminococcus.bromii
## 2026-05-18 18:32:29.956514 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bacteroides.vulgatus
## 2026-05-18 18:32:30.074406 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs C2likevirus.unclassified
## 2026-05-18 18:32:30.1972 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bifidobacterium.adolescentis
## 2026-05-18 18:32:30.315442 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Alistipes.finegoldii
## 2026-05-18 18:32:30.435802 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Roseburia.inulinivorans
## 2026-05-18 18:32:30.560675 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Alistipes.onderdonkii
## 2026-05-18 18:32:30.690026 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Roseburia.unclassified
## 2026-05-18 18:32:30.816692 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Eubacterium.hallii
## 2026-05-18 18:32:30.941836 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Roseburia.intestinalis
## 2026-05-18 18:32:31.069778 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Prevotella.copri
## 2026-05-18 18:32:31.203921 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bacteroides.dorei
## 2026-05-18 18:32:31.329932 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bacteroides.fragilis
## 2026-05-18 18:32:31.463951 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Alistipes.shahii
## 2026-05-18 18:32:32.64047 INFO::Plotting data for metadata number 4, antibiotics
## 2026-05-18 18:32:32.64156 INFO::Creating boxplot for categorical data, antibiotics vs Roseburia.inulinivorans
## 2026-05-18 18:32:32.751175 INFO::Creating boxplot for categorical data, antibiotics vs Roseburia.hominis
## 2026-05-18 18:32:32.875281 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.rectale
## 2026-05-18 18:32:33.010129 INFO::Creating boxplot for categorical data, antibiotics vs Dialister.invisus
## 2026-05-18 18:32:33.143441 INFO::Creating boxplot for categorical data, antibiotics vs Roseburia.intestinalis
## 2026-05-18 18:32:33.268518 INFO::Creating boxplot for categorical data, antibiotics vs Dorea.longicatena
## 2026-05-18 18:32:33.402694 INFO::Creating boxplot for categorical data, antibiotics vs Ruminococcus.callidus
## 2026-05-18 18:32:33.532106 INFO::Creating boxplot for categorical data, antibiotics vs Ruminococcus.bromii
## 2026-05-18 18:32:33.657669 INFO::Creating boxplot for categorical data, antibiotics vs Ruminococcus.obeum
## 2026-05-18 18:32:33.782049 INFO::Creating boxplot for categorical data, antibiotics vs Klebsiella.pneumoniae
## 2026-05-18 18:32:33.912491 INFO::Creating boxplot for categorical data, antibiotics vs Bifidobacterium.adolescentis
## 2026-05-18 18:32:34.031096 INFO::Creating boxplot for categorical data, antibiotics vs Faecalibacterium.prausnitzii
## 2026-05-18 18:32:34.170301 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.hallii
## 2026-05-18 18:32:34.308178 INFO::Creating boxplot for categorical data, antibiotics vs Bilophila.unclassified
## 2026-05-18 18:32:34.438872 INFO::Creating boxplot for categorical data, antibiotics vs Clostridium.leptum
## 2026-05-18 18:32:34.568334 INFO::Creating boxplot for categorical data, antibiotics vs Lachnospiraceae.bacterium.3.1.46FAA
## 2026-05-18 18:32:34.700154 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroides.finegoldii
## 2026-05-18 18:32:34.831365 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.sp.3.1.31
## 2026-05-18 18:32:34.958432 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroides.fragilis
## 2026-05-18 18:32:35.085137 INFO::Creating boxplot for categorical data, antibiotics vs Alistipes.onderdonkii
## 2026-05-18 18:32:35.217878 INFO::Creating boxplot for categorical data, antibiotics vs Sutterella.wadsworthensis
## 2026-05-18 18:32:35.375088 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.eligens
## 2026-05-18 18:32:35.494447 INFO::Creating boxplot for categorical data, antibiotics vs Collinsella.aerofaciens
## 2026-05-18 18:32:35.631841 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroides.thetaiotaomicron
## 2026-05-18 18:32:35.762352 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroides.eggerthii
## 2026-05-18 18:32:35.897029 INFO::Creating boxplot for categorical data, antibiotics vs Haemophilus.parainfluenzae
## 2026-05-18 18:32:36.026926 INFO::Creating boxplot for categorical data, antibiotics vs Bifidobacterium.pseudocatenulatum
## 2026-05-18 18:32:36.167631 INFO::Creating boxplot for categorical data, antibiotics vs Ruminococcus.torques
## 2026-05-18 18:32:36.288099 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.ventriosum
## 2026-05-18 18:32:36.414325 INFO::Creating boxplot for categorical data, antibiotics vs Parasutterella.excrementihominis
## 2026-05-18 18:32:36.541985 INFO::Creating boxplot for categorical data, antibiotics vs Peptostreptococcaceae.noname.unclassified
## 2026-05-18 18:32:36.676417 INFO::Creating boxplot for categorical data, antibiotics vs Veillonella.dispar
## 2026-05-18 18:32:36.820643 INFO::Creating boxplot for categorical data, antibiotics vs Veillonella.atypica
## 2026-05-18 18:32:36.956062 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroidales.bacterium.ph8
## 2026-05-18 18:32:37.084947 INFO::Creating boxplot for categorical data, antibiotics vs Clostridium.nexile
## 2026-05-18 18:32:37.212736 INFO::Creating boxplot for categorical data, antibiotics vs Burkholderiales.bacterium.1.1.47
## 2026-05-18 18:32:37.335873 INFO::Creating boxplot for categorical data, antibiotics vs Lachnospiraceae.bacterium.1.1.57FAA
## 2026-05-18 18:32:37.468415 INFO::Creating boxplot for categorical data, antibiotics vs Akkermansia.muciniphila
## 2026-05-18 18:32:37.59967 INFO::Creating boxplot for categorical data, antibiotics vs Clostridium.citroniae
## 2026-05-18 18:32:37.728158 INFO::Creating boxplot for categorical data, antibiotics vs Odoribacter.splanchnicus
## 2026-05-18 18:32:38.902677 INFO::Plotting data for metadata number 5, age
## 2026-05-18 18:32:38.903728 INFO::Creating scatter plot for continuous data, age vs Haemophilus.parainfluenzae
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## ℹ The deprecated feature was likely used in the Maaslin2 package.
## Please report the issue at <https://github.com/biobakery/maaslin2/issues>.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:39.054947 INFO::Creating scatter plot for continuous data, age vs Bifidobacterium.pseudocatenulatum
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:39.212771 INFO::Creating scatter plot for continuous data, age vs Faecalibacterium.prausnitzii
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:39.334058 INFO::Creating scatter plot for continuous data, age vs Clostridium.clostridioforme
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:39.469296 INFO::Creating scatter plot for continuous data, age vs Veillonella.parvula
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:39.595625 INFO::Creating scatter plot for continuous data, age vs Subdoligranulum.unclassified
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:39.720644 INFO::Creating scatter plot for continuous data, age vs Clostridium.symbiosum
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:39.8554 INFO::Creating scatter plot for continuous data, age vs Ruminococcus.gnavus
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:39.979407 INFO::Creating scatter plot for continuous data, age vs Dialister.invisus
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:40.103328 INFO::Creating scatter plot for continuous data, age vs Veillonella.dispar
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:40.233093 INFO::Creating scatter plot for continuous data, age vs Veillonella.unclassified
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:40.353891 INFO::Creating scatter plot for continuous data, age vs Bacteroides.thetaiotaomicron
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:40.47091 INFO::Creating scatter plot for continuous data, age vs Ruminococcus.bromii
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:40.598123 INFO::Creating scatter plot for continuous data, age vs Bacteroides.intestinalis
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:40.71912 INFO::Creating scatter plot for continuous data, age vs Eubacterium.siraeum
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:40.838805 INFO::Creating scatter plot for continuous data, age vs Prevotella.copri
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:40.962217 INFO::Creating scatter plot for continuous data, age vs Alistipes.unclassified
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:41.081012 INFO::Creating scatter plot for continuous data, age vs Bacteroidales.bacterium.ph8
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:41.228915 INFO::Creating scatter plot for continuous data, age vs Bifidobacterium.longum
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:41.357762 INFO::Creating scatter plot for continuous data, age vs Akkermansia.muciniphila
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:41.488799 INFO::Creating scatter plot for continuous data, age vs Collinsella.aerofaciens
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:41.621329 INFO::Creating scatter plot for continuous data, age vs Parabacteroides.distasonis
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2026-05-18 18:32:42.745065 INFO::Plotting data for metadata number 6, diagnosis
## 2026-05-18 18:32:42.745986 INFO::Creating boxplot for categorical data, diagnosis vs Bifidobacterium.adolescentis
## 2026-05-18 18:32:42.873309 INFO::Creating boxplot for categorical data, diagnosis vs Akkermansia.muciniphila
## 2026-05-18 18:32:43.021312 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.bolteae
## 2026-05-18 18:32:43.167731 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.putredinis
## 2026-05-18 18:32:43.314358 INFO::Creating boxplot for categorical data, diagnosis vs Coprobacillus.unclassified
## 2026-05-18 18:32:43.449995 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.clostridioforme
## 2026-05-18 18:32:43.585673 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.shahii
## 2026-05-18 18:32:43.731709 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.bromii
## 2026-05-18 18:32:43.908696 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.leptum
## 2026-05-18 18:32:44.063149 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.symbiosum
## 2026-05-18 18:32:44.212786 INFO::Creating boxplot for categorical data, diagnosis vs Roseburia.inulinivorans
## 2026-05-18 18:32:44.360259 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.bromii
## 2026-05-18 18:32:44.515229 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.shahii
## 2026-05-18 18:32:44.666704 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.finegoldii
## 2026-05-18 18:32:44.814009 INFO::Creating boxplot for categorical data, diagnosis vs Parabacteroides.goldsteinii
## 2026-05-18 18:32:44.967089 INFO::Creating boxplot for categorical data, diagnosis vs Bilophila.unclassified
## 2026-05-18 18:32:45.114331 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.leptum
## 2026-05-18 18:32:45.255289 INFO::Creating boxplot for categorical data, diagnosis vs Roseburia.hominis
## 2026-05-18 18:32:45.394253 INFO::Creating boxplot for categorical data, diagnosis vs Coprobacillus.unclassified
## 2026-05-18 18:32:45.549758 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.onderdonkii
## 2026-05-18 18:32:45.693784 INFO::Creating boxplot for categorical data, diagnosis vs Eubacterium.ventriosum
## 2026-05-18 18:32:45.842998 INFO::Creating boxplot for categorical data, diagnosis vs Roseburia.hominis
## 2026-05-18 18:32:45.997175 INFO::Creating boxplot for categorical data, diagnosis vs Sutterella.wadsworthensis
## 2026-05-18 18:32:46.144947 INFO::Creating boxplot for categorical data, diagnosis vs Akkermansia.muciniphila
## 2026-05-18 18:32:46.280996 INFO::Creating boxplot for categorical data, diagnosis vs Sutterella.wadsworthensis
## 2026-05-18 18:32:46.60967 INFO::Creating boxplot for categorical data, diagnosis vs Subdoligranulum.unclassified
## 2026-05-18 18:32:46.738451 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.symbiosum
## 2026-05-18 18:32:46.857028 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.onderdonkii
## 2026-05-18 18:32:46.980959 INFO::Creating boxplot for categorical data, diagnosis vs Parabacteroides.unclassified
## 2026-05-18 18:32:47.109572 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.lactaris
## 2026-05-18 18:32:47.247234 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.callidus
## 2026-05-18 18:32:47.380647 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.gnavus
## 2026-05-18 18:32:47.505125 INFO::Creating boxplot for categorical data, diagnosis vs Bacteroides.fragilis
## 2026-05-18 18:32:47.634023 INFO::Creating boxplot for categorical data, diagnosis vs Eubacterium.rectale
## 2026-05-18 18:32:47.757247 INFO::Creating boxplot for categorical data, diagnosis vs Odoribacter.splanchnicus
## 2026-05-18 18:32:47.886563 INFO::Creating boxplot for categorical data, diagnosis vs Parabacteroides.distasonis
## 2026-05-18 18:32:48.008233 INFO::Creating boxplot for categorical data, diagnosis vs Eubacterium.rectale
## 2026-05-18 18:32:48.13873 INFO::Creating boxplot for categorical data, diagnosis vs Bacteroides.finegoldii
## 2026-05-18 18:32:48.268787 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.callidus
## 2026-05-18 18:32:48.384102 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.finegoldii
## 2026-05-18 18:32:48.502614 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.putredinis
## 2026-05-18 18:32:48.626505 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.bolteae
## 2026-05-18 18:32:48.74974 INFO::Creating boxplot for categorical data, diagnosis vs Eubacterium.siraeum
Session info from running the demo in R can be displayed with the following command.
sessionInfo()
## R version 4.6.0 Patched (2026-05-01 r89994)
## Platform: aarch64-apple-darwin23
## Running under: macOS Tahoe 26.3.1
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/4.6/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.6/Resources/lib/libRlapack.dylib; LAPACK version 3.12.1
##
## locale:
## [1] C/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## time zone: America/New_York
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] Maaslin2_1.27.0
##
## loaded via a namespace (and not attached):
## [1] gtable_0.3.6 biglm_0.9-3 xfun_0.57
## [4] bslib_0.11.0 ggplot2_4.0.3 lattice_0.22-9
## [7] numDeriv_2016.8-1.1 vctrs_0.7.3 tools_4.6.0
## [10] Rdpack_2.6.6 generics_0.1.4 parallel_4.6.0
## [13] tibble_3.3.1 DEoptimR_1.1-4 cluster_2.1.8.2
## [16] pkgconfig_2.0.3 logging_0.10-108 pheatmap_1.0.13
## [19] Matrix_1.7-5 data.table_1.18.4 RColorBrewer_1.1-3
## [22] S7_0.2.2 lifecycle_1.0.5 compiler_4.6.0
## [25] farver_2.1.2 lmerTest_3.2-1 permute_0.9-10
## [28] htmltools_0.5.9 sass_0.4.10 hash_2.2.6.4
## [31] yaml_2.3.12 pillar_1.11.1 nloptr_2.2.1
## [34] crayon_1.5.3 jquerylib_0.1.4 MASS_7.3-65
## [37] cachem_1.1.0 vegan_2.7-3 reformulas_0.4.4
## [40] boot_1.3-32 nlme_3.1-169 robustbase_0.99-7
## [43] tidyselect_1.2.1 digest_0.6.39 mvtnorm_1.3-7
## [46] dplyr_1.2.1 labeling_0.4.3 splines_4.6.0
## [49] pcaPP_2.0-5 fastmap_1.2.0 grid_4.6.0
## [52] cli_3.6.6 magrittr_2.0.5 dichromat_2.0-0.1
## [55] withr_3.0.2 scales_1.4.0 rmarkdown_2.31
## [58] otel_0.2.0 lme4_2.0-1 pbapply_1.7-4
## [61] evaluate_1.0.5 knitr_1.51 rbibutils_2.4.1
## [64] mgcv_1.9-4 rlang_1.2.0 Rcpp_1.1.1-1.1
## [67] glue_1.8.1 optparse_1.8.2 DBI_1.3.0
## [70] minqa_1.2.8 jsonlite_2.0.0 R6_2.6.1
Run MaAsLin2 help to print a list of the options and the default settings.
$ Maaslin2.R –help Usage: ./R/Maaslin2.R options <data.tsv> <metadata.tsv>
Options: -h, –help Show this help message and exit
-a MIN_ABUNDANCE, --min_abundance=MIN_ABUNDANCE
The minimum abundance for each feature [ Default: 0 ]
-p MIN_PREVALENCE, --min_prevalence=MIN_PREVALENCE
The minimum percent of samples for which a feature
is detected at minimum abundance [ Default: 0.1 ]
-b MIN_VARIANCE, --min_variance=MIN_VARIANCE
Keep features with variance greater than [ Default: 0.0 ]
-s MAX_SIGNIFICANCE, --max_significance=MAX_SIGNIFICANCE
The q-value threshold for significance [ Default: 0.25 ]
-n NORMALIZATION, --normalization=NORMALIZATION
The normalization method to apply [ Default: TSS ]
[ Choices: TSS, CLR, CSS, NONE, TMM ]
-t TRANSFORM, --transform=TRANSFORM
The transform to apply [ Default: LOG ]
[ Choices: LOG, LOGIT, AST, NONE ]
-m ANALYSIS_METHOD, --analysis_method=ANALYSIS_METHOD
The analysis method to apply [ Default: LM ]
[ Choices: LM, CPLM, NEGBIN, ZINB ]
-r RANDOM_EFFECTS, --random_effects=RANDOM_EFFECTS
The random effects for the model, comma-delimited
for multiple effects [ Default: none ]
-f FIXED_EFFECTS, --fixed_effects=FIXED_EFFECTS
The fixed effects for the model, comma-delimited
for multiple effects [ Default: all ]
-c CORRECTION, --correction=CORRECTION
The correction method for computing the
q-value [ Default: BH ]
-z STANDARDIZE, --standardize=STANDARDIZE
Apply z-score so continuous metadata are
on the same scale [ Default: TRUE ]
-l PLOT_HEATMAP, --plot_heatmap=PLOT_HEATMAP
Generate a heatmap for the significant
associations [ Default: TRUE ]
-i HEATMAP_FIRST_N, --heatmap_first_n=HEATMAP_FIRST_N
In heatmap, plot top N features with significant
associations [ Default: TRUE ]
-o PLOT_SCATTER, --plot_scatter=PLOT_SCATTER
Generate scatter plots for the significant
associations [ Default: TRUE ]
-g MAX_PNGS, --max_pngs=MAX_PNGS
The maximum number of scatter plots for signficant associations
to save as png files [ Default: 10 ]
-O SAVE_SCATTER, --save_scatter=SAVE_SCATTER
Save all scatter plot ggplot objects
to an RData file [ Default: FALSE ]
-e CORES, --cores=CORES
The number of R processes to run in parallel
[ Default: 1 ]
-j SAVE_MODELS --save_models=SAVE_MODELS
Return the full model outputs and save to an RData file
[ Default: FALSE ]
-d REFERENCE, --reference=REFERENCE
The factor to use as a reference level for a categorical variable
provided as a string of 'variable,reference', semi-colon delimited for
multiple variables. Not required if metadata is passed as a factor or
for variables with less than two levels but can be set regardless.
[ Default: NA ]
Maaslin2.R: command not found. How do I fix this?
Error in library(Maaslin2): there is no package called 'Maaslin2'.
How do I fix this?