Archives

扩增子测序分析之多样性指数:beta 多样性

1. beta多样性介绍

Beta Diversity是对不同样品间的微生物群落构成进行比较,根据样本的OTUs丰度信息计算各种距离测度: 比如 Bray Curtis,Weighted UniFrac和Unweighted UniFrac等来评估不同样品间的微生物群落构差异。

Bray Curtis        : 距离是生态学上反应群落之间差异性最常用的指标,只考虑了物种的丰度信息。
Unweighted UniFrac : 距离是基于物种(即OTUs)系统发生树进行计算的样本间的距离,只考虑了物种的有无。
Weighted UniFrac   : 距离是结合OTUs的丰度信息和物种系统发生树的信息来获得的样本间的距离。 

Unweighted UniFrac距离对稀有物种比较敏感,而Bray Curtis和Weighted UniFrac距离则对丰度较高的物种更加敏感,beta多样性主要反映在如何度量距离的概念。

2. 距离测度

距离的测度主要有两种形式:phylogenetic 多样性指数Non-phylogenetic多样性指数:

a. NON-phylogenetic 多样性指数,主要有Bray Curtis/Jaccard/euclidean等。
b. Phylogenetic 多样性指数,主要Unweighted UniFrac和weighted UniFrac

公式描述形式使用 Usearch beta diversity metric 描述。

2.1 Bray Curtis

Bray–Curtis dissimilarity, 参考wikipedia,公式很简单:

Bray–Curtis

即:

Bray-Curtis = 1 – 2*S / T

其中:

S = sum k = 1 .. N of min(n_ki, n_kj)
T = sum k = 1 .. N of (n_ki + n_kj)    
N = number of OTUs.
n_ki = count of OTU k in sample i.

如果不考虑数值因素, 可以即将OTU丰度大于1的数值设置成1, 为0的数值为0,这样表征为存在/缺失模式。

2.2 Jaccard distance

Jaccard distance 可通过Jaccard similarity coefficient获得,即:d= 1 - J

Jaccard = 1 – S / T

其中:

S = sum k = 1 .. N of min(n_ki, n_kj)
T = sum k = 1 .. N of max(n_ki, n_kj)
N = number of OTUs.
n_ki = count of OTU k in sample i.

如果不考虑数值因素, 可以即将OTU丰度大于1的数值设置成1, 为0的数值为0,这样表征为存在/缺失模式。

Jaccard distance

该参数被广泛应用到比较相似度度量,比如使用Kmer度量两个基因组有多相似来鉴定菌株。

2.3 UniFrac 首先使用OTU代表序列构建系统树,比如:

OTU-Tree

节点描述OTU,每个节点(包括叶子节点和中间节点)之间定义分支,图上标注的长度描述节点之间距离。

Quantitative and Qualitative β Diversity Measures Lead to Different Insights into Factors That Structure Microbial Communities 描述了如何计算 Unweighted UniFrac和weighted UniFrac距离,如下图所示:

UniFrac

在计算UniFrac距离时一般会先修剪系统进化树,去除不包含代比较样本的节点和分支。

Unweighted UniFrac距离:

Unweighted UniFrac定义为特异的分支长度/观测到的分支长度。

UniFrac.png

上图(a)中灰色的线为共享的分支。黑色分支为特异的分支。

比如下面几种情况:

STAMPS2015_Knight

图片来自 STAMPS2015_Knight 幻灯片。

Weighted UniFrac距离:

Weighted UniFrac计算当时比较复杂,需要使用样本相对丰度对分支进行加权: 首先需要原始weighted UniFrac value (u)值,通过下面公式:

u-value

其中: N : 为树中的所有分支; b_i : 分支i的长度; A_i和B_i: 样本A和B中来源分支i序列数; A_T和B_T: 样本A和B中的序列数;

3. 计算距离矩阵

3.1 USEARCH div_beta

USEARCH div_beta 提供了比较简单的接口计算距离矩阵。 支持的命令行参数有:

-filename_prefix  :指定文件输出路径;
‑mx_suffix        :矩阵前缀;
‑sorted_mx_suffix :排序的矩阵前缀(相似样本排在一起);
-tree_suffix      :生成的距离树前缀(等级聚类树);
-metrics          :指定多样性指数类型,支持bray_curtis,bray_curtis_binary,
                   euclidean,jaccard,jaccard_binary,manhatten,unifrac,unifrac_binary
-tree             :计算Unifrac需要提供系统进化树信息(Newick格式)

如果添加任何选项,则计算所有支持的距离矩阵。

usearch -beta_div otutable_counts.txt -metrics bray_curtis,jaccard -filename_prefix /biostack/task/otutable-utils/otus/beta_div/

也可以通过

usearch -beta_div otutable_counts.txt -metrics unifrac -tree  rep_set.nwk   -filename_prefix /biostack/task/otutable-utils/otus/beta_div/

3.2 QIIME2 div_beta

qiime2 数据分析流程通过 qiime diversity接口提供了分析beta多样的各种命令:

支持的beta多样性指数:

--i-table : FeatureTable
--p-n-jobs:并行参数;
--p-metric: correlation|yule|sqeuclidean|sokalsneath|seuclidean|braycurtis
            |canberra|hamming|matching|dice|wminkowski|cosine|sokalmichener
            |russellrao|chebyshev|rogerstanimoto|cityblock|jaccard
            |kulsinski|mahalanobis|euclidean
--o-distance-matrix: 输出距离矩阵;
--output-dir: 输出目录(如不指定--o-distance-matrix);

实例:

qiime diversity  beta        \
      --p-n-jobs 2           \
      --i-table table.qza    \
      --p-metric braycurtis  \
      --o-distance-matrix  distance-matrix.qza

本文材料为 BASE (Biostack Applied bioinformatic SEies ) 课程 Linux Command Line Tools for Life Scientists 材料, 版权归 上海逻捷信息科技有限公司 所有。

Last Update: 2017-09-25 11:56 AM

Comments are closed.