Is there any difference between the bray_curtis distance made by qiime2 and that made by R mantel test?

Hello everyone,
I performed the environment factor analysis by qiime diversity mantel with qiime diversity bioenv in qiime2 and mantel test in R seperately. And the p value and r were different in the same pair of environment factor and bray_curtis. Was it caused by the difference in method of calculating the bray_curtis distance?

Hi @zeroby,

Welcome to the :qiime2: forum!

I don't think there is a diffrence in the calculations; my best guess from a quick review of the documentation on the underlying function is that the implementation that QIIME 2 uses is tested against vegan.

However, there is some instability other places that might explain these differences. If you're calculating Bray Curtis on a rarefied table, then the distances will be slightly different. This may explain small differences in your R2 value. The p-values are calculated permutatively which means there's a stochastic component; this can also explain some small variation in the p-value, depending on how you calculate it.

One way to stabilize your distance matrix is to do multiple rarefaction and average over several values (I use the q2-feature-table merge function to do this.

Best,
Justine

Thanks´╝îit help me a lot, the problem of instability was solved.