在微生物组研究中,alpha diversity即“分析在单个样本中有多少种不同的序列”;beta diversity即“分析在一定范围内样本中,各种不同序列的分布情况”。
描述alpha diversity的方法有很多,其中有几个比较常用,包括
- rarefaction curve(based on observed OTU numbers; based on Shannon index)
- PD score(phylogenetic diversity)
rarefaction curve(稀疏性曲线)
在每个样本中不断抽样,每次都随机抽取一定数量的序列,以抽取到的序列构建OTU。其核心在于resampling。随着抽取的序列数目不断增加,其构建的OTU个数从迅速增加到趋于平坦,则说明抽样的数目合理,更多的序列不会再增加更多信OTU个数。即测序深度达到了要求。
如下图所示,其X轴为测序深度(抽取的序列个数),Y轴如果为OTU个数,则为rarefaction curve(based on observed OTU numbers),为香农值(Shannon index)则为rarefaction curve(based on observed Shannon index)
下图可以用R代码来实现,phyloseq
包可以用于绘制OTU number based的rarefaction curve, 不能现成绘制shannon based的。但是可以使用这段代码来实现。
PD score(phylogenetic diversity)
PD score是结合OTUtable和OTU tree一同计算的。考虑到了样本在进化树上的分布。一个OTU的来源越复杂,其PD score越高。来自进化树上不同的地方越多,其PD score越高。
可以通过python里的skbio.diversity中的alpha_diversity模块实现计算PD score。
其input的OTUtable是行为sample_id, 列为OTU_id的形式。以上链接中没有具体例子,以下为一个实例。
faith_PD = alpha_diversity('faith_pd', otu_T.values.tolist(), ids=list(otu.columns), otu_ids=list(otu.index), tree=tree)
# 'faith_pd'指定使用PD_score, 指定OTUtable, sample_id, 及tree文件,得到每个样本的PD score.
网友评论