群落多样性指数在线计算(Shannon / Simpson / Chao1)
菌群和生态学里最常用的几个 α 多样性指标,公式都很短, 但它们衡量的东西不一样,混用会得出相反的结论。
设物种 i 的相对丰度为 pᵢ = nᵢ / N,观测到的物种数为 S:
Shannon 指数 H = −Σ pᵢ ln pᵢ
同时受物种数和均匀度影响。对稀有物种敏感——多几个低丰度物种,H 就会明显上升。
Simpson 指数 D = Σ pᵢ²
是”随机抽两个个体属于同一物种”的概率,所以 D 越大多样性越低。
常用的两个变体:1 − D(Gini-Simpson)和 1/D(inverse Simpson)。
Simpson 由优势物种主导,对稀有物种不敏感。
Pielou 均匀度 J = H / ln S
把 H 除掉物种数的影响,只看分布是否均匀,取值 0–1。
Chao1 丰富度估计 用只出现一次(singleton,F₁)和两次(doubleton,F₂)的物种数 估计没被测到的物种数。本工具用偏差校正式:
Chao1 = S + F₁(F₁ − 1) / (2(F₂ + 1))
之所以用校正式而不是经典的 S + F₁²/(2F₂),是因为后者在 F₂ = 0 时会除零。
必须知道的三件事:
- 测序深度不同的样本不能直接比。 深度越高测到的稀有物种越多, Shannon 和 Chao1 都会跟着涨。比较前必须抽平(rarefaction)或用其他标准化方法。
- Chao1 只适用于计数数据。 相对丰度、已抽平到小数的数据算 Chao1 没有意义, 因为 singleton 和 doubleton 的定义依赖真实计数。
- 扩增子数据的 singleton 常常是测序错误,很多流程会先去掉它们—— 而这恰好会让 Chao1 严重失真。用之前先确认上游流程有没有过滤 singleton。
常见问题
Simpson 指数越大是不是多样性越高?
恰好相反。D = Σpᵢ² 是随机抽两个个体同种的概率,D 越大多样性越低。论文里常报的是 1−D 或 1/D,看清楚报的是哪一个。
Shannon 和 Simpson 结论不一致怎么办?
这说明两个样本的差异主要在稀有物种还是优势物种上。Shannon 对稀有物种敏感,Simpson 由优势物种主导。不一致本身就是有信息的结果,不要挑一个好看的报。
Chao1 算出来等于物种数?
说明 F₁ = 0,通常是上游流程过滤掉了 singleton。这种数据不适合算 Chao1。