概览
PICRUSt 旨在估计使用 16S rRNA 测序确定的细菌或古细菌对宏基因组的贡献的基因家族。该管道中的中间步骤也可能具有独立意义,因为它们允许使用参考示例(此处应用于基因含量预测问题)对生物特征进行系统发育预测,并修正可变标记基因拷贝数。
有关相同算法的替代演示以及控件,请参阅PICRUSt 论文
基因内容预测
系统发育学中一个常见且经过深入研究的问题涉及从活着的亲属中估计祖先生物的特性(祖先状态重建或 ASR)。PICRUSt 将这些方法扩展到预测未知生物的特征,这不是因为它们属于祖先生物,而是因为它们还没有被研究过。这种隐藏状态预测 (HSP) 在核心 PICRUSt 工作流程中的主要应用是通过使用它们的测序亲属作为参考来估计没有可用基因组序列的微生物的基因含量。
中心思想是,尽管微生物基因组可塑性有各种重要形式(基因丢失、复制或基因转移),但微生物基因组中存在的基因在相关细菌或古细菌中比远亲更相似。因此,当有足够的基因组序列可用时,可以仅从系统发育来预测给定微生物 OTU 中存在哪些基因家族。重要的警告是“何时有足够的基因组序列可用”。由于微生物基因组具有随进化时间快速变化的能力,因此这些预测总是存在不确定性。缺乏密切相关基因组的 OTU 将不太容易预测,随着进化时间迅速发生基因丢失或复制的基因家族(例如,因为它们容易发生 HGT)也将难以预测。
这些基因含量预测是针对 KEGG 或 COG 基因家族中存在的蛋白质编码基因和 16S rRNA 基因拷贝数预先计算的。因此,用户通常不需要重新计算基因含量预测来使用 PICRUSt
基因内容预测需要两个输入数据文件:要预测的特征表和系统发育树(有关文件格式的详细信息,请参阅基因内容预测教程)。通常,性状表是 IMG 数据库中每个已测序细菌和古菌基因组中每个基因家族的基因拷贝数表,系统发育树是 Greengenes 系统发育。然而,可以使用替代树和性状表来例如尝试基于系统发育亲属的特征来预测动物的特征。
1. 树修剪和格式化
基本原理:祖先状态重建 (ASR) 软件通常要求 id 在字符状态矩阵(即有机体特征)和系统发育之间完全匹配。因此,PICRUSt 必须生成完整树的修剪版本,然后才能将输入数据提供给 ASR 方法。
细节:PICRUSt 的 format_tree_and_trait_table.py 脚本生成一个修剪过的树和减少的特征表,其中只包含树和特征表之间共享的有机体。此步骤还格式化树以输入到 ASR 程序中。这包括:强制树完全分叉(polytomies 用 epsilon 长度的分支任意解决),用小的 epsilon 分支长度替换任何零长度的分支,以及修改一些 ids 以避免会破坏 ASR 软件的字符。有关所有可用选项,请参阅 format_tree_and_trait_table.py 文档。当前假定提供的系统发育是正确的。因此,如果需要,必须通过使用 PICRUSt 的替代输入(例如,
2. 祖态重建
基本原理:由于许多基因含量在密切相关的微生物之间是保守的,因此生物体共同祖先和测序基因组中存在的基因的准确图片可以为我们尚未研究的现代生物体中的基因含量提供基线预测. 因此,PICRUSt 使用几种祖先状态重建算法中的一种来估计祖先基因含量。
细节:PICRUSt 的 ancestral_state_reconstruction.py 脚本应用了几种外部祖先状态重建程序之一来生成祖先状态。当采用最大似然方法时,每个基因家族的计数被视为在布朗运动模型下进化的连续进化特征。默认情况下,快速近似 ASR 方法(来自 ape R 包的 ace_pic)但完整的最大似然推理可作为命令行选项使用。将基因拷贝数视为连续字符有一些解释。另一种方法可能将基因计数视为离散状态。这可能看起来更自然,并且具有允许不对称速率矩阵的潜在好处。然而,某些基因家族的基因拷贝数在某些基因组中可能达到数百个。这些高拷贝数会产生极大的速率矩阵,这可能会使祖先状态重建在计算上变得难以处理,而且也可能不会受到可用数据的充分约束。因此,目前采用更简单的连续进化模型。
布朗运动下的祖先状态重建,连续特征模型还产生对每个祖先状态的不确定性的估计。最后,为每个角色(例如基因家族)产生一个速率(布朗运动参数,Sigma)。这个比率反映了基因家族在进化时间内拷贝数变化的速度。因此,由于微生物基因组可塑性的各种机制(包括水平基因转移),该比率隐含地包含了不确定性。在性状预测期间可选地使用这些不确定性估计和基因进化率,以将祖先状态重建中的不确定性传播到基因预测。
3. 预测特征
基本原理:在祖先状态重建之后,PICRUSt 应该可以获得三个关键信息:所研究生物的特征(例如每个测序基因组中的基因计数)、祖先生物的特征以及包含参考生物和推断祖先的参考树生物体。对缺乏基因组序列的生物体的基因含量的估计将取决于其在系统发育树中相对于具有测序基因组和/或推断的祖先基因组的生物体的位置。PICRUSt 通过根据距离对测序或祖先基因组进行加权来估计这些性状的价值。这种加权可以是线性的、指数的或基于方差的。或者,
详细信息:可选地,特征预测可以输出每个预测特征的置信区间。该置信区间基于预测的方差。这种差异基于两个因素:(1)每个祖先状态重建本身的不确定性,以及(2)由于进化距离将预测特征的生物与参考生物和/或重建祖先分开的额外不确定性推动预测。
第一种类型的方差在特征预测期间通过用于在加权平均值上传播方差的标准公式来解释(参见predict_traits.py <predict_traits>库本身的完整细节)。由于最近的进化变化,第二种类型的差异是通过使用祖先状态重建过程中推断的速率参数来解释的。这具有以下影响:长分支(相对于具有已测序基因组或可重建状态可用的祖先的 LCA)或高度可变的基因在理论上都会导致高方差。然而,在实践中,由于参考基因组的可用性或不可用性导致的影响似乎比快速进化与缓慢进化的基因家族产生的影响要大得多。这些结果和 95% 置信区间的一些基准在PICRUSt 论文的补充材料中进行了讨论
16S rRNA 拷贝数预测
原理:16S rRNA 基因拷贝数的预测方式与其他基因相同。然而,由于每个基因组的 16S rRNA 基因操纵子计数来自 IMG 中的不同源数据,因此单独运行对 16S rRNA 拷贝数的预测。
详细信息:为了解释细菌分类群之间可变的 16S rRNA 操纵子拷贝数,predict_traits.py 以与其他基因完全相同的方式预测 16S rRNA 拷贝数,但使用每个基因组的 16S rRNA 拷贝数的 IMG 计数作为输入。这些预测的拷贝数可作为预先计算的文件PICRUSt 的预先计算的文件使用。16S 操纵子拷贝数预测准确性的基准可以在PICRUSt 论文的补充材料中找到。
拷贝数归一化
理由:由于 16S rRNA 基因操纵子在细菌中的拷贝数可以从 1 到 15 个不等,因此在 16S rRNA 测序研究中观察到的相对丰度可能与真实的生物体丰度不同。例如,如果不应用拷贝数标准化,具有 4 个 rRNA 操纵子拷贝的细菌的宏基因组贡献可能会增加 4 倍。有关 16S 拷贝数标准化的进一步讨论,请参阅Kembel 等人 2012
详细信息:normalize_by_copy_number.py简单地将每个样本中的每个 OTU 值除以其在PICRUSt 的预计算文件中预测的 16S rRNA 拷贝数。目前,由于 16S rRNA 拷贝数估计的不确定性,宏基因组置信区间的方差没有调整,但这是对未来发展的直接补充。可以在PICRUSt 论文的补充材料中找到 16S 操纵子拷贝数预测准确性的基准. 尽管 16S rRNA 预测的准确性已经过测试,并且有明确的理由认为这可能会影响整体准确性,但拷贝数推断对 beta 多样性聚类或 PICRUSt 宏基因组预测的总体影响是一个将受益于进一步表征的领域.
宏基因组预测
基本原理:在拷贝数归一化之后,OTU 表现在应该对应于生物体的相对丰度,而不是 16S rRNA 本身的相对丰度。因为每个生物体每个基因家族的基因拷贝数已经在predict_traits.py生成的预先计算的文件中估计,生成宏基因组预测是通过简单地将每个 OTU 的基因计数向量乘以该 OTU 的丰度来处理的每个样本,并在所有 OTU 上求和。
详细信息:为了计算效率,这些总和使用 numpy 的点积处理。可选地,特征预测中的不确定性(见上文)可以通过特征预测传播,以产生 95% 的预测置信区间。这是通过分解计算宏基因组预测所涉及的各个步骤并在每个步骤之间传播方差来完成的。与特定的每个基因组预测的置信区间不同,PICRUSt 对宏基因组预测的 95% 置信区间的能力,虽然经过了单元测试,但尚未在生物数据集上得到验证。因此,宏基因组置信区间目前应被视为实验性的。有关完整详细信息,请参阅predict_metagenomes.py和相关的库代码。
网友评论