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-03-25 19:59:15.159001 INFO::Writing function arguments to log file
## 2025-03-25 19:59:15.213062 INFO::Verifying options selected are valid
## 2025-03-25 19:59:15.263337 INFO::Determining format of input files
## 2025-03-25 19:59:15.266235 INFO::Input format is data samples as rows and metadata samples as rows
## 2025-03-25 19:59:15.275347 INFO::Formula for random effects: expr ~ (1 | site) + (1 | subject)
## 2025-03-25 19:59:15.27732 INFO::Formula for fixed effects: expr ~ diagnosis + dysbiosisnonIBD + dysbiosisUC + dysbiosisCD + antibiotics + age
## 2025-03-25 19:59:15.280253 INFO::Filter data based on min abundance and min prevalence
## 2025-03-25 19:59:15.28731 INFO::Total samples in data: 1595
## 2025-03-25 19:59:15.288868 INFO::Min samples required with min abundance for a feature not to be filtered: 159.500000
## 2025-03-25 19:59:15.293733 INFO::Total filtered features: 0
## 2025-03-25 19:59:15.295501 INFO::Filtered feature names from abundance and prevalence filtering:
## 2025-03-25 19:59:15.304114 INFO::Total filtered features with variance filtering: 0
## 2025-03-25 19:59:15.305898 INFO::Filtered feature names from variance filtering:
## 2025-03-25 19:59:15.307378 INFO::Running selected normalization method: TSS
## 2025-03-25 19:59:16.548253 INFO::Bypass z-score application to metadata
## 2025-03-25 19:59:16.550934 INFO::Running selected transform method: LOG
## 2025-03-25 19:59:16.580472 INFO::Running selected analysis method: LM
## 2025-03-25 19:59:17.020173 INFO::Fitting model to feature number 1, Bifidobacterium.adolescentis
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:17.48184 INFO::Fitting model to feature number 2, Bifidobacterium.bifidum
## 2025-03-25 19:59:17.853282 INFO::Fitting model to feature number 3, Bifidobacterium.longum
## 2025-03-25 19:59:17.990964 INFO::Fitting model to feature number 4, Bifidobacterium.pseudocatenulatum
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:18.142358 INFO::Fitting model to feature number 5, Collinsella.aerofaciens
## 2025-03-25 19:59:18.363256 INFO::Fitting model to feature number 6, Bacteroides.caccae
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:18.590579 INFO::Fitting model to feature number 7, Bacteroides.cellulosilyticus
## 2025-03-25 19:59:18.800642 INFO::Fitting model to feature number 8, Bacteroides.dorei
## 2025-03-25 19:59:19.037797 INFO::Fitting model to feature number 9, Bacteroides.eggerthii
## 2025-03-25 19:59:19.274636 INFO::Fitting model to feature number 10, Bacteroides.faecis
## 2025-03-25 19:59:19.497025 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-03-25 19:59:19.647302 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-03-25 19:59:19.836503 INFO::Fitting model to feature number 12, Bacteroides.fragilis
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:20.074432 INFO::Fitting model to feature number 13, Bacteroides.intestinalis
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:20.24989 INFO::Fitting model to feature number 14, Bacteroides.massiliensis
## 2025-03-25 19:59:20.383739 INFO::Fitting model to feature number 15, Bacteroides.ovatus
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:20.530528 INFO::Fitting model to feature number 16, Bacteroides.salyersiae
## 2025-03-25 19:59:20.665823 INFO::Fitting model to feature number 17, Bacteroides.stercoris
## 2025-03-25 19:59:20.806218 INFO::Fitting model to feature number 18, Bacteroides.thetaiotaomicron
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:20.954054 INFO::Fitting model to feature number 19, Bacteroides.uniformis
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:21.106089 INFO::Fitting model to feature number 20, Bacteroides.vulgatus
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:21.266706 INFO::Fitting model to feature number 21, Bacteroides.xylanisolvens
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:21.41638 INFO::Fitting model to feature number 22, Bacteroidales.bacterium.ph8
## 2025-03-25 19:59:21.571028 INFO::Fitting model to feature number 23, Barnesiella.intestinihominis
## 2025-03-25 19:59:21.699581 INFO::Fitting model to feature number 24, Coprobacter.fastidiosus
## 2025-03-25 19:59:21.835668 INFO::Fitting model to feature number 25, Odoribacter.splanchnicus
## 2025-03-25 19:59:22.006406 INFO::Fitting model to feature number 26, Parabacteroides.distasonis
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:22.154519 INFO::Fitting model to feature number 27, Parabacteroides.goldsteinii
## 2025-03-25 19:59:22.33134 INFO::Fitting model to feature number 28, Parabacteroides.merdae
## 2025-03-25 19:59:22.468815 INFO::Fitting model to feature number 29, Parabacteroides.unclassified
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:22.640079 INFO::Fitting model to feature number 30, Paraprevotella.clara
## 2025-03-25 19:59:22.823174 INFO::Fitting model to feature number 31, Paraprevotella.unclassified
## 2025-03-25 19:59:23.024951 INFO::Fitting model to feature number 32, Prevotella.copri
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:23.166403 INFO::Fitting model to feature number 33, Alistipes.finegoldii
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:23.336696 INFO::Fitting model to feature number 34, Alistipes.onderdonkii
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:23.527263 INFO::Fitting model to feature number 35, Alistipes.putredinis
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:23.662026 INFO::Fitting model to feature number 36, Alistipes.shahii
## 2025-03-25 19:59:23.892303 INFO::Fitting model to feature number 37, Alistipes.unclassified
## 2025-03-25 19:59:24.063944 INFO::Fitting model to feature number 38, Streptococcus.salivarius
## 2025-03-25 19:59:24.19938 INFO::Fitting model to feature number 39, Clostridium.bolteae
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:24.339491 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-03-25 19:59:24.448259 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-03-25 19:59:24.58806 INFO::Fitting model to feature number 41, Clostridium.clostridioforme
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:24.712824 INFO::Fitting model to feature number 42, Clostridium.hathewayi
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:24.845966 INFO::Fitting model to feature number 43, Clostridium.leptum
## 2025-03-25 19:59:25.00017 INFO::Fitting model to feature number 44, Clostridium.nexile
## 2025-03-25 19:59:25.1332 INFO::Fitting model to feature number 45, Clostridium.symbiosum
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:25.267783 INFO::Fitting model to feature number 46, Flavonifractor.plautii
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:25.471138 INFO::Fitting model to feature number 47, Eubacterium.eligens
## 2025-03-25 19:59:25.649985 INFO::Fitting model to feature number 48, Eubacterium.hallii
## 2025-03-25 19:59:25.829101 INFO::Fitting model to feature number 49, Eubacterium.rectale
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:25.967047 INFO::Fitting model to feature number 50, Eubacterium.siraeum
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:26.126485 INFO::Fitting model to feature number 51, Eubacterium.sp.3.1.31
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:26.328142 INFO::Fitting model to feature number 52, Eubacterium.ventriosum
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:26.478651 INFO::Fitting model to feature number 53, Ruminococcus.gnavus
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:26.636247 INFO::Fitting model to feature number 54, Ruminococcus.obeum
## 2025-03-25 19:59:26.778063 INFO::Fitting model to feature number 55, Ruminococcus.torques
## 2025-03-25 19:59:26.928012 INFO::Fitting model to feature number 56, Coprococcus.comes
## 2025-03-25 19:59:27.074794 INFO::Fitting model to feature number 57, Dorea.longicatena
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:27.256251 INFO::Fitting model to feature number 58, Lachnospiraceae.bacterium.1.1.57FAA
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:27.504213 INFO::Fitting model to feature number 59, Lachnospiraceae.bacterium.3.1.46FAA
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:27.678826 INFO::Fitting model to feature number 60, Roseburia.hominis
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:27.875474 INFO::Fitting model to feature number 61, Roseburia.intestinalis
## 2025-03-25 19:59:28.083311 INFO::Fitting model to feature number 62, Roseburia.inulinivorans
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:28.21353 INFO::Fitting model to feature number 63, Roseburia.unclassified
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:28.404608 INFO::Fitting model to feature number 64, Oscillibacter.unclassified
## 2025-03-25 19:59:28.807926 INFO::Fitting model to feature number 65, Peptostreptococcaceae.noname.unclassified
## 2025-03-25 19:59:28.945265 INFO::Fitting model to feature number 66, Faecalibacterium.prausnitzii
## 2025-03-25 19:59:29.083377 INFO::Fitting model to feature number 67, Ruminococcus.bromii
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:29.233675 INFO::Fitting model to feature number 68, Ruminococcus.callidus
## 2025-03-25 19:59:29.357741 INFO::Fitting model to feature number 69, Ruminococcus.lactaris
## 2025-03-25 19:59:29.51117 INFO::Fitting model to feature number 70, Subdoligranulum.unclassified
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:29.64841 INFO::Fitting model to feature number 71, Coprobacillus.unclassified
## 2025-03-25 19:59:29.808505 INFO::Fitting model to feature number 72, Acidaminococcus.unclassified
## 2025-03-25 19:59:29.973438 INFO::Fitting model to feature number 73, Dialister.invisus
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:30.106698 INFO::Fitting model to feature number 74, Veillonella.atypica
## 2025-03-25 19:59:30.239825 INFO::Fitting model to feature number 75, Veillonella.dispar
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:30.368399 INFO::Fitting model to feature number 76, Veillonella.parvula
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:30.505182 INFO::Fitting model to feature number 77, Veillonella.unclassified
## 2025-03-25 19:59:30.626534 INFO::Fitting model to feature number 78, Burkholderiales.bacterium.1.1.47
## 2025-03-25 19:59:30.753126 INFO::Fitting model to feature number 79, Parasutterella.excrementihominis
## 2025-03-25 19:59:30.886772 INFO::Fitting model to feature number 80, Sutterella.wadsworthensis
## 2025-03-25 19:59:31.066153 INFO::Fitting model to feature number 81, Bilophila.unclassified
## 2025-03-25 19:59:31.288619 INFO::Fitting model to feature number 82, Escherichia.coli
## 2025-03-25 19:59:31.499644 INFO::Fitting model to feature number 83, Escherichia.unclassified
## 2025-03-25 19:59:31.62417 INFO::Fitting model to feature number 84, Klebsiella.pneumoniae
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:31.759524 INFO::Fitting model to feature number 85, Haemophilus.parainfluenzae
## boundary (singular) fit: see help('isSingular')
## 2025-03-25 19:59:31.903586 INFO::Fitting model to feature number 86, Akkermansia.muciniphila
## 2025-03-25 19:59:32.034289 INFO::Fitting model to feature number 87, C2likevirus.unclassified
## 2025-03-25 19:59:32.213668 INFO::Counting total values for each feature
## 2025-03-25 19:59:32.25182 INFO::Writing filtered data to file demo_output/features/filtered_data.tsv
## 2025-03-25 19:59:32.602047 INFO::Writing filtered, normalized data to file demo_output/features/filtered_data_norm.tsv
## 2025-03-25 19:59:33.034435 INFO::Writing filtered, normalized, transformed data to file demo_output/features/filtered_data_norm_transformed.tsv
## 2025-03-25 19:59:33.65232 INFO::Writing residuals to file demo_output/fits/residuals.rds
## 2025-03-25 19:59:33.7021 INFO::Writing fitted values to file demo_output/fits/fitted.rds
## 2025-03-25 19:59:33.734364 INFO::Writing extracted random effects to file demo_output/fits/ranef.rds
## 2025-03-25 19:59:33.743253 INFO::Writing all results to file (ordered by increasing q-values): demo_output/all_results.tsv
## 2025-03-25 19:59:33.75928 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-03-25 19:59:33.766814 INFO::Writing heatmap of significant results to file: demo_output/heatmap.pdf
## 2025-03-25 19:59:34.040206 INFO::Writing association plots (one for each significant association) to output folder: demo_output
## 2025-03-25 19:59:34.047013 INFO::Plotting associations from most to least significant, grouped by metadata
## 2025-03-25 19:59:34.048937 INFO::Plotting data for metadata number 1, dysbiosisCD
## 2025-03-25 19:59:34.051514 INFO::Creating boxplot for categorical data, dysbiosisCD vs Faecalibacterium.prausnitzii
## 2025-03-25 19:59:34.456861 INFO::Creating boxplot for categorical data, dysbiosisCD vs Subdoligranulum.unclassified
## 2025-03-25 19:59:34.77698 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.uniformis
## 2025-03-25 19:59:35.220872 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.rectale
## 2025-03-25 19:59:35.626902 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.vulgatus
## 2025-03-25 19:59:35.924166 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.ovatus
## 2025-03-25 19:59:36.199161 INFO::Creating boxplot for categorical data, dysbiosisCD vs Ruminococcus.obeum
## 2025-03-25 19:59:36.491744 INFO::Creating boxplot for categorical data, dysbiosisCD vs Oscillibacter.unclassified
## 2025-03-25 19:59:36.745813 INFO::Creating boxplot for categorical data, dysbiosisCD vs Roseburia.inulinivorans
## 2025-03-25 19:59:37.068534 INFO::Creating boxplot for categorical data, dysbiosisCD vs Roseburia.hominis
## 2025-03-25 19:59:37.450567 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.thetaiotaomicron
## 2025-03-25 19:59:37.841338 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.putredinis
## 2025-03-25 19:59:38.226243 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parabacteroides.distasonis
## 2025-03-25 19:59:38.575615 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.dorei
## 2025-03-25 19:59:38.886703 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.shahii
## 2025-03-25 19:59:39.248122 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.xylanisolvens
## 2025-03-25 19:59:39.580261 INFO::Creating boxplot for categorical data, dysbiosisCD vs Clostridium.leptum
## 2025-03-25 19:59:39.901184 INFO::Creating boxplot for categorical data, dysbiosisCD vs Dorea.longicatena
## 2025-03-25 19:59:40.301337 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.caccae
## 2025-03-25 19:59:40.646048 INFO::Creating boxplot for categorical data, dysbiosisCD vs Lachnospiraceae.bacterium.3.1.46FAA
## 2025-03-25 19:59:41.033493 INFO::Creating boxplot for categorical data, dysbiosisCD vs Escherichia.coli
## 2025-03-25 19:59:41.434905 INFO::Creating boxplot for categorical data, dysbiosisCD vs Klebsiella.pneumoniae
## 2025-03-25 19:59:41.773752 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bilophila.unclassified
## 2025-03-25 19:59:42.134349 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.finegoldii
## 2025-03-25 19:59:42.469822 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.eligens
## 2025-03-25 19:59:42.907768 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.stercoris
## 2025-03-25 19:59:43.310093 INFO::Creating boxplot for categorical data, dysbiosisCD vs Coprococcus.comes
## 2025-03-25 19:59:43.673226 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.fragilis
## 2025-03-25 19:59:44.027246 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.finegoldii
## 2025-03-25 19:59:44.393917 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.hallii
## 2025-03-25 19:59:44.637667 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.faecis
## 2025-03-25 19:59:44.928788 INFO::Creating boxplot for categorical data, dysbiosisCD vs Paraprevotella.clara
## 2025-03-25 19:59:45.16857 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.siraeum
## 2025-03-25 19:59:45.476695 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parabacteroides.merdae
## 2025-03-25 19:59:45.871429 INFO::Creating boxplot for categorical data, dysbiosisCD vs Paraprevotella.unclassified
## 2025-03-25 19:59:46.185441 INFO::Creating boxplot for categorical data, dysbiosisCD vs Collinsella.aerofaciens
## 2025-03-25 19:59:46.432497 INFO::Creating boxplot for categorical data, dysbiosisCD vs Odoribacter.splanchnicus
## 2025-03-25 19:59:46.69034 INFO::Creating boxplot for categorical data, dysbiosisCD vs Clostridium.clostridioforme
## 2025-03-25 19:59:47.047945 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.eggerthii
## 2025-03-25 19:59:47.350807 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.onderdonkii
## 2025-03-25 19:59:48.026336 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.ventriosum
## 2025-03-25 19:59:48.447898 INFO::Creating boxplot for categorical data, dysbiosisCD vs Ruminococcus.lactaris
## 2025-03-25 19:59:48.810499 INFO::Creating boxplot for categorical data, dysbiosisCD vs Burkholderiales.bacterium.1.1.47
## 2025-03-25 19:59:49.131146 INFO::Creating boxplot for categorical data, dysbiosisCD vs Dialister.invisus
## 2025-03-25 19:59:49.503449 INFO::Creating boxplot for categorical data, dysbiosisCD vs Ruminococcus.bromii
## 2025-03-25 19:59:49.805914 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parasutterella.excrementihominis
## 2025-03-25 19:59:50.064527 INFO::Creating boxplot for categorical data, dysbiosisCD vs Alistipes.unclassified
## 2025-03-25 19:59:50.309734 INFO::Creating boxplot for categorical data, dysbiosisCD vs Ruminococcus.torques
## 2025-03-25 19:59:50.563266 INFO::Creating boxplot for categorical data, dysbiosisCD vs Coprobacillus.unclassified
## 2025-03-25 19:59:50.814777 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.cellulosilyticus
## 2025-03-25 19:59:51.198849 INFO::Creating boxplot for categorical data, dysbiosisCD vs Roseburia.intestinalis
## 2025-03-25 19:59:51.442308 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parabacteroides.unclassified
## 2025-03-25 19:59:51.711831 INFO::Creating boxplot for categorical data, dysbiosisCD vs Acidaminococcus.unclassified
## 2025-03-25 19:59:51.972978 INFO::Creating boxplot for categorical data, dysbiosisCD vs Barnesiella.intestinihominis
## 2025-03-25 19:59:52.335207 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.massiliensis
## 2025-03-25 19:59:52.58233 INFO::Creating boxplot for categorical data, dysbiosisCD vs Eubacterium.sp.3.1.31
## 2025-03-25 19:59:52.846367 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroides.salyersiae
## 2025-03-25 19:59:53.130609 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bacteroidales.bacterium.ph8
## 2025-03-25 19:59:53.446455 INFO::Creating boxplot for categorical data, dysbiosisCD vs Clostridium.citroniae
## 2025-03-25 19:59:53.858467 INFO::Creating boxplot for categorical data, dysbiosisCD vs Flavonifractor.plautii
## 2025-03-25 19:59:54.247977 INFO::Creating boxplot for categorical data, dysbiosisCD vs Parabacteroides.goldsteinii
## 2025-03-25 19:59:54.607711 INFO::Creating boxplot for categorical data, dysbiosisCD vs Bifidobacterium.longum
## 2025-03-25 19:59:54.865459 INFO::Creating boxplot for categorical data, dysbiosisCD vs Lachnospiraceae.bacterium.1.1.57FAA
## 2025-03-25 19:59:58.704734 INFO::Plotting data for metadata number 2, dysbiosisUC
## 2025-03-25 19:59:58.7077 INFO::Creating boxplot for categorical data, dysbiosisUC vs Subdoligranulum.unclassified
## 2025-03-25 19:59:58.999813 INFO::Creating boxplot for categorical data, dysbiosisUC vs Faecalibacterium.prausnitzii
## 2025-03-25 19:59:59.327426 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.caccae
## 2025-03-25 19:59:59.678314 INFO::Creating boxplot for categorical data, dysbiosisUC vs Oscillibacter.unclassified
## 2025-03-25 20:00:00.123164 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.uniformis
## 2025-03-25 20:00:00.450993 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.siraeum
## 2025-03-25 20:00:00.817193 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.ovatus
## 2025-03-25 20:00:01.219926 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.fragilis
## 2025-03-25 20:00:01.586358 INFO::Creating boxplot for categorical data, dysbiosisUC vs Alistipes.shahii
## 2025-03-25 20:00:01.915353 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.rectale
## 2025-03-25 20:00:02.338679 INFO::Creating boxplot for categorical data, dysbiosisUC vs Roseburia.hominis
## 2025-03-25 20:00:02.732275 INFO::Creating boxplot for categorical data, dysbiosisUC vs Alistipes.putredinis
## 2025-03-25 20:00:03.017373 INFO::Creating boxplot for categorical data, dysbiosisUC vs Lachnospiraceae.bacterium.3.1.46FAA
## 2025-03-25 20:00:03.360347 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.hallii
## 2025-03-25 20:00:03.689542 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.xylanisolvens
## 2025-03-25 20:00:04.051098 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.stercoris
## 2025-03-25 20:00:04.374493 INFO::Creating boxplot for categorical data, dysbiosisUC vs Alistipes.finegoldii
## 2025-03-25 20:00:04.774656 INFO::Creating boxplot for categorical data, dysbiosisUC vs Barnesiella.intestinihominis
## 2025-03-25 20:00:05.172732 INFO::Creating boxplot for categorical data, dysbiosisUC vs Clostridium.leptum
## 2025-03-25 20:00:05.573528 INFO::Creating boxplot for categorical data, dysbiosisUC vs Ruminococcus.gnavus
## 2025-03-25 20:00:05.970019 INFO::Creating boxplot for categorical data, dysbiosisUC vs Alistipes.onderdonkii
## 2025-03-25 20:00:06.396958 INFO::Creating boxplot for categorical data, dysbiosisUC vs Flavonifractor.plautii
## 2025-03-25 20:00:06.839428 INFO::Creating boxplot for categorical data, dysbiosisUC vs Parabacteroides.merdae
## 2025-03-25 20:00:07.248283 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.cellulosilyticus
## 2025-03-25 20:00:07.543447 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bifidobacterium.longum
## 2025-03-25 20:00:07.877722 INFO::Creating boxplot for categorical data, dysbiosisUC vs Klebsiella.pneumoniae
## 2025-03-25 20:00:08.261414 INFO::Creating boxplot for categorical data, dysbiosisUC vs Clostridium.citroniae
## 2025-03-25 20:00:08.527682 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.ventriosum
## 2025-03-25 20:00:09.375497 INFO::Creating boxplot for categorical data, dysbiosisUC vs Parabacteroides.distasonis
## 2025-03-25 20:00:09.761047 INFO::Creating boxplot for categorical data, dysbiosisUC vs Parabacteroides.goldsteinii
## 2025-03-25 20:00:10.162014 INFO::Creating boxplot for categorical data, dysbiosisUC vs Ruminococcus.torques
## 2025-03-25 20:00:10.559761 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroidales.bacterium.ph8
## 2025-03-25 20:00:10.985564 INFO::Creating boxplot for categorical data, dysbiosisUC vs Ruminococcus.obeum
## 2025-03-25 20:00:11.396516 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bifidobacterium.bifidum
## 2025-03-25 20:00:11.704844 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bifidobacterium.adolescentis
## 2025-03-25 20:00:12.164046 INFO::Creating boxplot for categorical data, dysbiosisUC vs Collinsella.aerofaciens
## 2025-03-25 20:00:12.552063 INFO::Creating boxplot for categorical data, dysbiosisUC vs Clostridium.hathewayi
## 2025-03-25 20:00:12.925282 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bilophila.unclassified
## 2025-03-25 20:00:13.295681 INFO::Creating boxplot for categorical data, dysbiosisUC vs Eubacterium.eligens
## 2025-03-25 20:00:13.679727 INFO::Creating boxplot for categorical data, dysbiosisUC vs Bacteroides.vulgatus
## 2025-03-25 20:00:14.008054 INFO::Creating boxplot for categorical data, dysbiosisUC vs Clostridium.bolteae
## 2025-03-25 20:00:14.408276 INFO::Creating boxplot for categorical data, dysbiosisUC vs Dialister.invisus
## 2025-03-25 20:00:14.722964 INFO::Creating boxplot for categorical data, dysbiosisUC vs Ruminococcus.lactaris
## 2025-03-25 20:00:15.073767 INFO::Creating boxplot for categorical data, dysbiosisUC vs Burkholderiales.bacterium.1.1.47
## 2025-03-25 20:00:18.99156 INFO::Plotting data for metadata number 3, dysbiosisnonIBD
## 2025-03-25 20:00:18.995881 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Faecalibacterium.prausnitzii
## 2025-03-25 20:00:19.36156 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Eubacterium.rectale
## 2025-03-25 20:00:19.713348 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Eubacterium.sp.3.1.31
## 2025-03-25 20:00:20.06335 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Roseburia.hominis
## 2025-03-25 20:00:20.316704 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Subdoligranulum.unclassified
## 2025-03-25 20:00:20.58241 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Lachnospiraceae.bacterium.3.1.46FAA
## 2025-03-25 20:00:20.838452 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Ruminococcus.torques
## 2025-03-25 20:00:21.105688 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Clostridium.leptum
## 2025-03-25 20:00:21.361993 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Odoribacter.splanchnicus
## 2025-03-25 20:00:21.626233 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Escherichia.coli
## 2025-03-25 20:00:21.902973 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Ruminococcus.obeum
## 2025-03-25 20:00:22.298306 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bilophila.unclassified
## 2025-03-25 20:00:22.60461 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bacteroides.uniformis
## 2025-03-25 20:00:22.945412 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Eubacterium.eligens
## 2025-03-25 20:00:23.223722 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Klebsiella.pneumoniae
## 2025-03-25 20:00:23.477905 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Ruminococcus.bromii
## 2025-03-25 20:00:23.756187 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bacteroides.vulgatus
## 2025-03-25 20:00:24.028082 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs C2likevirus.unclassified
## 2025-03-25 20:00:24.71539 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bifidobacterium.adolescentis
## 2025-03-25 20:00:25.071235 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Alistipes.finegoldii
## 2025-03-25 20:00:25.399931 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Roseburia.inulinivorans
## 2025-03-25 20:00:25.88905 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Alistipes.onderdonkii
## 2025-03-25 20:00:26.13446 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Roseburia.unclassified
## 2025-03-25 20:00:26.420056 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Eubacterium.hallii
## 2025-03-25 20:00:26.78466 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Roseburia.intestinalis
## 2025-03-25 20:00:27.157534 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Prevotella.copri
## 2025-03-25 20:00:27.472149 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bacteroides.dorei
## 2025-03-25 20:00:27.731072 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Bacteroides.fragilis
## 2025-03-25 20:00:28.013957 INFO::Creating boxplot for categorical data, dysbiosisnonIBD vs Alistipes.shahii
## 2025-03-25 20:00:31.290127 INFO::Plotting data for metadata number 4, antibiotics
## 2025-03-25 20:00:31.292953 INFO::Creating boxplot for categorical data, antibiotics vs Roseburia.inulinivorans
## 2025-03-25 20:00:31.573711 INFO::Creating boxplot for categorical data, antibiotics vs Roseburia.hominis
## 2025-03-25 20:00:31.815018 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.rectale
## 2025-03-25 20:00:32.148221 INFO::Creating boxplot for categorical data, antibiotics vs Dialister.invisus
## 2025-03-25 20:00:32.426804 INFO::Creating boxplot for categorical data, antibiotics vs Roseburia.intestinalis
## 2025-03-25 20:00:32.662912 INFO::Creating boxplot for categorical data, antibiotics vs Dorea.longicatena
## 2025-03-25 20:00:32.943155 INFO::Creating boxplot for categorical data, antibiotics vs Ruminococcus.callidus
## 2025-03-25 20:00:33.177233 INFO::Creating boxplot for categorical data, antibiotics vs Ruminococcus.bromii
## 2025-03-25 20:00:33.405895 INFO::Creating boxplot for categorical data, antibiotics vs Ruminococcus.obeum
## 2025-03-25 20:00:33.638109 INFO::Creating boxplot for categorical data, antibiotics vs Klebsiella.pneumoniae
## 2025-03-25 20:00:33.878443 INFO::Creating boxplot for categorical data, antibiotics vs Bifidobacterium.adolescentis
## 2025-03-25 20:00:34.107603 INFO::Creating boxplot for categorical data, antibiotics vs Faecalibacterium.prausnitzii
## 2025-03-25 20:00:34.337802 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.hallii
## 2025-03-25 20:00:34.575917 INFO::Creating boxplot for categorical data, antibiotics vs Bilophila.unclassified
## 2025-03-25 20:00:34.864935 INFO::Creating boxplot for categorical data, antibiotics vs Clostridium.leptum
## 2025-03-25 20:00:35.161682 INFO::Creating boxplot for categorical data, antibiotics vs Lachnospiraceae.bacterium.3.1.46FAA
## 2025-03-25 20:00:35.403607 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroides.finegoldii
## 2025-03-25 20:00:35.695259 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.sp.3.1.31
## 2025-03-25 20:00:35.926911 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroides.fragilis
## 2025-03-25 20:00:36.144451 INFO::Creating boxplot for categorical data, antibiotics vs Alistipes.onderdonkii
## 2025-03-25 20:00:36.380643 INFO::Creating boxplot for categorical data, antibiotics vs Sutterella.wadsworthensis
## 2025-03-25 20:00:36.607503 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.eligens
## 2025-03-25 20:00:36.847544 INFO::Creating boxplot for categorical data, antibiotics vs Collinsella.aerofaciens
## 2025-03-25 20:00:37.07963 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroides.thetaiotaomicron
## 2025-03-25 20:00:37.324315 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroides.eggerthii
## 2025-03-25 20:00:37.55602 INFO::Creating boxplot for categorical data, antibiotics vs Haemophilus.parainfluenzae
## 2025-03-25 20:00:37.857825 INFO::Creating boxplot for categorical data, antibiotics vs Bifidobacterium.pseudocatenulatum
## 2025-03-25 20:00:38.108724 INFO::Creating boxplot for categorical data, antibiotics vs Ruminococcus.torques
## 2025-03-25 20:00:38.449665 INFO::Creating boxplot for categorical data, antibiotics vs Eubacterium.ventriosum
## 2025-03-25 20:00:38.794851 INFO::Creating boxplot for categorical data, antibiotics vs Parasutterella.excrementihominis
## 2025-03-25 20:00:39.139536 INFO::Creating boxplot for categorical data, antibiotics vs Peptostreptococcaceae.noname.unclassified
## 2025-03-25 20:00:39.489369 INFO::Creating boxplot for categorical data, antibiotics vs Veillonella.dispar
## 2025-03-25 20:00:39.830459 INFO::Creating boxplot for categorical data, antibiotics vs Veillonella.atypica
## 2025-03-25 20:00:40.187728 INFO::Creating boxplot for categorical data, antibiotics vs Bacteroidales.bacterium.ph8
## 2025-03-25 20:00:40.49117 INFO::Creating boxplot for categorical data, antibiotics vs Clostridium.nexile
## 2025-03-25 20:00:40.792406 INFO::Creating boxplot for categorical data, antibiotics vs Burkholderiales.bacterium.1.1.47
## 2025-03-25 20:00:41.038717 INFO::Creating boxplot for categorical data, antibiotics vs Lachnospiraceae.bacterium.1.1.57FAA
## 2025-03-25 20:00:41.308539 INFO::Creating boxplot for categorical data, antibiotics vs Akkermansia.muciniphila
## 2025-03-25 20:00:41.571291 INFO::Creating boxplot for categorical data, antibiotics vs Clostridium.citroniae
## 2025-03-25 20:00:41.892103 INFO::Creating boxplot for categorical data, antibiotics vs Odoribacter.splanchnicus
## 2025-03-25 20:00:45.55184 INFO::Plotting data for metadata number 5, age
## 2025-03-25 20:00:45.555088 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-03-25 20:00:45.891122 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-03-25 20:00:46.332858 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-03-25 20:00:46.702286 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-03-25 20:00:47.018921 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-03-25 20:00:47.30466 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-03-25 20:00:47.624073 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-03-25 20:00:47.965883 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-03-25 20:00:48.228555 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-03-25 20:00:48.483056 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-03-25 20:00:48.834603 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-03-25 20:00:49.146127 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-03-25 20:00:49.533521 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-03-25 20:00:49.869765 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-03-25 20:00:50.204073 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-03-25 20:00:50.497691 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-03-25 20:00:50.837491 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-03-25 20:00:51.092333 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-03-25 20:00:51.448806 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-03-25 20:00:51.796515 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-03-25 20:00:52.112948 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-03-25 20:00:52.383404 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-03-25 20:00:56.767273 INFO::Plotting data for metadata number 6, diagnosis
## 2025-03-25 20:00:56.77147 INFO::Creating boxplot for categorical data, diagnosis vs Bifidobacterium.adolescentis
## 2025-03-25 20:00:57.159594 INFO::Creating boxplot for categorical data, diagnosis vs Akkermansia.muciniphila
## 2025-03-25 20:00:57.451572 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.bolteae
## 2025-03-25 20:00:57.75583 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.putredinis
## 2025-03-25 20:00:58.063404 INFO::Creating boxplot for categorical data, diagnosis vs Coprobacillus.unclassified
## 2025-03-25 20:00:58.344955 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.clostridioforme
## 2025-03-25 20:00:58.67897 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.shahii
## 2025-03-25 20:00:58.957774 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.bromii
## 2025-03-25 20:00:59.292677 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.leptum
## 2025-03-25 20:00:59.579522 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.symbiosum
## 2025-03-25 20:00:59.934414 INFO::Creating boxplot for categorical data, diagnosis vs Roseburia.inulinivorans
## 2025-03-25 20:01:00.301219 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.bromii
## 2025-03-25 20:01:00.665057 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.shahii
## 2025-03-25 20:01:00.937181 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.finegoldii
## 2025-03-25 20:01:01.224815 INFO::Creating boxplot for categorical data, diagnosis vs Parabacteroides.goldsteinii
## 2025-03-25 20:01:01.607105 INFO::Creating boxplot for categorical data, diagnosis vs Bilophila.unclassified
## 2025-03-25 20:01:02.01967 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.leptum
## 2025-03-25 20:01:02.39644 INFO::Creating boxplot for categorical data, diagnosis vs Roseburia.hominis
## 2025-03-25 20:01:02.749597 INFO::Creating boxplot for categorical data, diagnosis vs Coprobacillus.unclassified
## 2025-03-25 20:01:03.149617 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.onderdonkii
## 2025-03-25 20:01:03.551142 INFO::Creating boxplot for categorical data, diagnosis vs Eubacterium.ventriosum
## 2025-03-25 20:01:03.835635 INFO::Creating boxplot for categorical data, diagnosis vs Roseburia.hominis
## 2025-03-25 20:01:04.187611 INFO::Creating boxplot for categorical data, diagnosis vs Sutterella.wadsworthensis
## 2025-03-25 20:01:04.578605 INFO::Creating boxplot for categorical data, diagnosis vs Akkermansia.muciniphila
## 2025-03-25 20:01:04.945466 INFO::Creating boxplot for categorical data, diagnosis vs Sutterella.wadsworthensis
## 2025-03-25 20:01:05.218699 INFO::Creating boxplot for categorical data, diagnosis vs Subdoligranulum.unclassified
## 2025-03-25 20:01:05.583239 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.symbiosum
## 2025-03-25 20:01:05.942258 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.onderdonkii
## 2025-03-25 20:01:06.329948 INFO::Creating boxplot for categorical data, diagnosis vs Parabacteroides.unclassified
## 2025-03-25 20:01:06.691515 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.lactaris
## 2025-03-25 20:01:07.083203 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.callidus
## 2025-03-25 20:01:07.403672 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.gnavus
## 2025-03-25 20:01:07.676107 INFO::Creating boxplot for categorical data, diagnosis vs Bacteroides.fragilis
## 2025-03-25 20:01:07.948005 INFO::Creating boxplot for categorical data, diagnosis vs Eubacterium.rectale
## 2025-03-25 20:01:08.215393 INFO::Creating boxplot for categorical data, diagnosis vs Odoribacter.splanchnicus
## 2025-03-25 20:01:08.495349 INFO::Creating boxplot for categorical data, diagnosis vs Parabacteroides.distasonis
## 2025-03-25 20:01:08.748505 INFO::Creating boxplot for categorical data, diagnosis vs Eubacterium.rectale
## 2025-03-25 20:01:09.187331 INFO::Creating boxplot for categorical data, diagnosis vs Bacteroides.finegoldii
## 2025-03-25 20:01:09.601137 INFO::Creating boxplot for categorical data, diagnosis vs Ruminococcus.callidus
## 2025-03-25 20:01:10.028373 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.finegoldii
## 2025-03-25 20:01:10.28822 INFO::Creating boxplot for categorical data, diagnosis vs Alistipes.putredinis
## 2025-03-25 20:01:10.589315 INFO::Creating boxplot for categorical data, diagnosis vs Clostridium.bolteae
## 2025-03-25 20:01:10.856307 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 Under development (unstable) (2025-03-01 r87860 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows Server 2022 x64 (build 20348)
##
## Matrix products: default
## LAPACK version 3.12.0
##
## 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.21.0
##
## loaded via a namespace (and not attached):
## [1] gtable_0.3.6 biglm_0.9-3 xfun_0.51
## [4] bslib_0.9.0 ggplot2_3.5.1 lattice_0.22-6
## [7] numDeriv_2016.8-1.1 vctrs_0.6.5 tools_4.5.0
## [10] Rdpack_2.6.3 generics_0.1.3 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.0
## [22] RColorBrewer_1.1-3 lifecycle_1.0.4 farver_2.1.2
## [25] compiler_4.5.0 munsell_0.5.1 lmerTest_3.1-3
## [28] permute_0.9-7 htmltools_0.5.8.1 sass_0.4.9
## [31] hash_2.2.6.3 yaml_2.3.10 pillar_1.10.1
## [34] nloptr_2.2.1 crayon_1.5.3 jquerylib_0.1.4
## [37] MASS_7.3-65 cachem_1.1.0 vegan_2.6-10
## [40] reformulas_0.4.0 boot_1.3-31 nlme_3.1-167
## [43] robustbase_0.99-4-1 tidyselect_1.2.1 digest_0.6.37
## [46] mvtnorm_1.3-3 dplyr_1.1.4 labeling_0.4.3
## [49] splines_4.5.0 pcaPP_2.0-5 fastmap_1.2.0
## [52] grid_4.5.0 colorspace_2.1-1 cli_3.6.4
## [55] magrittr_2.0.3 withr_3.0.2 scales_1.3.0
## [58] rmarkdown_2.29 lme4_1.1-36 pbapply_1.7-2
## [61] evaluate_1.0.3 knitr_1.50 rbibutils_2.3
## [64] mgcv_1.9-1 rlang_1.1.5 Rcpp_1.0.14
## [67] glue_1.8.0 optparse_1.7.5 DBI_1.2.3
## [70] minqa_1.2.8 jsonlite_1.9.1 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?