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 maaslin2
Install 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"
## 2025-06-04 20:01:02.965671 INFO::Writing function arguments to log file
## 2025-06-04 20:01:03.005587 INFO::Verifying options selected are valid
## 2025-06-04 20:01:03.052466 INFO::Determining format of input files
## 2025-06-04 20:01:03.05558 INFO::Input format is data samples as rows and metadata samples as rows
## 2025-06-04 20:01:03.066974 INFO::Formula for random effects: expr ~ (1 | site) + (1 | subject)
## 2025-06-04 20:01:03.070257 INFO::Formula for fixed effects: expr ~ diagnosis + dysbiosisnonIBD + dysbiosisUC + dysbiosisCD + antibiotics + age
## 2025-06-04 20:01:03.075554 INFO::Filter data based on min abundance and min prevalence
## 2025-06-04 20:01:03.081939 INFO::Total samples in data: 1595
## 2025-06-04 20:01:03.083512 INFO::Min samples required with min abundance for a feature not to be filtered: 159.500000
## 2025-06-04 20:01:03.090163 INFO::Total filtered features: 0
## 2025-06-04 20:01:03.092172 INFO::Filtered feature names from abundance and prevalence filtering:
## 2025-06-04 20:01:03.102629 INFO::Total filtered features with variance filtering: 0
## 2025-06-04 20:01:03.104483 INFO::Filtered feature names from variance filtering:
## 2025-06-04 20:01:03.105995 INFO::Running selected normalization method: TSS
## 2025-06-04 20:01:04.364189 INFO::Bypass z-score application to metadata
## 2025-06-04 20:01:04.366031 INFO::Running selected transform method: LOG
## 2025-06-04 20:01:04.390063 INFO::Running selected analysis method: LM
## 2025-06-04 20:01:04.733189 INFO::Fitting model to feature number 1, Bifidobacterium.adolescentis
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:05.644399 INFO::Fitting model to feature number 2, Bifidobacterium.bifidum
## 2025-06-04 20:01:05.829547 INFO::Fitting model to feature number 3, Bifidobacterium.longum
## 2025-06-04 20:01:05.984416 INFO::Fitting model to feature number 4, Bifidobacterium.pseudocatenulatum
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:06.141849 INFO::Fitting model to feature number 5, Collinsella.aerofaciens
## 2025-06-04 20:01:06.311873 INFO::Fitting model to feature number 6, Bacteroides.caccae
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:06.456767 INFO::Fitting model to feature number 7, Bacteroides.cellulosilyticus
## 2025-06-04 20:01:06.594244 INFO::Fitting model to feature number 8, Bacteroides.dorei
## 2025-06-04 20:01:06.746203 INFO::Fitting model to feature number 9, Bacteroides.eggerthii
## 2025-06-04 20:01:06.913602 INFO::Fitting model to feature number 10, Bacteroides.faecis
## 2025-06-04 20:01:07.101828 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: -7.9e+01
## 2025-06-04 20:01:07.260779 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: -7.9e+01
## 2025-06-04 20:01:07.451819 INFO::Fitting model to feature number 12, Bacteroides.fragilis
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:07.589602 INFO::Fitting model to feature number 13, Bacteroides.intestinalis
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:07.779614 INFO::Fitting model to feature number 14, Bacteroides.massiliensis
## 2025-06-04 20:01:07.927741 INFO::Fitting model to feature number 15, Bacteroides.ovatus
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:08.108588 INFO::Fitting model to feature number 16, Bacteroides.salyersiae
## 2025-06-04 20:01:08.317752 INFO::Fitting model to feature number 17, Bacteroides.stercoris
## 2025-06-04 20:01:08.477186 INFO::Fitting model to feature number 18, Bacteroides.thetaiotaomicron
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:08.693931 INFO::Fitting model to feature number 19, Bacteroides.uniformis
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:08.911998 INFO::Fitting model to feature number 20, Bacteroides.vulgatus
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:09.134483 INFO::Fitting model to feature number 21, Bacteroides.xylanisolvens
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:09.28915 INFO::Fitting model to feature number 22, Bacteroidales.bacterium.ph8
## 2025-06-04 20:01:09.434799 INFO::Fitting model to feature number 23, Barnesiella.intestinihominis
## 2025-06-04 20:01:09.57618 INFO::Fitting model to feature number 24, Coprobacter.fastidiosus
## 2025-06-04 20:01:09.731968 INFO::Fitting model to feature number 25, Odoribacter.splanchnicus
## 2025-06-04 20:01:09.876467 INFO::Fitting model to feature number 26, Parabacteroides.distasonis
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:10.005392 INFO::Fitting model to feature number 27, Parabacteroides.goldsteinii
## 2025-06-04 20:01:10.160187 INFO::Fitting model to feature number 28, Parabacteroides.merdae
## 2025-06-04 20:01:10.311316 INFO::Fitting model to feature number 29, Parabacteroides.unclassified
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:10.522793 INFO::Fitting model to feature number 30, Paraprevotella.clara
## 2025-06-04 20:01:10.75174 INFO::Fitting model to feature number 31, Paraprevotella.unclassified
## 2025-06-04 20:01:10.963113 INFO::Fitting model to feature number 32, Prevotella.copri
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:11.135284 INFO::Fitting model to feature number 33, Alistipes.finegoldii
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:11.291068 INFO::Fitting model to feature number 34, Alistipes.onderdonkii
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:11.432102 INFO::Fitting model to feature number 35, Alistipes.putredinis
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:11.64995 INFO::Fitting model to feature number 36, Alistipes.shahii
## 2025-06-04 20:01:11.875514 INFO::Fitting model to feature number 37, Alistipes.unclassified
## 2025-06-04 20:01:12.082707 INFO::Fitting model to feature number 38, Streptococcus.salivarius
## 2025-06-04 20:01:12.233737 INFO::Fitting model to feature number 39, Clostridium.bolteae
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:12.444367 INFO::Fitting model to feature number 40, Clostridium.citroniae
## boundary (singular) fit: see help('isSingular')
## Feature Clostridium.citroniae : simpleWarning: Model failed to converge with 1 negative eigenvalue: -3.4e+01
## 2025-06-04 20:01:12.606819 WARNING::Fitting problem for feature 40 a warning was issued
## boundary (singular) fit: see help('isSingular')
## Warning: Model failed to converge with 1 negative eigenvalue: -3.4e+01
## 2025-06-04 20:01:12.769462 INFO::Fitting model to feature number 41, Clostridium.clostridioforme
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:12.911848 INFO::Fitting model to feature number 42, Clostridium.hathewayi
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:13.047551 INFO::Fitting model to feature number 43, Clostridium.leptum
## 2025-06-04 20:01:13.205005 INFO::Fitting model to feature number 44, Clostridium.nexile
## 2025-06-04 20:01:13.331348 INFO::Fitting model to feature number 45, Clostridium.symbiosum
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:13.496085 INFO::Fitting model to feature number 46, Flavonifractor.plautii
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:13.639654 INFO::Fitting model to feature number 47, Eubacterium.eligens
## 2025-06-04 20:01:13.789241 INFO::Fitting model to feature number 48, Eubacterium.hallii
## 2025-06-04 20:01:13.950389 INFO::Fitting model to feature number 49, Eubacterium.rectale
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:14.182142 INFO::Fitting model to feature number 50, Eubacterium.siraeum
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:14.318374 INFO::Fitting model to feature number 51, Eubacterium.sp.3.1.31
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:14.500362 INFO::Fitting model to feature number 52, Eubacterium.ventriosum
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:14.706706 INFO::Fitting model to feature number 53, Ruminococcus.gnavus
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:14.916175 INFO::Fitting model to feature number 54, Ruminococcus.obeum
## 2025-06-04 20:01:15.152584 INFO::Fitting model to feature number 55, Ruminococcus.torques
## 2025-06-04 20:01:15.327644 INFO::Fitting model to feature number 56, Coprococcus.comes
## 2025-06-04 20:01:15.526596 INFO::Fitting model to feature number 57, Dorea.longicatena
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:15.721536 INFO::Fitting model to feature number 58, Lachnospiraceae.bacterium.1.1.57FAA
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:15.900497 INFO::Fitting model to feature number 59, Lachnospiraceae.bacterium.3.1.46FAA
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:16.072148 INFO::Fitting model to feature number 60, Roseburia.hominis
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:16.272771 INFO::Fitting model to feature number 61, Roseburia.intestinalis
## 2025-06-04 20:01:16.451687 INFO::Fitting model to feature number 62, Roseburia.inulinivorans
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:16.611971 INFO::Fitting model to feature number 63, Roseburia.unclassified
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:16.781888 INFO::Fitting model to feature number 64, Oscillibacter.unclassified
## 2025-06-04 20:01:16.944687 INFO::Fitting model to feature number 65, Peptostreptococcaceae.noname.unclassified
## 2025-06-04 20:01:17.09925 INFO::Fitting model to feature number 66, Faecalibacterium.prausnitzii
## 2025-06-04 20:01:17.306015 INFO::Fitting model to feature number 67, Ruminococcus.bromii
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:17.514571 INFO::Fitting model to feature number 68, Ruminococcus.callidus
## 2025-06-04 20:01:17.70165 INFO::Fitting model to feature number 69, Ruminococcus.lactaris
## 2025-06-04 20:01:17.930567 INFO::Fitting model to feature number 70, Subdoligranulum.unclassified
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:18.137123 INFO::Fitting model to feature number 71, Coprobacillus.unclassified
## 2025-06-04 20:01:18.336757 INFO::Fitting model to feature number 72, Acidaminococcus.unclassified
## 2025-06-04 20:01:18.558453 INFO::Fitting model to feature number 73, Dialister.invisus
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:18.737633 INFO::Fitting model to feature number 74, Veillonella.atypica
## 2025-06-04 20:01:18.865847 INFO::Fitting model to feature number 75, Veillonella.dispar
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:19.004622 INFO::Fitting model to feature number 76, Veillonella.parvula
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:19.135272 INFO::Fitting model to feature number 77, Veillonella.unclassified
## 2025-06-04 20:01:19.271677 INFO::Fitting model to feature number 78, Burkholderiales.bacterium.1.1.47
## 2025-06-04 20:01:19.402972 INFO::Fitting model to feature number 79, Parasutterella.excrementihominis
## 2025-06-04 20:01:19.529639 INFO::Fitting model to feature number 80, Sutterella.wadsworthensis
## 2025-06-04 20:01:19.686699 INFO::Fitting model to feature number 81, Bilophila.unclassified
## 2025-06-04 20:01:19.822415 INFO::Fitting model to feature number 82, Escherichia.coli
## 2025-06-04 20:01:19.963896 INFO::Fitting model to feature number 83, Escherichia.unclassified
## 2025-06-04 20:01:20.093365 INFO::Fitting model to feature number 84, Klebsiella.pneumoniae
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:20.227657 INFO::Fitting model to feature number 85, Haemophilus.parainfluenzae
## boundary (singular) fit: see help('isSingular')
## 2025-06-04 20:01:20.355956 INFO::Fitting model to feature number 86, Akkermansia.muciniphila
## 2025-06-04 20:01:20.498956 INFO::Fitting model to feature number 87, C2likevirus.unclassified
## 2025-06-04 20:01:20.668653 INFO::Counting total values for each feature
## 2025-06-04 20:01:20.713929 INFO::Writing filtered data to file demo_output/features/filtered_data.tsv
## 2025-06-04 20:01:21.135145 INFO::Writing filtered, normalized data to file demo_output/features/filtered_data_norm.tsv
## 2025-06-04 20:01:21.652788 INFO::Writing filtered, normalized, transformed data to file demo_output/features/filtered_data_norm_transformed.tsv
## 2025-06-04 20:01:22.232743 INFO::Writing residuals to file demo_output/fits/residuals.rds
## 2025-06-04 20:01:22.281538 INFO::Writing fitted values to file demo_output/fits/fitted.rds
## 2025-06-04 20:01:22.31707 INFO::Writing extracted random effects to file demo_output/fits/ranef.rds
## 2025-06-04 20:01:22.3235 INFO::Writing all results to file (ordered by increasing q-values): demo_output/all_results.tsv
## 2025-06-04 20:01:22.340365 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
## 2025-06-04 20:01:22.348456 INFO::Writing heatmap of significant results to file: demo_output/heatmap.pdf
## 2025-06-04 20:01:22.659917 INFO::Writing association plots (one for each significant association) to output folder: demo_output
## 2025-06-04 20:01:22.677255 INFO::Plotting associations from most to least significant, grouped by metadata
## 2025-06-04 20:01:22.680609 INFO::Plotting data for metadata number 1, dysbiosisCD
## 2025-06-04 20:01:22.683695 INFO::Creating boxplot for categorical data, dysbiosisCD vs Faecalibacterium.prausnitzii
## 2025-06-04 20:01:23.08135 INFO::Creating boxplot for categorical data, dysbiosisCD vs Subdoligranulum.unclassified
## 2025-06-04 20:01:23.413125 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.uniformis
## 2025-06-04 20:01:23.673765 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.rectale
## 2025-06-04 20:01:23.944833 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.vulgatus
## 2025-06-04 20:01:24.19741 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.ovatus
## 2025-06-04 20:01:24.469629 INFO::Creating boxplot for categorical data, dysbiosisCD vs Ruminococcus.obeum
## 2025-06-04 20:01:24.768666 INFO::Creating boxplot for categorical data, dysbiosisCD vs Oscillibacter.unclassified
## 2025-06-04 20:01:25.096473 INFO::Creating boxplot for categorical data, dysbiosisCD vs Roseburia.inulinivorans
## 2025-06-04 20:01:25.474264 INFO::Creating boxplot for categorical data, dysbiosisCD vs Roseburia.hominis
## 2025-06-04 20:01:25.767378 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.thetaiotaomicron
## 2025-06-04 20:01:26.035793 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.putredinis
## 2025-06-04 20:01:26.325374 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parabacteroides.distasonis
## 2025-06-04 20:01:26.636647 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.dorei
## 2025-06-04 20:01:27.397438 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.shahii
## 2025-06-04 20:01:27.742947 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.xylanisolvens
## 2025-06-04 20:01:28.011493 INFO::Creating boxplot for categorical data, dysbiosisCD vs Clostridium.leptum
## 2025-06-04 20:01:28.264562 INFO::Creating boxplot for categorical data, dysbiosisCD vs Dorea.longicatena
## 2025-06-04 20:01:28.659898 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.caccae
## 2025-06-04 20:01:29.053403 INFO::Creating boxplot for categorical data, dysbiosisCD vs Lachnospiraceae.bacterium.3.1.46FAA
## 2025-06-04 20:01:29.462047 INFO::Creating boxplot for categorical data, dysbiosisCD vs Escherichia.coli
## 2025-06-04 20:01:29.844962 INFO::Creating boxplot for categorical data, dysbiosisCD vs Klebsiella.pneumoniae
## 2025-06-04 20:01:30.103271 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bilophila.unclassified
## 2025-06-04 20:01:30.422541 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.finegoldii
## 2025-06-04 20:01:30.733129 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.eligens
## 2025-06-04 20:01:31.055761 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.stercoris
## 2025-06-04 20:01:31.337925 INFO::Creating boxplot for categorical data, dysbiosisCD vs Coprococcus.comes
## 2025-06-04 20:01:31.594669 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.fragilis
## 2025-06-04 20:01:31.839702 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.finegoldii
## 2025-06-04 20:01:32.097348 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.hallii
## 2025-06-04 20:01:32.394689 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.faecis
## 2025-06-04 20:01:32.681166 INFO::Creating boxplot for categorical data, dysbiosisCD vs Paraprevotella.clara
## 2025-06-04 20:01:33.04294 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.siraeum
## 2025-06-04 20:01:33.40332 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parabacteroides.merdae
## 2025-06-04 20:01:33.666143 INFO::Creating boxplot for categorical data, dysbiosisCD vs Paraprevotella.unclassified
## 2025-06-04 20:01:33.925604 INFO::Creating boxplot for categorical data, dysbiosisCD vs Collinsella.aerofaciens
## 2025-06-04 20:01:34.209282 INFO::Creating boxplot for categorical data, dysbiosisCD vs Odoribacter.splanchnicus
## 2025-06-04 20:01:34.576429 INFO::Creating boxplot for categorical data, dysbiosisCD vs Clostridium.clostridioforme
## 2025-06-04 20:01:34.942277 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.eggerthii
## 2025-06-04 20:01:35.187447 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.onderdonkii
## 2025-06-04 20:01:35.449108 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.ventriosum
## 2025-06-04 20:01:35.772284 INFO::Creating boxplot for categorical data, dysbiosisCD vs Ruminococcus.lactaris
## 2025-06-04 20:01:36.059948 INFO::Creating boxplot for categorical data, dysbiosisCD vs Burkholderiales.bacterium.1.1.47
## 2025-06-04 20:01:36.418134 INFO::Creating boxplot for categorical data, dysbiosisCD vs Dialister.invisus
## 2025-06-04 20:01:36.729462 INFO::Creating boxplot for categorical data, dysbiosisCD vs Ruminococcus.bromii
## 2025-06-04 20:01:37.037616 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parasutterella.excrementihominis
## 2025-06-04 20:01:37.298369 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.unclassified
## 2025-06-04 20:01:37.646897 INFO::Creating boxplot for categorical data, dysbiosisCD vs Ruminococcus.torques
## 2025-06-04 20:01:38.20377 INFO::Creating boxplot for categorical data, dysbiosisCD vs Coprobacillus.unclassified
## 2025-06-04 20:01:38.554441 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.cellulosilyticus
## 2025-06-04 20:01:38.823871 INFO::Creating boxplot for categorical data, dysbiosisCD vs Roseburia.intestinalis
## 2025-06-04 20:01:39.169218 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parabacteroides.unclassified
## 2025-06-04 20:01:39.578953 INFO::Creating boxplot for categorical data, dysbiosisCD vs Acidaminococcus.unclassified
## 2025-06-04 20:01:39.890982 INFO::Creating boxplot for categorical data, dysbiosisCD vs Barnesiella.intestinihominis
## 2025-06-04 20:01:40.16884 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.massiliensis
## 2025-06-04 20:01:40.547235 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.sp.3.1.31
## 2025-06-04 20:01:40.841362 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.salyersiae
## 2025-06-04 20:01:41.109524 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroidales.bacterium.ph8
## 2025-06-04 20:01:41.513043 INFO::Creating boxplot for categorical data, dysbiosisCD vs Clostridium.citroniae
## 2025-06-04 20:01:41.933617 INFO::Creating boxplot for categorical data, dysbiosisCD vs Flavonifractor.plautii
## 2025-06-04 20:01:42.372944 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parabacteroides.goldsteinii
## 2025-06-04 20:01:42.654089 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bifidobacterium.longum
## 2025-06-04 20:01:42.938477 INFO::Creating boxplot for categorical data, dysbiosisCD vs Lachnospiraceae.bacterium.1.1.57FAA
## 2025-06-04 20:01:46.790471 INFO::Plotting data for metadata number 2, dysbiosisUC
## 2025-06-04 20:01:46.79325 INFO::Creating boxplot for categorical data, dysbiosisUC vs Subdoligranulum.unclassified
## 2025-06-04 20:01:47.045077 INFO::Creating boxplot for categorical data, dysbiosisUC vs Faecalibacterium.prausnitzii
## 2025-06-04 20:01:47.409513 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.caccae
## 2025-06-04 20:01:47.76692 INFO::Creating boxplot for categorical data, dysbiosisUC vs Oscillibacter.unclassified
## 2025-06-04 20:01:48.109565 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.uniformis
## 2025-06-04 20:01:48.398091 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.siraeum
## 2025-06-04 20:01:48.654578 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.ovatus
## 2025-06-04 20:01:48.948037 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.fragilis
## 2025-06-04 20:01:49.254782 INFO::Creating boxplot for categorical data, dysbiosisUC vs Alistipes.shahii
## 2025-06-04 20:01:49.583966 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.rectale
## 2025-06-04 20:01:49.960804 INFO::Creating boxplot for categorical data, dysbiosisUC vs Roseburia.hominis
## 2025-06-04 20:01:50.244196 INFO::Creating boxplot for categorical data, dysbiosisUC vs Alistipes.putredinis
## 2025-06-04 20:01:50.542707 INFO::Creating boxplot for categorical data, dysbiosisUC vs Lachnospiraceae.bacterium.3.1.46FAA
## 2025-06-04 20:01:50.840141 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.hallii
## 2025-06-04 20:01:51.107085 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.xylanisolvens
## 2025-06-04 20:01:51.357059 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.stercoris
## 2025-06-04 20:01:51.62586 INFO::Creating boxplot for categorical data, dysbiosisUC vs Alistipes.finegoldii
## 2025-06-04 20:01:51.912761 INFO::Creating boxplot for categorical data, dysbiosisUC vs Barnesiella.intestinihominis
## 2025-06-04 20:01:52.219598 INFO::Creating boxplot for categorical data, dysbiosisUC vs Clostridium.leptum
## 2025-06-04 20:01:52.702503 INFO::Creating boxplot for categorical data, dysbiosisUC vs Ruminococcus.gnavus
## 2025-06-04 20:01:53.100402 INFO::Creating boxplot for categorical data, dysbiosisUC vs Alistipes.onderdonkii
## 2025-06-04 20:01:53.379109 INFO::Creating boxplot for categorical data, dysbiosisUC vs Flavonifractor.plautii
## 2025-06-04 20:01:53.636346 INFO::Creating boxplot for categorical data, dysbiosisUC vs Parabacteroides.merdae
## 2025-06-04 20:01:53.921852 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.cellulosilyticus
## 2025-06-04 20:01:54.188271 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bifidobacterium.longum
## 2025-06-04 20:01:54.532092 INFO::Creating boxplot for categorical data, dysbiosisUC vs Klebsiella.pneumoniae
## 2025-06-04 20:01:54.818565 INFO::Creating boxplot for categorical data, dysbiosisUC vs Clostridium.citroniae
## 2025-06-04 20:01:55.180409 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.ventriosum
## 2025-06-04 20:01:55.62247 INFO::Creating boxplot for categorical data, dysbiosisUC vs Parabacteroides.distasonis
## 2025-06-04 20:01:55.973331 INFO::Creating boxplot for categorical data, dysbiosisUC vs Parabacteroides.goldsteinii
## 2025-06-04 20:01:56.434497 INFO::Creating boxplot for categorical data, dysbiosisUC vs Ruminococcus.torques
## 2025-06-04 20:01:56.801214 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroidales.bacterium.ph8
## 2025-06-04 20:01:57.150807 INFO::Creating boxplot for categorical data, dysbiosisUC vs Ruminococcus.obeum
## 2025-06-04 20:01:57.498392 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bifidobacterium.bifidum
## 2025-06-04 20:01:57.797672 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bifidobacterium.adolescentis
## 2025-06-04 20:01:58.057561 INFO::Creating boxplot for categorical data, dysbiosisUC vs Collinsella.aerofaciens
## 2025-06-04 20:01:58.353482 INFO::Creating boxplot for categorical data, dysbiosisUC vs Clostridium.hathewayi
## 2025-06-04 20:01:58.679257 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bilophila.unclassified
## 2025-06-04 20:01:59.025773 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.eligens
## 2025-06-04 20:01:59.344137 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.vulgatus
## 2025-06-04 20:01:59.641027 INFO::Creating boxplot for categorical data, dysbiosisUC vs Clostridium.bolteae
## 2025-06-04 20:01:59.971887 INFO::Creating boxplot for categorical data, dysbiosisUC vs Dialister.invisus
## 2025-06-04 20:02:00.277507 INFO::Creating boxplot for categorical data, dysbiosisUC vs Ruminococcus.lactaris
## 2025-06-04 20:02:00.577328 INFO::Creating boxplot for categorical data, dysbiosisUC vs Burkholderiales.bacterium.1.1.47
## 2025-06-04 20:02:04.529102 INFO::Plotting data for metadata number 3, dysbiosisnonIBD
## 2025-06-04 20:02:04.532048 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Faecalibacterium.prausnitzii
## 2025-06-04 20:02:04.843022 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Eubacterium.rectale
## 2025-06-04 20:02:05.165557 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Eubacterium.sp.3.1.31
## 2025-06-04 20:02:05.445562 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Roseburia.hominis
## 2025-06-04 20:02:05.792174 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Subdoligranulum.unclassified
## 2025-06-04 20:02:06.063937 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Lachnospiraceae.bacterium.3.1.46FAA
## 2025-06-04 20:02:06.466501 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Ruminococcus.torques
## 2025-06-04 20:02:06.752982 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Clostridium.leptum
## 2025-06-04 20:02:07.068486 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Odoribacter.splanchnicus
## 2025-06-04 20:02:07.377457 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Escherichia.coli
## 2025-06-04 20:02:07.694708 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Ruminococcus.obeum
## 2025-06-04 20:02:07.972621 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bilophila.unclassified
## 2025-06-04 20:02:08.257816 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bacteroides.uniformis
## 2025-06-04 20:02:08.557562 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Eubacterium.eligens
## 2025-06-04 20:02:08.876523 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Klebsiella.pneumoniae
## 2025-06-04 20:02:09.326567 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Ruminococcus.bromii
## 2025-06-04 20:02:09.682487 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bacteroides.vulgatus
## 2025-06-04 20:02:10.044065 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs C2likevirus.unclassified
## 2025-06-04 20:02:10.322077 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bifidobacterium.adolescentis
## 2025-06-04 20:02:10.702152 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Alistipes.finegoldii
## 2025-06-04 20:02:11.081094 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Roseburia.inulinivorans
## 2025-06-04 20:02:11.469138 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Alistipes.onderdonkii
## 2025-06-04 20:02:11.775629 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Roseburia.unclassified
## 2025-06-04 20:02:12.090381 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Eubacterium.hallii
## 2025-06-04 20:02:12.513334 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Roseburia.intestinalis
## 2025-06-04 20:02:12.879122 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Prevotella.copri
## 2025-06-04 20:02:13.279023 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bacteroides.dorei
## 2025-06-04 20:02:13.536828 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bacteroides.fragilis
## 2025-06-04 20:02:13.890173 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Alistipes.shahii
## 2025-06-04 20:02:17.863048 INFO::Plotting data for metadata number 4, antibiotics
## 2025-06-04 20:02:17.866118 INFO::Creating boxplot for categorical data, antibiotics vs Roseburia.inulinivorans
## 2025-06-04 20:02:18.092545 INFO::Creating boxplot for categorical data, antibiotics vs Roseburia.hominis
## 2025-06-04 20:02:18.408799 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.rectale
## 2025-06-04 20:02:18.692448 INFO::Creating boxplot for categorical data, antibiotics vs Dialister.invisus
## 2025-06-04 20:02:19.01735 INFO::Creating boxplot for categorical data, antibiotics vs Roseburia.intestinalis
## 2025-06-04 20:02:19.324031 INFO::Creating boxplot for categorical data, antibiotics vs Dorea.longicatena
## 2025-06-04 20:02:19.632442 INFO::Creating boxplot for categorical data, antibiotics vs Ruminococcus.callidus
## 2025-06-04 20:02:19.901091 INFO::Creating boxplot for categorical data, antibiotics vs Ruminococcus.bromii
## 2025-06-04 20:02:20.191305 INFO::Creating boxplot for categorical data, antibiotics vs Ruminococcus.obeum
## 2025-06-04 20:02:20.461454 INFO::Creating boxplot for categorical data, antibiotics vs Klebsiella.pneumoniae
## 2025-06-04 20:02:20.783197 INFO::Creating boxplot for categorical data, antibiotics vs Bifidobacterium.adolescentis
## 2025-06-04 20:02:21.10144 INFO::Creating boxplot for categorical data, antibiotics vs Faecalibacterium.prausnitzii
## 2025-06-04 20:02:21.410931 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.hallii
## 2025-06-04 20:02:21.819131 INFO::Creating boxplot for categorical data, antibiotics vs Bilophila.unclassified
## 2025-06-04 20:02:22.284974 INFO::Creating boxplot for categorical data, antibiotics vs Clostridium.leptum
## 2025-06-04 20:02:22.574938 INFO::Creating boxplot for categorical data, antibiotics vs Lachnospiraceae.bacterium.3.1.46FAA
## 2025-06-04 20:02:22.870793 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroides.finegoldii
## 2025-06-04 20:02:23.123217 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.sp.3.1.31
## 2025-06-04 20:02:23.404163 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroides.fragilis
## 2025-06-04 20:02:23.66484 INFO::Creating boxplot for categorical data, antibiotics vs Alistipes.onderdonkii
## 2025-06-04 20:02:23.935441 INFO::Creating boxplot for categorical data, antibiotics vs Sutterella.wadsworthensis
## 2025-06-04 20:02:24.21408 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.eligens
## 2025-06-04 20:02:24.482535 INFO::Creating boxplot for categorical data, antibiotics vs Collinsella.aerofaciens
## 2025-06-04 20:02:24.788759 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroides.thetaiotaomicron
## 2025-06-04 20:02:25.044703 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroides.eggerthii
## 2025-06-04 20:02:25.376467 INFO::Creating boxplot for categorical data, antibiotics vs Haemophilus.parainfluenzae
## 2025-06-04 20:02:25.751592 INFO::Creating boxplot for categorical data, antibiotics vs Bifidobacterium.pseudocatenulatum
## 2025-06-04 20:02:26.1084 INFO::Creating boxplot for categorical data, antibiotics vs Ruminococcus.torques
## 2025-06-04 20:02:26.392262 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.ventriosum
## 2025-06-04 20:02:26.80599 INFO::Creating boxplot for categorical data, antibiotics vs Parasutterella.excrementihominis
## 2025-06-04 20:02:27.217058 INFO::Creating boxplot for categorical data, antibiotics vs Peptostreptococcaceae.noname.unclassified
## 2025-06-04 20:02:27.558054 INFO::Creating boxplot for categorical data, antibiotics vs Veillonella.dispar
## 2025-06-04 20:02:27.83482 INFO::Creating boxplot for categorical data, antibiotics vs Veillonella.atypica
## 2025-06-04 20:02:28.153303 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroidales.bacterium.ph8
## 2025-06-04 20:02:28.485931 INFO::Creating boxplot for categorical data, antibiotics vs Clostridium.nexile
## 2025-06-04 20:02:28.776767 INFO::Creating boxplot for categorical data, antibiotics vs Burkholderiales.bacterium.1.1.47
## 2025-06-04 20:02:29.190082 INFO::Creating boxplot for categorical data, antibiotics vs Lachnospiraceae.bacterium.1.1.57FAA
## 2025-06-04 20:02:29.459772 INFO::Creating boxplot for categorical data, antibiotics vs Akkermansia.muciniphila
## 2025-06-04 20:02:29.732515 INFO::Creating boxplot for categorical data, antibiotics vs Clostridium.citroniae
## 2025-06-04 20:02:29.997285 INFO::Creating boxplot for categorical data, antibiotics vs Odoribacter.splanchnicus
## 2025-06-04 20:02:33.873253 INFO::Plotting data for metadata number 5, age
## 2025-06-04 20:02:33.876176 INFO::Creating scatter plot for continuous data, age vs Haemophilus.parainfluenzae
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_point()`).
## 2025-06-04 20:02:34.216245 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()`).
## 2025-06-04 20:02:34.608747 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()`).
## 2025-06-04 20:02:34.958928 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()`).
## 2025-06-04 20:02:35.229996 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()`).
## 2025-06-04 20:02:35.517907 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()`).
## 2025-06-04 20:02:35.77797 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()`).
## 2025-06-04 20:02:36.09667 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()`).
## 2025-06-04 20:02:36.382501 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()`).
## 2025-06-04 20:02:36.639251 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()`).
## 2025-06-04 20:02:36.95081 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()`).
## 2025-06-04 20:02:37.304106 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()`).
## 2025-06-04 20:02:37.602923 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()`).
## 2025-06-04 20:02:37.892476 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()`).
## 2025-06-04 20:02:38.169178 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()`).
## 2025-06-04 20:02:38.45713 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()`).
## 2025-06-04 20:02:38.749776 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()`).
## 2025-06-04 20:02:38.996766 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()`).
## 2025-06-04 20:02:39.285083 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()`).
## 2025-06-04 20:02:39.585128 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()`).
## 2025-06-04 20:02:39.983032 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()`).
## 2025-06-04 20:02:40.334342 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()`).
## 2025-06-04 20:02:46.332221 INFO::Plotting data for metadata number 6, diagnosis
## 2025-06-04 20:02:46.336159 INFO::Creating boxplot for categorical data, diagnosis vs Bifidobacterium.adolescentis
## 2025-06-04 20:02:46.621164 INFO::Creating boxplot for categorical data, diagnosis vs Akkermansia.muciniphila
## 2025-06-04 20:02:46.900822 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.bolteae
## 2025-06-04 20:02:47.320259 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.putredinis
## 2025-06-04 20:02:47.704815 INFO::Creating boxplot for categorical data, diagnosis vs Coprobacillus.unclassified
## 2025-06-04 20:02:48.08988 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.clostridioforme
## 2025-06-04 20:02:48.400517 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.shahii
## 2025-06-04 20:02:48.701737 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.bromii
## 2025-06-04 20:02:48.954342 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.leptum
## 2025-06-04 20:02:49.335962 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.symbiosum
## 2025-06-04 20:02:49.621873 INFO::Creating boxplot for categorical data, diagnosis vs Roseburia.inulinivorans
## 2025-06-04 20:02:50.013023 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.bromii
## 2025-06-04 20:02:50.303446 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.shahii
## 2025-06-04 20:02:50.701134 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.finegoldii
## 2025-06-04 20:02:51.113861 INFO::Creating boxplot for categorical data, diagnosis vs Parabacteroides.goldsteinii
## 2025-06-04 20:02:51.515074 INFO::Creating boxplot for categorical data, diagnosis vs Bilophila.unclassified
## 2025-06-04 20:02:51.91213 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.leptum
## 2025-06-04 20:02:52.306738 INFO::Creating boxplot for categorical data, diagnosis vs Roseburia.hominis
## 2025-06-04 20:02:52.618015 INFO::Creating boxplot for categorical data, diagnosis vs Coprobacillus.unclassified
## 2025-06-04 20:02:52.882609 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.onderdonkii
## 2025-06-04 20:02:53.139178 INFO::Creating boxplot for categorical data, diagnosis vs Eubacterium.ventriosum
## 2025-06-04 20:02:53.412628 INFO::Creating boxplot for categorical data, diagnosis vs Roseburia.hominis
## 2025-06-04 20:02:53.731428 INFO::Creating boxplot for categorical data, diagnosis vs Sutterella.wadsworthensis
## 2025-06-04 20:02:54.022849 INFO::Creating boxplot for categorical data, diagnosis vs Akkermansia.muciniphila
## 2025-06-04 20:02:54.323194 INFO::Creating boxplot for categorical data, diagnosis vs Sutterella.wadsworthensis
## 2025-06-04 20:02:54.669878 INFO::Creating boxplot for categorical data, diagnosis vs Subdoligranulum.unclassified
## 2025-06-04 20:02:54.987484 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.symbiosum
## 2025-06-04 20:02:55.372561 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.onderdonkii
## 2025-06-04 20:02:55.7891 INFO::Creating boxplot for categorical data, diagnosis vs Parabacteroides.unclassified
## 2025-06-04 20:02:56.039783 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.lactaris
## 2025-06-04 20:02:56.390777 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.callidus
## 2025-06-04 20:02:56.651484 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.gnavus
## 2025-06-04 20:02:56.91254 INFO::Creating boxplot for categorical data, diagnosis vs Bacteroides.fragilis
## 2025-06-04 20:02:57.223823 INFO::Creating boxplot for categorical data, diagnosis vs Eubacterium.rectale
## 2025-06-04 20:02:57.633909 INFO::Creating boxplot for categorical data, diagnosis vs Odoribacter.splanchnicus
## 2025-06-04 20:02:58.133955 INFO::Creating boxplot for categorical data, diagnosis vs Parabacteroides.distasonis
## 2025-06-04 20:02:58.5442 INFO::Creating boxplot for categorical data, diagnosis vs Eubacterium.rectale
## 2025-06-04 20:02:58.961703 INFO::Creating boxplot for categorical data, diagnosis vs Bacteroides.finegoldii
## 2025-06-04 20:02:59.243516 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.callidus
## 2025-06-04 20:02:59.532924 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.finegoldii
## 2025-06-04 20:02:59.824577 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.putredinis
## 2025-06-04 20:03:00.087606 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.bolteae
## 2025-06-04 20:03:00.493878 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.5.0 (2025-04-11 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows Server 2022 x64 (build 20348)
##
## Matrix products: default
## LAPACK version 3.12.1
##
## locale:
## [1] LC_COLLATE=C
## [2] LC_CTYPE=English_United States.utf8
## [3] LC_MONETARY=English_United States.utf8
## [4] LC_NUMERIC=C
## [5] LC_TIME=English_United States.utf8
##
## 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.23.0
##
## loaded via a namespace (and not attached):
## [1] gtable_0.3.6 biglm_0.9-3 xfun_0.52
## [4] bslib_0.9.0 ggplot2_3.5.2 lattice_0.22-7
## [7] numDeriv_2016.8-1.1 vctrs_0.6.5 tools_4.5.0
## [10] Rdpack_2.6.4 generics_0.1.4 parallel_4.5.0
## [13] getopt_1.20.4 tibble_3.2.1 DEoptimR_1.1-3-1
## [16] cluster_2.1.8.1 pkgconfig_2.0.3 logging_0.10-108
## [19] pheatmap_1.0.12 Matrix_1.7-3 data.table_1.17.4
## [22] RColorBrewer_1.1-3 lifecycle_1.0.4 compiler_4.5.0
## [25] farver_2.1.2 lmerTest_3.1-3 permute_0.9-7
## [28] htmltools_0.5.8.1 sass_0.4.10 hash_2.2.6.3
## [31] yaml_2.3.10 pillar_1.10.2 nloptr_2.2.1
## [34] crayon_1.5.3 jquerylib_0.1.4 MASS_7.3-65
## [37] cachem_1.1.0 vegan_2.6-10 reformulas_0.4.1
## [40] boot_1.3-31 nlme_3.1-168 robustbase_0.99-4-1
## [43] tidyselect_1.2.1 digest_0.6.37 mvtnorm_1.3-3
## [46] dplyr_1.1.4 labeling_0.4.3 splines_4.5.0
## [49] pcaPP_2.0-5 fastmap_1.2.0 grid_4.5.0
## [52] cli_3.6.5 magrittr_2.0.3 dichromat_2.0-0.1
## [55] withr_3.0.2 scales_1.4.0 rmarkdown_2.29
## [58] lme4_1.1-37 pbapply_1.7-2 evaluate_1.0.3
## [61] knitr_1.50 rbibutils_2.3 mgcv_1.9-3
## [64] rlang_1.1.6 Rcpp_1.0.14 glue_1.8.0
## [67] optparse_1.7.5 DBI_1.2.3 minqa_1.2.8
## [70] 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?