Trouble with my variables due to experimental design (absolute abundance environmental microbiome data)

Hello! I am new to microbial ecology research and have gotten to a point in my analysis where I would greatly appreciate some guidance.

I am looking to do differential abundance analysis on environmental microbiome data. I came across maaslin3 because I used spike-ins to get absolute abundance data and wanted to use a model that was designed with absolute abundance data in mind.

I understand that my experimental design is much different from what maaslin3 is generally used for, and am having trouble understanding if it will work for my data. I have 48 samples total which were collected across 16 sample sites, so at each sample site, I took 3 triplicate samples. Each sample site was one of 3 types of substrate, and I want to look for taxa differentially abundant between substrate types while taking absolute abundances into account. I also have other measured variables from each sample site, but all triplicates share the same measurement. I am also looking to see if those variables influence the abundance of certain taxa.

I have been struggling to figure out how to set up my variables. As I understand it, my triplicate samples must be treated as non-independent because they are most similar by design. Having only 3 samples in each of these groupings seems to be messing things up though.

For formula, I have tried

~ substrate + (1 | sample_site) with and without TSS normalization - both gave no significant results and errors for almost everything

~ substrate + sample_site without normalization which only gave a handful of significant results and all for sample site

~ substrate + sample_site with TSS normalization which did give some significant results for substrate type, but my understanding is that if my data is already absolute abundance, I should not do TSS

(All with bypass_small_group_warning = TRUE, median_comparison_abundance = FALSE, and transform = LOG (because that is what was done in the tutorial))

I guess my questions are:

Is one of the variable settings I have tried already the most valid one for my data? If so, would I be able to simply replace substrate type with a continuous variable (ppm of X) in further analysis?

Am I correct in thinking that the ~ substrate + sample_site with TSS normalization that gave significant results is not valid because of the TSS normalization?

Thank you!

Hi,

First, TSS and absolute abundances as inputs to the models should either both work or neither work from a modeling perspective in the sense that if the model fits one without errors the other should also fit. Also, just to make sure we’re on the same page, if you’re using spike-ins, I would either scale all your samples first and then use NONE normalization or use TSS inputs with the spike-in provided as in the tutorial example.

Regarding the formula, if you only care about differences between the substrates, the random effects model you have first would be the way to go, though I would recommend using the small_random_effects parameter since you have only 3 samples per sample site. If that’s erroring, could you tell me what error it’s producing?

Will