MaAsLin2 CLR transformation differing results

Hello!

I’m using your MaAsLin2 package (version 1.18.0). I ran one model with the absolute abundance input data and selected normalizaiton = “CLR” and analysis method = “LM”. I then ran another model where the input data was already centre-log transformed (so normalizaiton = “NONE”) and the anlaysis method remained the same. The results were completely different.

For clarity’s sake, I use the CLR transformation of the data I used the clr() function from the compositions package.

Why are the results so different?

Thank you in advance :slight_smile:

HI,

Could you provide a reproducible example that we can test on our end? Just a 5x5 matrix of entries or should be enough if it’s really not working. Off the top of my head, it seems likely that the difference is in how the two programs are handling 0s. After some quick testing, it looks like the compositions::clr is inserting a zero at the end where any zeros were originally. However, since 0 could also be the result of a CLR transform, this might be causing issues. By contrast, MaAsLin 2’s handling can be found here.

Also, it’s worth pointing out that in MaAsLin 3, you don’t need to worry about either of these because 0s are explicitly taken care of and the median comparison for the abundance portion of the model addresses the compositionality that motivates using a CLR in the first place.

Hope this helps,
Will

1 Like