NAR:扩增子OTU聚类软件SeekDeep方法解读
本文转载自"生信算法",已获授权
微生态种群研究中,16S rRNA是细菌分类研究中最有用和最常用的标签序列,可以很容易地通过测序技术得到序列,故被广泛应用。基于16S序列的微生物多样性分析也是宏基因组领域的重要研究内容。
OTU(operational taxonomic unit)聚类作为微生物序列分析中的重要一环,引起了许多研究者的关注,发展了不同策略的OTU聚类算法,最常用的有CD-HIT、MOTHUR、USEARCH以及被大家所熟知的综合分析平台QIIME。
传统的OTU聚类算法都是设定一个距离阈值(如0.03)进行聚类,即将序列距离小于0.03的序列聚在一起,这样形成的每个OTU对应分类学上的species(种)。(1)但是随着多样性分析的精细化,越来越多的研究者需要得到更细水平(strain)的划分。而且有时不同物种间的16S序列差异只有1个或多个碱基不同,如何将这些序列间差异很小的物种找出来,传统的OTU聚类算法变得“无能为力”。(2)第二个需要考虑的便是测序误差,包括PCR扩增过程和测序仪器两种误差。大多数传统的OTU聚类算法并没有考虑。
基于以上两点,作者开发了SeekDeep扩增子测序分析软件,18年在Nucleic Acids Research(IF: 10.162)上发表,将测序误差考虑进来,可以有效找出单个碱基差异的物种。
SeekDeep方法
SeekDeep软件主要分为4步,如下图所示,其中qcluster是软件的核心算法(重点介绍)!
1 extractor
常规操作,根据barcode将不同样本的序列提取出来。
2 qcluster
对每个样本数据进行聚类,SeekDeep方法的核心步骤,看作者是如何判断将两条序列归为一类。下图是qcluster的分析流程图,先进行去重复处理,得到unique序列,然后多次迭代的进行序列合并,得到最终的clusters。
我们接下来看qcluster的核心步骤,根据比对结果与质量分数将两条序列合并在一起。本次的重点介绍!
首先需要对两条序列进行序列比对,如下图两条序列a、b所示。
其中判断指标主要有六个,如下图所示
(1)1 base indel:1个插入或删除碱基的个数,如果出现在同聚体(Homopolymer)中,则个数为两个同聚体长度的平均值的倒数,所以上图中1 base indel的总个数为1.28。
(2)2 base indel:连续2个的indel错误,比对结果中没有出现。
(3)>2 base indel:连续2个以上的indel错误,比对结果中没有出现。
(4)High quality mismatches:质量分数比较高的mismatch,博哥认为是属于可信度比较高的mismatch(也就是真的mismatch)。要同时考虑前面2个碱基和后面两个碱基的质量分数,当mismatch位置上的质量分数高于20并且前后2个碱基(共4个碱基)的质量分数大于15时,就为High quality mismatches。
(5)Low quality mismatches:不满足的High quality mismatches就是Low quality mismatches。
比对结果中共有2个High quality mismatches,1个Low quality mismatches。
(6)Low K-mer mismatch:如果mismatch属于High quality mismatches,计算这个mismatch的K-mer频数。K-mer以mismatch为中心的,K默认值为9。如果频数超过1(默认值),则Low K-mer mismatch个数加1。
通过以上六个指标,判断是否将两条序列合并在一起,由于观测值大于默认值,所以不进行合并。
qcluster多次迭代比较,每次迭代的阈值会有所增加,程序默认8次迭代,最后的结果即时每个样本的聚类结果。
3 processClusters
对每个样本的聚类结果合在一起在进行qcluster。
4 popClusteringViewer
结果可视化。
结 果 比 较
比较算法:MED、UNOISE和DATA2三个算法进行比较。
测试数据集:模拟数据、真实数据
评价指标:Recovery(calculated as the number of clusterexactly matching expected divided by the total number of expected)
模拟数据
模拟数据B的复杂性高于数据A,可以看出SeekDeep在低丰度下效果明显好于其他算法。
真实数据
A图是平均多次下的比较结果,图B是聚类结果的丰度图与真实丰度的散点图,直线越接近1,说明聚出的结果越接近真实丰度。可以看出SeekDeep的结果较好。
限于篇幅,简单列了这两个分析结果。需要更加详细的结果,可以下载阅读原文文章。
参考文献:
Hathaway N J,Parobek C M, Juliano J J, et al. SeekDeep: single-base resolution de novo clustering for amplicon deep sequencing. Nucleic Acids Research, 2018.
猜您喜欢:
mothur QIIME usearch,三足鼎立,谁主沉浮?
三代测序序列比对利器-BLASR,更小更快更方便
生信算法“八股文”,发表算法不再难!
生信算法
长按二维码
关注微互动
猜你喜欢
10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature Cell专刊 肠道指挥大脑
系列教程:微生物组入门 Biostar 微生物组 宏基因组
专业技能:学术图表 高分文章 生信宝典 不可或缺的人
一文读懂:宏基因组 寄生虫益处 进化树
必备技能:提问 搜索 Endnote
文献阅读 热心肠 SemanticScholar Geenmedical
扩增子分析:图表解读 分析流程 统计绘图
16S功能预测 PICRUSt FAPROTAX Bugbase Tax4Fun
在线工具:16S预测培养基 生信绘图
科研经验:云笔记 云协作 公众号
编程模板: Shell R Perl
生物科普: 肠道细菌 人体上的生命 生命大跃进 细胞暗战 人体奥秘
写在后面
为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外5000+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。PI请明示身份,另有海内外微生物相关PI群供大佬合作交流。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。
学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”
NAR:扩增子OTU聚类软件SeekDeep方法解读相关推荐
- 提升舆情监测软件技术方法解读,舆情监测技术逻辑?
舆情监测是指通过技术手段,对网络舆情进行监测.分析.挖掘和可视化展示的工作.舆情监测可以帮助企业.政府.组织等了解社会舆论,掌握社会动态,协助决策,提升社会影响力.TOOM舆情监测系统介绍提升舆情监测 ...
- PICRUSt2分析实战:16S扩增子OTU或ASV预测宏基因组、新增KEGG层级
PICRUSt2分析实战:16S扩增子OTU或ASV预测宏基因组.新增KEGG层级 更新时间:2021年7月8日 PICRUSt推出了近8年,引用5000余次. 现推出PICRUSt2,202年再次霸 ...
- PICRUSt2分析实战:16S扩增子OTU或ASV预测宏基因组EC、通路、KO(200806更新)
PICRUSt2分析实战:16S扩增子OTU或ASV预测宏基因组 更新时间:2020年8月6日 PICRUSt推出了近7年,引用4000余次. 现推出PICRUSt2,再次霸气发表于顶级期刊Natur ...
- 构建科学合理的科技期刊评价体系—科技期刊世界影响力指数(WJCI)研制方法解读...
<中国新闻出版广电报>在2022年7月28日第06.07版刊登了名为"构建科学合理期刊评价体系 提升中国科技发展'软实力'"的系列专题文章共五篇,本篇为系列文章中之一. ...
- Nature Methods | TooManyCells:单细胞聚类和可视化方法
2020年3月2日宾夕法尼亚大学的Gregory W. Schwartz等研究人员在nature methods上发表了题为TooManyCells identifies and visualizes ...
- 面向过程的软件设计方法
面向过程的软件设计方法 前面主要是对系统的分析,从而明确我们系统的逻辑模型.也就是说,通过前面几章我们清楚了"系统需要做什么?".而软件设计阶段主要任务则是要实现系统逻辑模型向物流 ...
- 应用在机器学习中的聚类数据集产生方法
简 介: 本文根据 机器学习中常用的聚类数据集生成方法 中的内容进行编辑实验和整理而得.并在之后对于聚类数据库生成进行不断的补充. 关键词: 机器学习,聚类算法,数据集合 §01 直接生成 这类方 ...
- python画简单的图形的代码-Python实现画图软件功能方法详解
概述 虽然Python的强项在人工智能,数据处理方面,但是对于日常简单的应用,Python也提供了非常友好的支持(如:Tkinter),本文主要一个简单的画图小软件,简述Python在GUI(图形用户 ...
- 单片机 10种软件滤波方法的示例程序
单片机学习笔记_10种软件滤波方法的示例程序 假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad(); 1.限副滤波 /* A值可根据实际情况调整 v ...
最新文章
- 【Whalepaper】CV论文研读 - OneNet:Towards End-to-End One-Stage Object Detection
- 滴滴专车——司机提现流程
- Android--ViewPager点击按钮切换下一页
- C语言dijkstra最短距离的算法(附完整源码)
- 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----SYN(洪水攻击)篇
- Scanner类+Random
- leetcode887 鸡蛋掉落
- 第 2 节:前端面试指南 — HTML篇
- Javascript之DOM(Element类型)
- [20170816]Join Elimination Bug.txt
- ubuntu命令行打开vscode-insider_系统小技巧:迁移Wubi安装的ubuntu到Windows 10
- fortan程序设计
- 我的世界暮色森林java下载_我的世界暮色森林整合包
- 何凯明最新一作MAE解读系列1
- Python新书上市,强烈推荐!《Python网络数据爬取及分析从入门到精通(爬取篇)》导读
- Node+puppeteer学习笔记(五)--API问题解决--使用功能强大的“ eval ”函数
- 单片机18b20c语言程序,单片机c语言ds18b20程序
- 计算机云维护是做什么的,IT运维是什么?云时代下的运维人员是怎样的?
- 论文解读4 STRM《Spatio-temporal Relation Modeling for Few-shot Action Recognition》少镜头动作识别 CVPR2022
- mysql sha256 示例_SHA256简介