Differing alpha diversity significance results

Hi,

I have obtained slightly contrasting results regarding statistical differences in alpha diversity measurements among multiple treatments.

When I run the code for testing alpha diversity significance in Qiime2 (in a conda environment), I obtain the following output:

Group 1 Group 2 H p-value q-value
1 (n=75) 2 (n=69) 7.427362 6.42E-03 7.14E-03
3 (n=55) 53.455151 2.65E-13 5.29E-13
4 (n=60) 84.749824 3.39E-20 1.69E-19
5 (n=60) 87.54449 8.24E-21 8.24E-20
2 (n=69) 3 (n=55) 34.954631 3.37E-09 4.82E-09
4 (n=60) 78.219153 9.22E-19 2.31E-18
5 (n=60) 81.851862 1.47E-19 4.89E-19
3 (n=55) 4 (n=60) 30.352853 3.60E-08 4.50E-08
5 (n=60) 40.739812 1.74E-10 2.90E-10
4 (n=60) 5 (n=60) 3.550441 5.95E-02 5.95E-02

But when I export the Shannon’s diversity metrics computed by Qiime2 with the core-metrics-phylogenetic command and apply Kruskal Wallis test statistics with FDR correction I obtain the following output:

.y. group1 group2 n1 n2 statistic p p.adj p.adj.signif
shannon_entropy 1 2 75 68 1.610244909 0.107344401 0.119271557 ns
shannon_entropy 1 3 75 50 5.828281837 5.60009E-09 1.12002E-08 ****
shannon_entropy 1 4 75 60 10.23648298 1.36094E-24 6.8047E-24 ****
shannon_entropy 1 5 75 60 11.24764854 2.37849E-29 2.37849E-28 ****
shannon_entropy 2 3 68 50 4.264521576 2.00331E-05 2.86187E-05 ****
shannon_entropy 2 4 68 60 8.487756672 2.10664E-17 5.2666E-17 ****
shannon_entropy 2 5 68 60 9.476555615 2.62815E-21 8.7605E-21 ****
shannon_entropy 3 4 50 60 3.702198552 0.000213739 0.000267174 ***
shannon_entropy 3 5 50 60 4.616832215 3.89642E-06 6.49403E-06 ****
shannon_entropy 4 5 60 60 0.959275879 0.337419784 0.337419784 ns

As you can see, the Qiime2 output is saying that all pair-wise comparisons are significantly different except for 4 VS 5, meanwhile the output from the rstatix package says that 1 VS 2 and 4 VS 5 are not significantly different. My question is, which one is the right one? Or perhaps I am considering the wrong threshold for q-value, namely 0.05?

Cheers,
Pablo

1 Like

Hello @Pablo_V,

My guess here is that rstatix pipeline is using different defaults than the Qiime2 pipeline, so what looks like an identical test is different in some small way.

For example, there are different ways to correct for multiple comparisons, and rstatix uses holm by default. It looks like Qiime2 uses “fdr_bh” by default, which is Benjamini/Hochberg.

They are both right… but their methods are different. Dig into the docs for both programs and let me know if you can discover the difference!

:male_detective: :mag_right:

Colin

1 Like