1.1 OTU的定义与解读

一、OTU历史背景

Sneath-Sokal OTU

操作分类单元(Operational Taxonomic Unit,OTU)的概念是由Peter Sneath和Robert Sokal在20世纪60年代通过一系列书籍和文章引入的,这些书籍和文章创立了数值分类学领域(numerical taxonomy)(参见例如Sneath&Sokal:Numerical Taxonomy,WH Freeman,1973) 。他们的目标是制定一个定量策略,根据观察到的特征将生物分类成组,创建一个层次分类,尽可能忠实地反映生物之间的进化关系。 Sneath-Sokal OTU是通过制作一个可用数值描述的观察到的特征表来构建的;例如,1 =存在,0 =不存在。层次结构(树)是通过根据它们共有的特征数重复合并最相似的组来构建的。这是应用于生物分类的凝聚聚类算法(agglomerative clustering algorithm )的早期例子。 Sokal和Sneath在DNA序列可用之前,以及在开发更准确的基于特征和序列的系统发育树(phylogenetic tree construction algorithms)构建算法(例如邻接(neighbor-joining )和最大似然(maximum likelihood.))之前工作。

历史97%的identity threshold

在16S测序中,OTU通常使用97%的identity threshold。 据我所知,第一次提到这个threshold是在(Stackebrandt和Goebel 1994)。 如果您知道早期参考97,请告诉我。 Stackebrandt和Goebel发现,16S序列的97%相似性大约相当于70%的DNA重新关联值(DNA reassociation value),这在以前被认为是细菌物种的working definition(Wayne等,1987)。

现代OTU identity threshold

2014年进行的分析发现,通过聚类全长16S序列,近似物种的最佳阈值为98.5%(Yarza等,2014)。 然而,这项研究是使用CD-HIT(Li和Godzik 2006)完成的,CD-HIT基于SILVA数据库中的分类学预测,其序列identity存在问题,其中大约五分之一是错误的(Edgar 2018a)。 在最近的一篇论文中,我发现最佳聚类阈值对于全长序列是~99%同一性,对于V4是约100%(Edgar 2018b)。

