扩增子分析还聚OTU就真OUT了,试试unoise3

宏基因组领域是当今热门领域,也正是方法快速发展和变革的时代。之前还把 97%聚类OTU作为扩增子行业的金标准。转眼间各位大佬纷纷向OTU聚类方法拍砖,都不建议再使用。

ASV代替OTU是趋势

之前我翻译整理的QIIME2官方帮助文档——宏基因组扩增子最新分析流程QIIME2-了解分析趋势,读过的朋友会发现,里面的每个分析流程中都不再使用聚类方法生成OTU,而是调用DADA2 [1]对原始数据进行去噪,相当于以100%的相似度聚类,而仅仅对低质量序列进行去除和校正,算法识别去嵌合等;去噪的序列直接去冗余,即Feature(特征,是OTU、ASV等的统称),也不再叫OTU。本文重点説ASV(Amplicon Sequence Variants),相当于相似度100%聚类的OTU。

其实我理解,仍叫OTU问题也不大,本质上还是可操作分类单元。因为限技术和认识的限制,没有更好的方法,当前就是最好的方法。OTU和菌永远不是绝对1:1对应的,1个OTU可能包括多种菌,而一种菌也可以包括多个OTU(rDNA可以多拷贝,且拷贝间不一定完全相同)。

我理解此方法的优点主要有:

  • 最大的进步是提高了种、株识别率

  • 降低结果中OTU假阳性的比例;

  • 有利于后续的实验和功能分析

DADA2简介

DADA2是2016年6月发表在Nature Method上[1],截止2017年10月9日Google统计引用76次。其实原理并不复杂,感兴趣的可以阅读原文,NCBI就有免费的全文。

这里只对文章中仅有的两幅图的结果简介。

图1. DADA2[1]与UPARSE[2]结果比较。结论就是比之前的UPARSE方法更好,可以看到更多真实的OTU,进一步去除假阳性、减少假阴性结果等;

图2. 对人类怀孕期阴道卷曲乳杆菌株水平分析。可以看到6种不同的菌株不同时期的丰度变化。而之前的OTU 97%聚类是看不到株水平差异的,也是聚类最大的问题。

dada2是个R包,源码地址:
https://github.com/benjjneb/dada2

安装也非常简单

source('https://bioconductor.org/biocLite.R')
biocLite('dada2')

在QIIME2中是推荐的方法,可以直接调用。单独使用它,推荐阅读R包主页的帮助文档[3]。

unoise算法

看见dada2的文章孬自己的UPARSE方法不够好,Usearch大神Robert C Edgar怎能示弱,马上回家编写了unosie2 [4],10月份(dada2文章出版三个多月后)直接把unoise2算法丢在了biorxiv(预印本杂志、无需同行评审)上
https://doi.org/10.1101/081257 。原文摘要只有3句话,最后一句直接説,我的unoise2比dada2更准确(it has comparable or better accuracy than DADA2)

文章只仅有两张图,我们简要介绍一下:

图1. unoise2的去噪原理。左图展示,高丰度的序列周围存在很多相近的低丰度序列,大部分是由于PCR和测序过程引入的。图右为去噪去后unique序列结果。

图2. 比较UNOISE2和DADA2在土壤样品中嵌合体预测的结果。结论就是説自己的算法比dada2考虑的更周到,结果更好。

原理的简介也可查看unoise的帮助页

http://www.drive5.com/usearch/manual/unoise_algo.html [5]。

unoise3生成OTU实战

上文提到dada2説比uparse更好,然后Edgar写了unoise2説比dada2更好。现在已经出了unoise3,我们当然要马上用了。

为了区别与之前97%聚类OTU的不同,作者将unoise3的结果命名为zotu。

unoise3只是usearch软件中上百个功能之一,还没用过usearch,快读读《扩增子分析神器USEARCH简介》

文中使用所有文件下载链接:
http://pan.baidu.com/s/1hs1PXcw 密码:y33d

本文的分析,是建立在扩增子分析流程基础上,想要了解每个文件的由来,请阅读《2扩增子分析流程:零基础自学-把握分析细节》。

本方法是对上面链接中分析流程中第3节——聚类,和第4节——生成OTU表的另一种选择,并对结果进行简单比较。

