综述 2023-IEEE-TCBB:生物序列聚类方法比较

Wei, Ze-Gang, et al. "Comparison of methods for biological sequence clustering." IEEE/ACM Transactions on Computational Biology and Bioinformatics (2023). https://ieeexplore.ieee.org/document/10066180

  • 被引次数:1;
  • 研究背景:测序技术进步极大促进了基因组学研究。这一巨大进步带来了大量的测序数据。聚类分析对于研究和探索大规模序列数据具有强大的作用。过去十年中已经开发了许多可用的聚类方法。尽管发表了大量的比较研究,但我们注意到它们有两个主要局限性:仅比较传统的基于比对的聚类方法,并且评估指标严重依赖于标记的序列数据。
  • 研究意义:序列聚类有利于去除数据库中冗余序列
  • 作者信息:

一、传统序列聚类方法

传统方法:基于分层策略、需要对序列进行逐对对齐来进行聚类

1. mothur

[42] P. D. Schloss et al., “Introducing mothur: Open-source, platform- independent, community-supported software for describing and compar- ing microbial communities,” Appl. Environ. Microbiol., vol. 75, no. 23,pp. 7537–7541, 2009.

2. ESPRIT

[43] Y. Sun et al., “ESPRIT: Estimating species richness using large collections of 16S rRNA pyrosequences,” Nucleic Acids Res., vol. 37, no. 10, pp. e76–e76, 2009.

3. HPC-CLUST

 [44] M. Rodrigues, J. F., and C. von Mering, “HPC-CLUST: Distributed hierarchical clustering for large sets of nucleotide sequences,” Bioinformatics,vol. 30, no. 2, pp. 287–288, 2013.

4. mcClust

[45] Q. Wang et al., “Naive Bayesian classifier for rapid assignment of rRNA sequences into the new bacterial taxonomy,” Appl. Environ. Microbiol.,vol. 73, no. 16, pp. 5261–5267, 2007.

二、现代大规模序列聚类方法

1. CD-HIT:应用贪婪增量策略

巧妙地应用了统计k-mer(固定长度的子序列 k) 过滤以避免不必要的成对序列比对

[46] L. Fu et al., “CD-HIT: Accelerated for clustering the next-generation sequencing data,” Bioinformatics, vol. 28, no. 23, pp. 3150–3152, 2012.

[47] Y. Huang et al., “CD-HIT Suite: A web server for clustering and comparing biological sequences,” Bioinformatics, vol. 26, no. 5, pp. 680–682, 2010.

[48] W. Li and A. Godzik, “Cd-hit: A fast program for clustering and comparing large sets of protein or nucleotide sequences,” Bioinformatics, vol. 22,no. 13, pp. 1658–1659, 2006.

2. UCLUST :采用 USEARCH 的贪婪搜索算法

应用 k-mer 过滤器来避免不必要的低相似性序列对

[49] R. C. Edgar, “Search and clustering orders of magnitude faster than BLAST,” Bioinformatics, vol. 26, no. 19, pp. 2460–2461, 2010.

3. VSEARCH:作为 UCLUST 的替代品

VSEARCH 是一款免费的 64 位开源软件,用于序列聚类。它使用基于 k-mers 的快速启发式(UCLUST 中应用的类似策略)来有效检测相似序列。 VSEARCH 实现了 UCLUST 中用于分析生物序列的大部分功能,例如序列排序和去重复。因此,评估VSEARCH和UCLUST在序列聚类方面的性能非常有意义。

[50] T. Rognes et al., “VSEARCH: A versatile open source tool for metagenomics,” PeerJ, vol. 4, 2016, Art. no. e2584.

4. DBH:基于de Bruijn (DB) graph

克服传统启发式聚类算法中关键问题——种子选择的敏感性,并减少大规模 16S rRNA 序列的计算负担,我们开发了一种基于启发式聚类方法

[51] Z. - G. Wei and S. - W. Zhang, “DBH: A de Bruijn graph-based heuristic
method for clustering large-scale 16S rRNA sequences into OTUs,” J. Theor. Biol., vol. 425, pp. 80–87, 2017.

5. edClust:基于Edlib library

