| UPARSE—力挽狂澜
微生物群落研究最常用的方案莫过于扩增子研究(16S、ITS等扩增子测序技术),通过扩增群落样本基因组特定区域片段,实现对样本所包含的物种进行分类学鉴定与相对丰度的计算。麻烦的是扩增子测序结果中存在着许多测序错误、嵌合体等错误信息,对于后续的细菌/真菌的鉴定与丰度计算有着不小的干扰。
为了解决错误信息的干扰,过去人们想了各种方法降噪,奈何效果与效率上表现欠佳。直到2013年,大神级独立研究员Robert C. Edgar带着UPARSE算法登上《nature methods》[1],这种算法能够将操作分类单元(OTU,以序列相似度为标准,划分的序列集合)中包含的碱基错误率控制在1%以内。相较于此前的聚类方法有了巨大的进步。
此后,Robert C. Edgar大神还独立地开发了UCHIME嵌合体检测算法,并独立开发了Usearch软件,整合了UPARSE算法和UCHIME算法,一条命令即可调用这两种算法,这两种算法在之后很长的一段时间里被广泛采纳,认为是扩增子测序的聚类方法“金标准”。Usearch软件至今仍然热度不减, Robert C. Edgar以一己之力提升了扩增子测序研究的整体精度,近几年扩增子测序文章数量井喷式上涨的背后离不开这位研究员的卓越贡献。
| DADA2—横空出世
时间来到3年后的2016年,斯坦福大学研究团队推出新型序列聚类算法DADA2,隔空挑战过去的聚类“金标准”UPARSE聚类方法,认为UPARSE中默认以97%的序列相似度进行OTU聚类的步骤实际上会掩盖部分存在测序错误的序列,导致部分OTU的丰度出现不准确,同时序列真实的变异信息也会由于过于宽松的相似度阈值被掩盖。在当前“精细作业”的后扩增子研究时代,科研者需要有更高精度的算法用以聚类。
DADA2算法的核心在于序列校正,二代测序的错误是随机发生的(即,任意两条序列的测序错误相对是随机发生的、一条序列的任意两个位置的测序错误也是随机发生的,不存在关联性),符合泊松分布。
通过机器学习的方式统计特定质量值下,位点发生真实变异的概率λij,判断序列i(扩增子)是否来在来自j(模板,丰度最高的序列)。之后再校正所有被判定为测序错误的位点,采用分裂分割算法(The divisive partitioning algorithm)进行最后的聚类:将所有序列作为一个partition,丰度最高的序列为中心,处于partition中的序列都与中心序列进行比较,计算丰度p值(p值是在位点变异率λij基础上计算获得整条序列是来自模板序列的可能性标准),当最小的p值小于阈值,则划分为新的partition,所有序列和新的中心序列进行比较,不断划分,直到不能再划分即所有序列都有与之对应的partition为止。
这种聚类方式相当于以100%相似度进行聚类的单元(DADA2软件把聚类结果称为ASV,事实上它相当于100%相似度聚类的OTU)。根据文献示例结果来看,DADA2的算法能够让一些真实的序列变异保留下来,且聚类效果上有了一定提升。
近两年DADA2算法逐渐被认可,QIIME2等分析流程纷纷调用DADA2作为默认聚类方法,DADA2有望进一步提升扩增子研究的聚类精度。
| Unoise2—绝对反击
作为一代算法大神,Robert C. Edgar看到自己的杰作UPARSE算法被贬的一无是处,一怒之下闭关修炼半年,在DADA2发表的同年10月,带着最新的算法unoise2登上了bioRxiv(预印刊,待发表)。在文章摘要的最后一句剑锋直指DADA2算法: it has comparable or better accuracy than DADA2.
不同于DADA2算法,unoise2算法是在UPARSE算法基础上进行的测序错误、嵌合体识别流程的优化升级。在不同编辑距离d(Levenshtein distance,与丰度最高序列的碱基数量上的差距)下,计算β值进行序列过滤:
(α默认为2)、skew值(skew(M, C)=aM/aC,目标序列与中心序列丰度比值)
当skew值小于β值则聚类为同一个OTU,去除变异程度高的序列,保持OTU的序列纯度,最后输出Z-OTU(作者为了区别UPARSE算法的OTU而做的命名)表格。
这种算法能够较好地去除低丰度的存在碱基测序错误的序列,相较于传统的UPARSE算法能够让OTU可信度得到进一步提高。
从文章给出的土壤样本去嵌合体的效果来看,unoise2相比于DADA2推测能够保留更多的有效数据用于后续分析,真实效果是否有提升有待后续的验证。当前unoise已经升级到第3版,将更多的低丰度序列进行过滤,同时该算法也整合到Usearch软件中供研究者使用。
| 小结
UPARSE算法通过97%相似度聚类获得OTU,DADA2算法则通过序列校正获得单碱基精度的操作单元,UNOISE系列算法则是通过降噪的方法提高OTU的单位精度,此外还有Deblur等新的方法陆续涌现。当前还没有一种算法能够完美去除所有噪音并保留所有可用数据。
不同算法有着各自的优缺点,趋势上看,各算法对于低丰度的OTU的态度都是一致:删除。DADA2默认删除singleton,unoise2默认删除4以下的序列,而unoise3则是上升到了8,可见低丰度的序列大多来自于测序错误有成为共识的趋势。
毫无疑问的是未来扩增子测序的发展会朝着大样本、大数据量、摒弃低丰度序列以及高精度聚类的方向前进,这给下游的研究应用者的启发在于:需要准备足够的样本数量以及测序的数据量,保证目标物种被足够的数据量覆盖到,让实验效果能得到充分体现。
参考:
https://zhuanlan.zhihu.com/p/342898969
https://blog.csdn.net/woodcorpse/article/details/78191452