# 97% cluster_otus聚类方法# 聚类./usearch10 -cluster_otus temp/seqs_unique.fa -otus temp/otus.fa -uparseout temp/uparse.txt -relabel Otu# 生成OTU表./usearch10 -usearch_global temp/seqs_usearch.fa -db temp/otus.fa -otutabout temp/otu_table_clusterotu.txt -strand plus -id 0.97 -threads 10# 注:原流程中很多去嵌合、去非细菌序列的步骤是可选的,要根据具体需要是否添加。这里仅作聚类和OTU表生成的演示

# unoise3非聚类方法# 使用unoise3非聚类直接去噪生成OTU,默认丰度阈值是reads>=8usearch10 -unoise3 temp/seqs_unique.fa -zotus temp/zotus.fa -minsize 8# 格式化OTU ID,不然下游分析会出现OTU表没有ID的问题awk 'BEGIN {n=1}; />/ {print '>OTU_' n; n++} !/>/ {print}' temp/zotus.fa > result/zrep_seqs.fa# 使用otutab mapping生成OTU表usearch10 -otutab temp/seqs_usearch.fa \ -zotus result/zrep_seqs.fa \ -otutabout temp/otu_table_raw.txt \ -threads 9 # -id ${sim} -mapout ${temp}/zmap.txtbiom convert -i temp/otu_table_raw.txt -o temp/otu_table_raw.biom --table-type='OTU table' --to-json

表1. cluster_otus与unoise3方法比较

Method OTU number Mapped reads %
cluster_otus 5486 58.7%
unoise3 4187 62.6%

现在的结果是非聚类产生了更少的OTU,而可用数据比例反而增加了。

关于unoise3更详细的使用方法,可以阅读官方帮助文档[6]。

具体的好用之处,需要结合具体的科学问题来讨论吧。它们最大的优势是dada2文章图2中所示的菌株水平的分析。马上一大波基于此方法的新研究,正走在发表的道路上。

Biostack导读unoise2

在biostack上看到了一段unoise2的介绍,写的不错,同时分享给大家[7]。
UNOISE2:通过对Illumina测序平台结果错误纠正进行微生物多样性分析。Usearch主要三点:1. 序列相似性比对, 2. 微生物多样性数据处理,逐渐构成了小生态,3. 序列处理瑞士军刀, 三点上竞争对手都很多, 第一点上 diamond 、RAPSearch等都是竞争对手,第二点 Usearch 紧随其后,另外还有 [QIIME 、Mothur 等老牌工具, 第三个问题太多了,主要有 seqtk 、 seqkit 等。不过这个帖子提到的是新出炉的 UNOISE2,就是错误纠正(这类工具也很多), 包括了去除测序错误的序列,嵌合体序列,Phix 污染序列以及低复杂度序列等, 然后就可以直接构建 OTU表了,UNOISE2 流程推荐直接从最原始的序列开始,合并双端序列、过滤、去冗余、错误纠正、序列比对、构建OTU表、一气呵成。另外:可以增加调整序列方向这一步,需要参考序列库,比如 RDP 的序列库,或者使用 Silva 的库。不得不提 Usearch 工具使用序列:32位版本不管是工业界还是学术界随便用,免费, 64位版本需要进行收费了,学术界要比工业界便宜不少,现在刚进入 9.0版本,销售策略也进行了调整,从先前按年订阅, 变成现在 按大版本号订阅 ,更人性化了。

  1. Callahan B J, McMurdie P J, Rosen M J, et al. DADA2: high-resolution sample inference from Illumina amplicon data[J]. Nature methods, 2016, 13(7): 581-583.

  2. Edgar, R.C. (2013) UPARSE: Highly accurate OTU sequences from microbial amplicon reads, Nature Methods [Pubmed:23955772, dx.doi.org/10.1038/nmeth.2604].

  3. http://www.bioconductor.org/packages/release/bioc/html/dada2.html

  4. UNOISE2: Improved error-correction for Illumina 16S and ITS amplicon read. bioRxiv, 2016

  5. http://www.drive5.com/usearch/manual/unoise_algo.html

  6. http://www.drive5.com/usearch/manual/cmd_unoise3.html

  7. http://www.biostack.org/?p=275

(0)

相关推荐