{"title":"在图中寻找最大精确匹配","authors":"Nicola Rizzo, Manuel Cáceres, Veli Mäkinen","doi":"10.1186/s13015-024-00255-5","DOIUrl":null,"url":null,"abstract":"We study the problem of finding maximal exact matches (MEMs) between a query string Q and a labeled graph G. MEMs are an important class of seeds, often used in seed-chain-extend type of practical alignment methods because of their strong connections to classical metrics. A principled way to speed up chaining is to limit the number of MEMs by considering only MEMs of length at least $$\\kappa$$ ( $$\\kappa$$ -MEMs). However, on arbitrary input graphs, the problem of finding MEMs cannot be solved in truly sub-quadratic time under SETH (Equi et al., TALG 2023) even on acyclic graphs. In this paper we show an $$O(n\\cdot L \\cdot d^{L-1} + m + M_{\\kappa ,L})$$ -time algorithm finding all $$\\kappa$$ -MEMs between Q and G spanning exactly L nodes in G, where n is the total length of node labels, d is the maximum degree of a node in G, $$m = |Q|$$ , and $$M_{\\kappa ,L}$$ is the number of output MEMs. We use this algorithm to develop a $$\\kappa$$ -MEM finding solution on indexable Elastic Founder Graphs (Equi et al., Algorithmica 2022) running in time $$O(nH^2 + m + M_\\kappa )$$ , where H is the maximum number of nodes in a block, and $$M_\\kappa$$ is the total number of $$\\kappa$$ -MEMs. Our results generalize to the analysis of multiple query strings (MEMs between G and any of the strings). Additionally, we provide some experimental results showing that the number of graph MEMs is an order of magnitude smaller than the number of string MEMs of the corresponding concatenated collection. We show that seed-chain-extend type of alignment methods can be implemented on top of indexable Elastic Founder Graphs by providing an efficient way to produce the seeds between a set of queries and the graph. The code is available in https://github.com/algbio/efg-mems .","PeriodicalId":50823,"journal":{"name":"Algorithms for Molecular Biology","volume":"40 1","pages":""},"PeriodicalIF":1.5000,"publicationDate":"2024-03-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Finding maximal exact matches in graphs\",\"authors\":\"Nicola Rizzo, Manuel Cáceres, Veli Mäkinen\",\"doi\":\"10.1186/s13015-024-00255-5\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We study the problem of finding maximal exact matches (MEMs) between a query string Q and a labeled graph G. MEMs are an important class of seeds, often used in seed-chain-extend type of practical alignment methods because of their strong connections to classical metrics. A principled way to speed up chaining is to limit the number of MEMs by considering only MEMs of length at least $$\\\\kappa$$ ( $$\\\\kappa$$ -MEMs). However, on arbitrary input graphs, the problem of finding MEMs cannot be solved in truly sub-quadratic time under SETH (Equi et al., TALG 2023) even on acyclic graphs. In this paper we show an $$O(n\\\\cdot L \\\\cdot d^{L-1} + m + M_{\\\\kappa ,L})$$ -time algorithm finding all $$\\\\kappa$$ -MEMs between Q and G spanning exactly L nodes in G, where n is the total length of node labels, d is the maximum degree of a node in G, $$m = |Q|$$ , and $$M_{\\\\kappa ,L}$$ is the number of output MEMs. We use this algorithm to develop a $$\\\\kappa$$ -MEM finding solution on indexable Elastic Founder Graphs (Equi et al., Algorithmica 2022) running in time $$O(nH^2 + m + M_\\\\kappa )$$ , where H is the maximum number of nodes in a block, and $$M_\\\\kappa$$ is the total number of $$\\\\kappa$$ -MEMs. Our results generalize to the analysis of multiple query strings (MEMs between G and any of the strings). Additionally, we provide some experimental results showing that the number of graph MEMs is an order of magnitude smaller than the number of string MEMs of the corresponding concatenated collection. We show that seed-chain-extend type of alignment methods can be implemented on top of indexable Elastic Founder Graphs by providing an efficient way to produce the seeds between a set of queries and the graph. The code is available in https://github.com/algbio/efg-mems .\",\"PeriodicalId\":50823,\"journal\":{\"name\":\"Algorithms for Molecular Biology\",\"volume\":\"40 1\",\"pages\":\"\"},\"PeriodicalIF\":1.5000,\"publicationDate\":\"2024-03-11\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Algorithms for Molecular Biology\",\"FirstCategoryId\":\"99\",\"ListUrlMain\":\"https://doi.org/10.1186/s13015-024-00255-5\",\"RegionNum\":4,\"RegionCategory\":\"生物学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q4\",\"JCRName\":\"BIOCHEMICAL RESEARCH METHODS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Algorithms for Molecular Biology","FirstCategoryId":"99","ListUrlMain":"https://doi.org/10.1186/s13015-024-00255-5","RegionNum":4,"RegionCategory":"生物学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"BIOCHEMICAL RESEARCH METHODS","Score":null,"Total":0}
引用次数: 0
摘要
我们研究的问题是在查询字符串 Q 和标记图 G 之间寻找最大精确匹配(MEMs)。MEMs 是一类重要的种子,由于其与经典度量标准的紧密联系,经常被用于种子链扩展类型的实用配准方法。加快链式排列的一个原则性方法是限制 MEM 的数量,只考虑长度至少为 $$kappa$$ 的 MEM($$kappa$$ -MEM)。然而,在任意输入图上,即使是无环图,也无法在 SETH(Equi 等人,TALG 2023)下以真正的亚二次方时间解决寻找 MEMs 的问题。在本文中,我们展示了一种 $$O(n\cdot L \cdot d^{L-1} + m + M_{{kappa ,L})$$ 时的算法,可以找到 Q 和 G 之间的所有 $$\kappa$ -MEM,它们正好跨越 G 中的 L 个节点,其中 n 是节点标签的总长度,d 是 G 中节点的最大度数,$$m = |Q|$$ ,$$M_{\kappa ,L}$ 是输出 MEM 的数量。我们使用该算法在可索引的弹性方正图(Equi et al., Algorithmica 2022)上开发了一个 $$$\kappa$ -MEM 查找解决方案,运行时间为 $$O(nH^2+m+M_\kappa)$$,其中 H 是块中节点的最大数量,$$M_\kappa$$ 是 $$\kappa$ -MEM 的总数。我们的结果可以推广到多个查询字符串(G 与任意字符串之间的 MEM)的分析。此外,我们还提供了一些实验结果,表明图 MEMs 的数量比相应串联集合的字符串 MEMs 数量要少一个数量级。我们展示了种子链扩展类型的对齐方法,通过提供在一组查询和图之间生成种子的有效方法,可以在可索引的弹性方正图之上实现。代码见 https://github.com/algbio/efg-mems。
We study the problem of finding maximal exact matches (MEMs) between a query string Q and a labeled graph G. MEMs are an important class of seeds, often used in seed-chain-extend type of practical alignment methods because of their strong connections to classical metrics. A principled way to speed up chaining is to limit the number of MEMs by considering only MEMs of length at least $$\kappa$$ ( $$\kappa$$ -MEMs). However, on arbitrary input graphs, the problem of finding MEMs cannot be solved in truly sub-quadratic time under SETH (Equi et al., TALG 2023) even on acyclic graphs. In this paper we show an $$O(n\cdot L \cdot d^{L-1} + m + M_{\kappa ,L})$$ -time algorithm finding all $$\kappa$$ -MEMs between Q and G spanning exactly L nodes in G, where n is the total length of node labels, d is the maximum degree of a node in G, $$m = |Q|$$ , and $$M_{\kappa ,L}$$ is the number of output MEMs. We use this algorithm to develop a $$\kappa$$ -MEM finding solution on indexable Elastic Founder Graphs (Equi et al., Algorithmica 2022) running in time $$O(nH^2 + m + M_\kappa )$$ , where H is the maximum number of nodes in a block, and $$M_\kappa$$ is the total number of $$\kappa$$ -MEMs. Our results generalize to the analysis of multiple query strings (MEMs between G and any of the strings). Additionally, we provide some experimental results showing that the number of graph MEMs is an order of magnitude smaller than the number of string MEMs of the corresponding concatenated collection. We show that seed-chain-extend type of alignment methods can be implemented on top of indexable Elastic Founder Graphs by providing an efficient way to produce the seeds between a set of queries and the graph. The code is available in https://github.com/algbio/efg-mems .
期刊介绍:
Algorithms for Molecular Biology publishes articles on novel algorithms for biological sequence and structure analysis, phylogeny reconstruction, and combinatorial algorithms and machine learning.
Areas of interest include but are not limited to: algorithms for RNA and protein structure analysis, gene prediction and genome analysis, comparative sequence analysis and alignment, phylogeny, gene expression, machine learning, and combinatorial algorithms.
Where appropriate, manuscripts should describe applications to real-world data. However, pure algorithm papers are also welcome if future applications to biological data are to be expected, or if they address complexity or approximation issues of novel computational problems in molecular biology. Articles about novel software tools will be considered for publication if they contain some algorithmically interesting aspects.