通过聚类16S序列构建的OTU

  • 我知道用于聚类16S序列的最早的软件程序是FastGroup(Seguritan和Rohwer,2001)。 FastGroup使用类似于UCLUST的贪婪聚类算法。identity阈值为97%,作者引用了Stackebrandt和Goebel。
  • DOTUR(Schloss和Handlesman,2005)是mothur的先驱(Schloss et al.2009),使用凝聚聚类(agglomerative clustering ),可选择使用最大,最小或平均连锁(maximum, minimum or average linkage)。 DOTUR和mothur在一系列identity阈值下产生OTU,注意到(DOTUR论文)“具有超过97% identity的[序列通常分配给同一物种,具有95%同一性的那些通常被分配到同一属,那些具有80% identity的通常被分配到同一个门,尽管这些区别是有争议的“。
  • QIIME(Caporaso等人,2010)几乎完全使用97%的阈值。早期版本的QIIME使用CD-HIT作为默认的OTU聚类方法,后来被UCLUST取代(Edgar 2013)。我没有在他们的论文或文件中找到任何关于QIIME OTU的预期解释的描述(如果我错过了,请告诉我)。

OTU作为物种的 working definition

想象一下它是20世纪90年代,我们通过PCR和Sanger测序获得了16S序列。 那时,公共存储库中可用的16S序列相对较少,因此大多数都无法通过数据库搜索来识别。 一种实用的替代方案是使集群具有97%的同一性。 这些聚类可以被视为Sneath-Sokal OTU,它暂时将序列分配给物种和更高级别的群体。 如果,但仅当序列中的实验误差不显着时,这是一种合理的方法。 在早期文献中,很少(从不?)考虑错误。 据推测,这是因为Sanger测序具有非常低的错误率,还有一个原因,因为PCR导致的错误,特别是嵌合体,在90年代并不广为人知(Ashelford等人,2005)。

next-generation reads的OTU

新一代测序(NGS)于20世纪90年代末出现,并通过对16S基因进行低成本,高通量测序,彻底改变了微生物学。 与Sanger测序相比,这些优点以更短的读取长度和更高的错误率为代价。 OTU聚类方法应用于NGS读数,但逐渐变得清楚的是,这些方法由于实验误差而产生许多假的OTU,导致多样性的夸大估计(参见例如Huse等人2010)。 在撰写本文时(2017年中),一些广泛使用的方法继续产生大量的虚假OTU,尤其是QIIME,它使用推荐的程序,20种模拟物种,Illumina测序结果产生了数百或数千个OTU。

Westcott和Schloss OTU

在最近的一篇论文中,Westcott和Schloss提出了基于马修斯相关系数(MCC)的OTU定义。 但是,它们的定义在实践中存在问题

二、OTU的内核

Goals for making OTUs as clusters of reads

在这里,我建议制作OTU的一些目标。

  • 类物种群的操作定义(Operational definition of species-like groups):
  • Sneath-Sokal序列分类。这是制作16S OTU的历史动机。
  • 将单个菌株内的变异合并为一个簇:
  • 细菌染色体通常含有16S基因的多个拷贝(旁系同源物)。旁系同源物通常具有较小的序列差异。聚类倾向于将旁系同源物合并为单个OTU。如果目标是每个表型获得一个OTU,这是一件好事,这对大多数分析来说都是有意义的。
  • 将单个物种的菌株之间的变异合并为一个簇
  • 给定物种的不同菌株,例如大肠杆菌,在它们的16S序列中通常具有差异。由于旁系同源物,在单一菌株内可能发生的变异之上,这增加了物种内的变异水平。聚类倾向于合并两种变化水平以为物种创建单个OTU或至少更少的OTU。如果目标是每个表型获得一个OTU,这不是一件好事,因为不同的菌株可能在表型上具有重要差异(例如,致病性或非致病性)。此外,虽然菌株的概念相当明确(竞争基因组中的变异很小),但物种的概念对细菌来说是个问题(Gevers等,2005,Doolittle和Pakpke,2006),因此有一个每个物种的OTU没有那么明确或有用。
  • 将由于实验错误引起的变化合并到一个集群中
  • 由于PCR测序错误引起的错误导致读数中的序列变异,其原因不是生物学的。聚类倾向于将坏序列与正确的生物序列合并。为了有效,这要求具有> 3%误差的序列是罕见的,因为它们总是诱导假的OTU(参见例如Edgar和Flyvbjerg 2014)。具有<3%误差的序列也可能导致虚假的OTU,这取决于相应的正确序列是否接近群集的中心(可能不是)或接近边缘(更可能)。

解释使用OTU获得的结果

要用OTU做有意义的生物学,你需要知道目标是什么(我上面建议的那些?其他?),以及这些目标在实践中的表现如何。这可能会有问题,因为作者通常对他们的目标含糊不清,并且在验证他们的方法时也很邋。例如,文献中发现的一种方法是在具有已知组成的人工(“模拟”)社区上测试该方法,并根据报告的OTU的数量来测量α多样性/丰富度。如果OTU的数量与物种的数量大致相同,则声明该方法是准确的。其中一些论文存在严重缺陷。可以在用于测试的模拟社区数据上调整算法参数,这可能导致过度拟合。可以出于错误的原因获得正确数量的OTU;例如,因为一些OTU有几个物种集中在同一个集群中,而另一些则是虚假的,例如嵌合体。在其他情况下,作者尝试使用模拟社区多样性进行验证,发现生成了太多的OTU,然后忽略,淡化或混淆结果,而不调查虚假OTU的来源。如果不理解和解释误差来源,那么生物学推论是不可靠的,并且对统计学显着性的幼稚估计可能会产生误导,因为可以获得错误假设的低P值(Taylor 1997)。

三、我的定义

我对OTU的定义

在USEARCH中,我的算法旨在报告正确生物序列的OTU。根据这个定义,与生物学的联系是明确的,OTU可以被客观地验证或伪造,特别是在已知生物序列的模拟社区测试中。

UPARSE OTU:

  • 在UPARSE-OTU算法(cluster_otus命令)的情况下,目标是报告正确生物序列的子集,使得(a)所有OTU对彼此<97%相同,以及(b)OTU序列是其附近最丰富的。这些可以解释为Sneath-Sokal OTU,提供物种的可操作近似。

去噪OTU(ZOTU):

  • 使用UNOISE算法(unoise3命令),目标是报告读数中所有正确的生物序列。这些被称为零半径(zero-radius)OTU或ZOTU。由于种内变异(旁系同源物之间的差异和菌株之间的差异),预计一些物种可能在几个ZOTU上分裂。 ZOTU的优势在于它们能够解决具有潜在不同表型的密切相关菌株,这些表型将被97%的OTU集中到同一簇中。

OTU丰富:

  • 根据我的定义,OTU是序列,而不是簇。传统的OTU分析通常基于OTU表,该表需要每个样本中每个OTU的丰度或频率。我通过计算reads来计算丰度,同时强调读数丰度与物种丰度的相关性非常低,因此对这些丰度的生物学解释尚不清楚。
  • 对于去噪序列,ZOTU的丰度旨在是从该(一个,独特的)生物模板序列衍生的读数的数量,计算正确的reads和reads错误。
  • 使用97%的OTU(UPARSE),OTU的丰度旨在是从与OTU序列> = 97%相同的所有生物序列衍生的读数的数量,计算正确的reads和reads错误。这个定义还不够,因为reads可以匹配两个或更多OTU。如果存在多个选择,则将reads分配给具有最高identity(不是最高丰度)的OTU,因为具有最高同一性的OTU更可能属于同一物种。如果选择仍然不明确,因为两个或更多OTU被绑定以获得最高identity,则通过选择数据库文件顺序中的第一个OTU来系统地破坏联系。此过程可确保将给定菌株的reads始终分配给同一个OTU。
  • 实际上,对于OTU和ZOTU,通过使用otutab命令将reads与97% identity阈值的reads对齐来计算丰度。reads被分配给最相似的OTU序列,系统地打破了联系。在97%OTU的情况下,使用97% identity阈值的动机是不言自明的。使用ZOTU,动机是由于测序和PCR而允许高达3%的错误。预计ZOTU已经包含真正的生物学变异,并且最相似的ZOTU几乎总是具有错误reads的正确生物序列。

参考资料

这里是一个广告位,,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn