Microbiome-metabolite analysis in Maaslin2


I am relatively new to this space, but really enjoying the Maaslin2 package in R.
I apologise if this is a silly question…
I am trying to assess pair-wise associations between individual taxa and metabolites (derived from untargeted metabolomics) in a longitudinal study.

I wanted to know whether it is necessary to ensure my metabolomic data is first transformed in my metadata file before running Maaslin2? I realise that I can perform transformation to the microbiota data using the package i.e. AST as per example below. Or given in this case, metabolites are the independent variable is transformation even necessary?

fit_data ← Maaslin2(
input_data = input_data,
input_metadata = input_metadata,
min_abundance = 0.00001,
min_prevalence = 0.05,
transform = “AST”,
normalization = “NONE”,
output = “demo_output”,
fixed_effects = c(“butyrate”),
random_effects = (“subject_ID”))

Many thanks in advance,

Hi @jesholland62,

I am a bit confused by your ask. Overall, I would transform metabolite data (we normally median normalize followed by a log transform on the MBX data we work with here) but I also wouldn’t use MaAsLin to do a high dimensional vs. high dimensional comparison. You will likely run out of power very quickly with this type of comparison. To answer the other question in this broader, MaAsLin will only transform and normalize what it considers features and will not apply transformations to the metadata.

In the code you sent, it looks like you are running it univariate against a targeted metabolite (butyrate), in this case, you could use this model for that type of comparison and the answer re: normalize and transformation would depend on the underlying distribution of butyrate.

If you are doing high dimensional vs. high dimensional comparisons I would suggest tools more like HAllA or running something like a mantel test or CCA.

I hope this helps.