本文转载自"生信算法",已获授权

微生态种群研究中,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方法解读相关推荐

  1. 提升舆情监测软件技术方法解读,舆情监测技术逻辑?

    舆情监测是指通过技术手段,对网络舆情进行监测.分析.挖掘和可视化展示的工作.舆情监测可以帮助企业.政府.组织等了解社会舆论,掌握社会动态,协助决策,提升社会影响力.TOOM舆情监测系统介绍提升舆情监测 ...

  2. PICRUSt2分析实战:16S扩增子OTU或ASV预测宏基因组、新增KEGG层级

    PICRUSt2分析实战:16S扩增子OTU或ASV预测宏基因组.新增KEGG层级 更新时间:2021年7月8日 PICRUSt推出了近8年,引用5000余次. 现推出PICRUSt2,202年再次霸 ...

  3. PICRUSt2分析实战:16S扩增子OTU或ASV预测宏基因组EC、通路、KO(200806更新)

    PICRUSt2分析实战:16S扩增子OTU或ASV预测宏基因组 更新时间:2020年8月6日 PICRUSt推出了近7年,引用4000余次. 现推出PICRUSt2,再次霸气发表于顶级期刊Natur ...

  4. 构建科学合理的科技期刊评价体系—科技期刊世界影响力指数(WJCI)研制方法解读...

    <中国新闻出版广电报>在2022年7月28日第06.07版刊登了名为"构建科学合理期刊评价体系 提升中国科技发展'软实力'"的系列专题文章共五篇,本篇为系列文章中之一. ...

  5. Nature Methods | TooManyCells:单细胞聚类和可视化方法

    2020年3月2日宾夕法尼亚大学的Gregory W. Schwartz等研究人员在nature methods上发表了题为TooManyCells identifies and visualizes ...

  6. 面向过程的软件设计方法

    面向过程的软件设计方法 前面主要是对系统的分析,从而明确我们系统的逻辑模型.也就是说,通过前面几章我们清楚了"系统需要做什么?".而软件设计阶段主要任务则是要实现系统逻辑模型向物流 ...

  7. 应用在机器学习中的聚类数据集产生方法

    简 介: 本文根据 机器学习中常用的聚类数据集生成方法 中的内容进行编辑实验和整理而得.并在之后对于聚类数据库生成进行不断的补充. 关键词: 机器学习,聚类算法,数据集合 §01 直接生成   这类方 ...

  8. python画简单的图形的代码-Python实现画图软件功能方法详解

    概述 虽然Python的强项在人工智能,数据处理方面,但是对于日常简单的应用,Python也提供了非常友好的支持(如:Tkinter),本文主要一个简单的画图小软件,简述Python在GUI(图形用户 ...

  9. 单片机 10种软件滤波方法的示例程序

    单片机学习笔记_10种软件滤波方法的示例程序 假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad(); 1.限副滤波 /*  A值可根据实际情况调整     v ...

最新文章

  1. 【Whalepaper】CV论文研读 - OneNet:Towards End-to-End One-Stage Object Detection
  2. 滴滴专车——司机提现流程
  3. Android--ViewPager点击按钮切换下一页
  4. C语言dijkstra最短距离的算法(附完整源码)
  5. 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----SYN(洪水攻击)篇
  6. Scanner类+Random
  7. leetcode887 鸡蛋掉落
  8. 第 2 节:前端面试指南 — HTML篇
  9. Javascript之DOM(Element类型)
  10. [20170816]Join Elimination Bug.txt
  11. ubuntu命令行打开vscode-insider_系统小技巧:迁移Wubi安装的ubuntu到Windows 10
  12. fortan程序设计
  13. 我的世界暮色森林java下载_我的世界暮色森林整合包
  14. 何凯明最新一作MAE解读系列1
  15. Python新书上市,强烈推荐!《Python网络数据爬取及分析从入门到精通(爬取篇)》导读
  16. Node+puppeteer学习笔记(五)--API问题解决--使用功能强大的“ eval ”函数
  17. 单片机18b20c语言程序,单片机c语言ds18b20程序
  18. 计算机云维护是做什么的,IT运维是什么?云时代下的运维人员是怎样的?
  19. 论文解读4 STRM《Spatio-temporal Relation Modeling for Few-shot Action Recognition》少镜头动作识别 CVPR2022
  20. mysql sha256 示例_SHA256简介

热门文章

  1. DNS自述:我是如何为域名找到家的
  2. 程序员的技能树,决定了一生职业的高度
  3. 并行化-你的高并发大杀器
  4. Java内存模型深度剖析
  5. 强势分享5款超级实用的办公软件,建议收藏!
  6. 七年级上册数学计算机教学视频,七年级上册数学视频教学
  7. 王兴和张一鸣和我们的互联网启蒙
  8. C#文件封装到Dll
  9. 计算机视觉 | YOLO开源项目汇总
  10. 基于点云的三维物体表示与生成模型