对相似序列进行分组,由 C/C++ 编程,可实现高速精确的半全局成对序列比对。 edClust 也是一种启发式方法,遵循 CD-HIT 的贪婪增量方法。应用了Edlib中实现的半全局序列比对来计算相似度对于带有种子的每个查询序列。

[52] M. Cao et al., “EdClust: A heuristic sequence clustering method with higher sensitivity,” J. Bioinf. Comput. Biol., vol. 20, 2021, Art. no. 2150036.
[53] M. Šošic ́ and M. Šikic ́, “Edlib: A C/C++ library for fast, exact sequence alignment using edit distance,” Bioinformatics, vol. 33, no. 9, pp. 1394–1395, 2017.

在预过滤过程中,CD-HIT、UCLUST、VSEARCH、DBH 和 edClust 仅计算序列之间相同k-mers 的数量。因为这个数字随着比较序列的相似性降低而迅速下降,所以大多数上述方法将在低聚类阈值(特别是低于 50%)下形成包含非同源序列的损坏簇的很大一部分。

6. kClust

为了提高低聚类阈值下的聚类敏感性,开发了 kClust,可以通过查找相似的 k-mers 以实现高灵敏度。

[54] M. Hauser, C. E. Mayer, and J. Söding, “kClust: Fast and sensitive clustering of large protein sequence databases,” BMC Bioinf., vol. 14, no. 1, 2013, Art. no. 248.

根据上面的描述,我们可以总结出CD-HIT、UCLUST、VSEARCH、DBH、edClust、kClust和MMseqs2将贪婪增量策略应用于聚类序列,计算复杂度约为O(KN),其中 N 和 K 分别是序列数和簇数。对于数亿个序列,K 通常与 N 具有相似的顺序,导致计算复杂度几乎以 N 的二次方增加。

7. Linclust: 线性时间 O(N)

对大蛋白进行聚类

[57] M. Steinegger and J. Söding, “Clustering huge protein sequence sets in linear time,” Nature Commun., vol. 9, no. 1, 2018, Art. no. 2542.

8. MMseq2

[55] M. Hauser, M. Steinegger, and J. Söding, “MMseqs software suite for fast and deep clustering and searching of large protein sequence sets,” Bioinformatics, vol. 32, no. 9, pp. 1323–1330, 2016.
[56] M. Steinegger and J. Söding, “MMseqs2 enables sensitive protein sequence searching for the analysis of massive data sets,” Nature Biotechnol.,vol. 35, no. 11, pp. 1026–1028, 2017.

9. MeShClust:均值平移算法

对DNA序列进行聚类

[58] B. T. James, B. B. Luczak, and H. Z. Girgis, “MeShClust: An intelligent tool for clustering DNA sequences,” Nucleic Acids Res., vol. 46, no. 14, pp. e83–e83, 2018.

三、4个 Benchmark datasets

表I-四个序列数据集的简单统计

1. 模拟数据集

模拟数据集由 James 等人[58]生成,包含 236 个序列,10 个簇,每个簇由约 23 个序列组成。 所有序列的平均长度约为1000 bp。

[58] B. T. James, B. B. Luczak, and H. Z. Girgis, “MeShClust: An intelligent tool for clustering DNA sequences,” Nucleic Acids Res., vol. 46, no. 14, pp. e83–e83, 2018.

2. Schmidt数据集

