用户工具

站点工具


差异丰度分析gneiss

gneiss中的balances来进行差异丰度分析

在本教程中,您将学习如何使用gneiss中的balances来进行差异丰度分析。我们将关注的主要问题是如何以组成连贯的方式识别分类群的差异丰度。

balances在本文中指比值中的分子,对应中文的平衡、均衡、天平或余额都略有相似,但又不完全一致。目前没有标准翻译,文中还是使用原词 balances。

组成性(或叫构成性)指的是处理比例的问题。为了考虑测序深度的差异,微生物的丰度通常被标准化为比例(例如,相对丰度)。正因如此,准确地推断出哪些微生物正在发生变化就变得非常有挑战性——因为比例总和为1,单个微生物的变化也会改变其余微生物的比例。 考虑以下示例:

图1. 相对丰度变化示意图 在左边,我们有十个物种的真实丰度,第一个物种在时间点1和时间点2之间加倍。当我们将这些按比例归一化时,似乎所有的物种在这两个时间点之间都发生了变化。单从比例上看,我们永远不会意识到这个问题,实际上我们不能仅仅根据比例精确地确定哪些物种正在发生变化。

虽然我们不能确切地解决鉴别不同物种的问题,但我们可以放宽这个问题,并询问微生物的哪些分区/部分(partitions)正在改变。在上面的例子中,如果我们计算第一种和第二种之间的比率,对于原始丰度和比例,这个比率在时间点1是1:1,在时间点2是2:1。这是balances试图解决的问题。我们可以把重点放在分类群(或分类组)之间的比率上,而不是放在单个分类群上,因为这些比率是由所观察物种的真实丰度和所观察的比例构成的。我们通常对这些比率进行对数转换,以优化可视化效果(“对数比”)。计算多个物种的balances(或ratios)的概念可以扩展到树,如下面的示例所示。

图2. 树形图展示原始值、相对丰度、比例间的关系

在左边,我们定义一棵树,其中每个树枝尖对应一个分类单元,下面是第一个样本中每个分类单元的比例。内部节点(即balances)定义了底下分类群之间的对数比率。右边是同一棵树,下面是不同样本中每个分类群的比例。只有一个分类群数量变化,正如我们之前所观察到的,所有分类群的比例都会改变,但是看看balances,只有包含紫色分类群的平衡才会改变。在这种情况下,balances不会改变,因为它只考虑红色与分类群之间的比率。通过观察balances而不是比例,我们可以通过限制观察只关注给定balances内的分类群来消除一些差异。

这里突出的问题是,我们如何构造balances树来控制这种变异,并识别出有趣的分类群差异丰富的分区?在gneiss中,这有三种主要的方法: 相关聚类(Correlation clustering)。如果我们没有关于如何将生物体聚集的相关先验信息,我们可以根据它们彼此共生的频率来将生物体分组在一起。这可以在correlation-clustering命令中获得,并为ilr-hierarchical创建树输入文件。 梯度聚类(Gradient clustering)。使用元数据类别对在相似样本类型中发现的分类群进行聚类。例如,如果我们要评估pH是否是驱动因子,我们可以根据观察到的分类群的pH进行聚类,并观察低pH生物与高pH生物的比例是否随着pH的变化而变化。这可以在gradient-clustering命令中获得,并为ilr-hierarchical创建树输入文件。 系统发育分析(Phylogenetic analysis)。也可以使用gneiss以外创建的系统发育树(例如,rooted-tree.qza)。在这种情况下,您可以使用您的系统发育树作为ilr-phylogenetic的输入。 一旦我们有了一棵树,我们就可以使用下面的等式来计算balances:

b_i = \sqrt{\frac{rs}{r+s}} \log \frac{g(x_r)}{g(x_s)}

其中i表示树中的第i个内部节点,g(x)表示集合x内的几何平均值,x r表示balances分子中的分类群丰富度集合,x s表示balances分母中的分类群丰富度集合,r和s分别表示xr和x s内的分类群数量。 在计算出balances后,可以进行标准统计过程,如方差分析和线性回归。我们将使用慢性疲劳综合症(Chronic Fatigue Syndrome )数据集演示运行这些过程。

创建balances Creating balances

在Giloteaux等人(2016)发表的慢性疲劳综合征数据集中,有87人,48名患者和39名健康对照组。本教程使用的数据是使用地球微生物组项目高变区4 (V4) 16S rRNA基因在Illumina MiSeq上测序产出的。 我们每次在分析数据前,需要打开工作环境,根据情况选择对应的打开方式。

启动工作环境并创建工作目录 # 创建本节学习目录

mkdir -p gneiss
cd gneiss

实验数据下载

wget -c http://210.75.224.110/github/QIIME2ChineseManual/2021.2/gneiss/sample-metadata.tsv
下载特征表和物种注释
wget -c https://data.qiime2.org/2021.2/tutorials/gneiss/table.qza
wget -c https://data.qiime2.org/2021.2/tutorials/gneiss/taxa.qza

首先,我们将定义我们想要构建balances的微生物的分区。同样,有多种可能的方法来构建一个树(即层级结构),它定义了我们要为其构建balances的微生物balances的分区。我们将在这个数据集中展示相关聚类( correlation-clustering)和梯度聚类(gradient-clustering)。

请注意,我们将运行的差异丰度技术将使用对数比转换(log ratio transforms)。由于不允许取零的对数,下面的两种聚类方法都包含一个默认的伪计数参数。这将用1替换表中的所有零,这样我们就可以在转换后的表上应用对数。 输入表是原始计数表(FeatureTable[Frequency])。

方法1:相关性聚类 Option 1: Correlation-clustering

这个选项应该是您的默认选项。我们将通过Ward的分层聚类来采用无监督聚类,以获得Principal Balances。从本质上讲,这将使用Ward层次聚类来定义通常彼此共存的微生物的分区,这是由以下度量标准定义的。

d(x,y) = V[Ln(x/y)]

其中x和y代表两种微生物在所有样品中的比例。如果两种微生物高度相关,那么这个数量将缩小到接近零。然后,Ward层次集群将使用这个距离度量来迭代地将相互关联的微生物群聚集在一起。最后,我们得到的树将突出显示高层极结构,并识别数据中的任何块。

qiime gneiss correlation-clustering \
  --i-table table.qza \
  --o-clustering hierarchy.qza

输出对象: table.qza: 特征表 taxa.qza: 物种注释 hierarchy.qza: 层级结构

选项2:梯度聚类 Option 2: Gradient-clustering

相关聚类(correlation-clustering)的另一种选择是基于数字元数据类别创建树。通过梯度聚类(gradient-clustering),我们可以对出现在元数据类别类似范围内的分类群进行分组。在本例中,我们将使用元数据类别年龄创建树(层次结构)。请注意,元数据类别不能缺少变量,并且必须是数字。

qiime gneiss gradient-clustering \
  --i-table table.qza \
  --m-gradient-file sample-metadata.tsv \
  --m-gradient-column Age \
  --o-clustering gradient-hierarchy.qza

输出对象: gradient-hierarchy.qza: 梯度层级。

下游分析的一个重要考虑因素是过度拟合问题。当使用梯度聚类时,您正在创建一个树来最好地突出所选元数据类别中的成分差异,并且可能会得到假阳性结果。使用梯度聚类gradient-clustering要谨慎。

我们可以在热图上可视化层级聚类,以了解它们代表的分类群。默认情况下,特征表中的值是按对数标准化的,意味着样本值以零为中心。

qiime gneiss dendrogram-heatmap \
  --i-table table.qza \
  --i-tree hierarchy.qza \
  --m-metadata-file sample-metadata.tsv \
  --m-metadata-column Subject \
  --p-color-map seismic \
  --o-visualization heatmap.qzv

输出可视化结果:

heatmap.qzv :热图。

图6. 层级聚类热图。

如图例所示,每个balances的分子(numerators)以浅红色突出显示,而分母以深红色突出显示。从这里我们可以看到,y0的分母与y0的分子相比,几乎没有OTU。分母中的这些分类群可能重要,所以让我们研究一下用balance_taxonomy构成balance的分类。

记住,根据本教程开头给出的示例,不可能推断出给定样本中微生物的绝对变化。Balances将无法提供这类答案,但它可以限制可能出现情况的数量。具体来说,可能发生了以下五种情况之一。

患者组与健康对照组y0分子的平均分类数增加。

患者组与健康对照组间y0分母的分类平均下降;

上述两种情况的结合;

y0分子和y0分母的类群丰度均增加,但y0分子的类群丰度比y0分子增加更多。

y0分子和y0分母的类群丰度均下降,而y0分子比y0分母的类群丰度相对增加较多。

为了进一步缩小这些假设,需要生物先验知识或实验验证

项目测试路径

/TJPROJ1/META_ASS/PreSaleEvaluation/Balance_tree_old
注意:gneiss在2019.10后有过一次版本更新,后面的内容相比之前的内容少了不少的内容,这里使用最后更新前的一般内容
差异丰度分析gneiss.txt · 最后更改: 2023/09/27 10:05 由 yuxi