Schmidt数据集是Schmidt等人[44]构建的一个综合性的全球16S rRNA基因序列数据集(http://meringlab.org/suppdata/2014-otu_robustness/)。 该数据集几乎覆盖了细菌16S rRNA基因的整个区域,包含从NCBI GenBank收集的887870个序列,平均长度约为1401 bp。

[44] M. Rodrigues, J. F., and C. von Mering, “HPC-CLUST: Distributed hierarchical clustering for large sets of nucleotide sequences,” Bioinformatics,vol. 30, no. 2, pp. 287–288, 2013.

3. Alfree 数据集

Alfree 基准数据集 [39] 是基于 ASTRAL v2.06 数据集 [65] 构建的,该数据集包含 6569 个蛋白质序列,分为 513 个家族组。 该组中的序列范围在 20 到 1047 之间,平均长度为 184 个氨基酸。 Alfree数据集和类标签可以从网站链接免费下载:http://150.254.123.165/alfree//download/data/。

[39] A. Zielezinski et al., “Alignment-free sequence comparison: Benefits, applications, and tools,” Genome Biol., vol. 18, no. 1, 2017, Art. no. 186.

[65] N. K. Fox, S. E. Brenner, and J. -M. Chandonia, “SCOPe: Structural classification of proteins—Extended, integrating SCOP and ASTRAL data and classification of new structures,” Nucleic Acids Res., vol. 42, no. D1,pp. D304–D309, 2014.

4. UniProt 序列数据集

UniProt 序列数据集 [64] 是一个精心策划的蛋白质序列数据库,致力于提供高水平的注释、最小程度的冗余以及与其他数据库的高水平集成。 UniProt 数据库包含~562 K 蛋白质序列,平均序列长度为~359 aa。 

[64] B. E. Suzek et al., “UniRef: Comprehensive and non-redundant UniProt reference clusters,” Bioinformatics, vol. 23, no. 10, pp. 1282–1288, 2007.

四、聚类评估指标

 NMI(归一化互信息)指标 [43]

[43] Y. Sun et al., “ESPRIT: Estimating species richness using large collections of 16S rRNA pyrosequences,” Nucleic Acids Res., vol. 37, no. 10, pp. e76–e76, 2009.

其它评估指标:cluster number, seed sensitivity (SS), clustered fraction (CF) and the wrong clustered fraction (WCF) of one seed sequence ---> have been applied in previous study 【52】

[52] M. Cao et al., “EdClust: A heuristic sequence clustering method with higher sensitivity,” J. Bioinf. Comput. Biol., vol. 20, 2021, Art. no. 2150036.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/211807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣题:数字与字符串间转换-12.13

力扣题-12.13 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:442. 数组中重复的数据 解题思想:直接相除即可 class Solution(object):def optimalDivision(self, nums):""":type nums: List[int]:rtype: str"&qu…

Transformer 简介

Transformer 是 Google 在 2017 年底发表的论文 Attention Is All You Need 中所提出的 seq2seq 模型。Transformer 模型的核心是 Self-Attention 机制,能够处理输入序列中的每个元素,并能计算其与序列中其他元素的交互关系的方法,从而能够更…

再见了Future,图解JDK21虚拟线程的结构化并发

Java为我们提供了许多启动线程和管理线程的方法。在本文中,我们将介绍一些在Java中进行并发编程的选项。我们将介绍结构化并发的概念,然后讨论Java 21中一组预览类——它使将任务拆分为子任务、收集结果并对其进行操作变得非常容易,而且不会不…

Unity中Shader黑白阀值后处理效果

文章目录 前言一、我们先来PS看一下黑白阀值的效果二、使用step(a,b)函数实现效果三、实现脚本控制黑白阀值1、在Shader属性面板定义控制阀值变量2、把step的a改为_Value3、在后处理脚本设置公共成员变量,并且设置范围为(0,1)4、在Graphics.B…

Cocos Creator:创建棋盘

Cocos Creator:创建棋盘 创建地图三部曲:1. 创建layout组件2. 创建预制体Prefab,做好精灵贴图:3. 创建脚本LayoutSprite.ts收尾工作: 创建地图三部曲: 1. 创建layout组件 使用layout进行布局,…

四十三、Redis基础

目录 一、认识NoSql 1、定义: 2、常见语法 3、与关系型数据库(SQL)的区别: 二、认识Redis 1、定义: 2、特征: 3、Key的结构: 三、安装Redis 四、Redis常见命令 1、数据结构介绍 2、…

关于DNS服务器地址总是127.0.0.1且无法解析域名地址

问题 笔者尝试nslookup解释域名时,出现服务器变成本地环回口地址,导致无法解析域名 C:\Users\Zsy>nslookup www.baidu.com 服务器: UnKnown Address: 127.0.0.1*** UnKnown 找不到 www.baidu.com: Server failed排查思路 尝试关闭虚拟网卡&#…

CSS的逻辑组合伪类

CSS 的逻辑组合伪类有 4 种,分别是::not()、:is()、:where()和:has()。 否定伪类:not() :not 伪类选择器用来匹配不符合一组选择器的元素。由于它的作用是防止特定的元素被选中,它也被称为反选伪类(negation pseudo-…

自动化测试框架 —— pytest框架入门篇

今天就给大家说一说pytest框架。 今天这篇文章呢,会从以下几个方面来介绍: 01、pytest框架介绍 pytest 是 python 的第三方单元测试框架,比自带 unittest 更简洁和高效,支持非常丰富的插件,同时兼容 unittest 框架。…

【C++】:AVL树

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关多态的知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数据结…

用python 网络自动化统计交换机有多少端口UP

用python统计交换机有多少端口UP 用python统计交换机有多少端口UP,可以间接的反馈有多少个用户在线。我们使用上次的脚本将可达的网络设备ip统计到reachable_ip.txt中,这次我们使用reachable_ip.txt来登陆设备来统计多少端口是UP的 云配置 拓扑 交换机…

【Cisco Packet Tracer】VLAN通信 多臂/单臂路由/三层交换机

在进行本文的实验之前,请确保掌握以下内容: 【Cisco Packet Tracer】交换机 学习/更新/泛洪/VLAN实验 【Cisco Packet Tracer】路由器实验 静态路由/RIP/OSPF/BGP 【Cisco Packet Tracer】路由器 NAT实验 本文介绍VLAN间的通信方法, 包括…

FreeRTOS的任务优先级、Tick以及状态讲解(尊敬的嵌入式工程师,不妨进来喝杯茶)

任务优先级和Tick 在FreeRTOS中,任务的优先级和Tick是两个关键的概念,它们直接影响任务的调度和执行。 任务优先级 每个任务都被分配一个优先级,用于决定任务在系统中的调度顺序。 优先级是一个无符号整数,通常从0开始&#xff0…

Mysql- 流程函数-(If, CASE WHEN)的使用及练习

目录 4.1 If函数语法格式 4.2 CASE WHEN 条件表达式格式 4.3 update与 case when 4.4 练习题1 4.5 练习题2 4.6 练习题3-行转列 4.7 牛客练习题 4.8 LeetCode练习题 4.1 If函数语法格式 IF(expr1,expr2,expr3) 解释&#xff1a; 如果表达式expr1true(expr1 <>…

Xcode doesn’t support iOS 16.6

xocde版本低&#xff0c;手动放入16.6的依赖文件 https://gitee.com/qiu1993/iOSDeviceSupport/blob/master/iOS16/16.6.zip 路径 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

分割回文串

分割回文串 描述 : 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 题目 : LeetCode 131.分割回文串 : 131. 分割回文串 分析 : 字符串如何判断回文本…

20 Redis进阶 - 运维监控

1、理解Redis监控 Redis运维和监控的意义不言而喻&#xff0c;可以以下三个方面入手 1.首先是Redis自身提供了哪些状态信息&#xff0c;以及有哪些常见的命令可以获取Redis的监控信息; 2.一些常见的UI工具可以可视化的监控Redis; 3.理解Redis的监控体系;2、Redis自身状态及命…

Vue3-02-ref() 响应式详解

ref() 是什么 ref() 是一个函数&#xff1b; ref() 函数用来声明响应式的状态&#xff08;就是来声明变量的&#xff09; ref() 函数声明的变量&#xff0c;是响应式的&#xff0c;变量的值改变之后&#xff0c;页面中会自动重新渲染。ref() 有什么特点 1.ref() 可以声明基础…

VUE语法--toRefs与toRef用法

1、功能概述 ref和reactive能够定义响应式的数据&#xff0c;当我们通过reactive定义了一个对象或者数组数据的时候&#xff0c;如果我们只希望这个对象或者数组中指定的数据响应&#xff0c;其他的不响应。这个时候我们就可以使用toRefs和toRef实现局部数据的响应。 toRefs是…

MIT线性代数笔记-第28讲-正定矩阵,最小值

目录 28.正定矩阵&#xff0c;最小值打赏 28.正定矩阵&#xff0c;最小值 首先正定矩阵是一个实对称矩阵 由第 26 26 26讲的末尾可知正定矩阵有以下四种判定条件&#xff1a; 所有特征值都为正左上角所有 k k k阶子矩阵行列式都为正&#xff08; 1 ≤ k ≤ n 1 \le k \le n …