{"id":4168,"date":"2026-03-11T13:37:57","date_gmt":"2026-03-11T11:37:57","guid":{"rendered":"https:\/\/gaz.i3a.es\/?p=4168"},"modified":"2026-03-11T14:06:34","modified_gmt":"2026-03-11T12:06:34","slug":"singletrack","status":"publish","type":"post","link":"https:\/\/gaz.i3a.es\/es\/singletrack\/","title":{"rendered":"Singletrack"},"content":{"rendered":"<div id=\"pl-gb4168-69f24df0e8549\"  class=\"panel-layout wp-block-siteorigin-panels-layout-block\" ><div id=\"pg-gb4168-69f24df0e8549-0\"  class=\"panel-grid panel-has-style\" ><div class=\"siteorigin-panels-stretch panel-row-style panel-row-style-for-gb4168-69f24df0e8549-0\" data-stretch-type=\"full-width-stretch\" ><div id=\"pgc-gb4168-69f24df0e8549-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-gb4168-69f24df0e8549-0-0-0\" class=\"so-panel widget widget_sow-hero panel-first-child panel-last-child\" data-index=\"0\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-hero so-widget-sow-hero-default-7a011a7c0fd5-4168 so-widget-fittext-wrapper\"\n\t\t\t data-fit-text-compressor=\"0.85\"\n\t\t>\t\t\t\t<div class=\"sow-slider-base\" style=\"display: none\" tabindex=\"0\">\n\t\t\t\t\t<ul\n\t\t\t\t\tclass=\"sow-slider-images\"\n\t\t\t\t\tdata-settings=\"{&quot;pagination&quot;:true,&quot;speed&quot;:800,&quot;timeout&quot;:8000,&quot;paused&quot;:false,&quot;pause_on_hover&quot;:false,&quot;swipe&quot;:true,&quot;nav_always_show_desktop&quot;:&quot;&quot;,&quot;nav_always_show_mobile&quot;:&quot;&quot;,&quot;breakpoint&quot;:&quot;780px&quot;,&quot;unmute&quot;:false,&quot;anchor&quot;:null}\"\n\t\t\t\t\t\t\t\t\t\tdata-anchor-id=\"\"\n\t\t\t\t>\t\t<li class=\"sow-slider-image\" style=\"visibility: visible;;background-color: #1e73be\" >\n\t\t\t\t\t<div class=\"sow-slider-image-container\">\n\t\t\t<div class=\"sow-slider-image-wrapper\">\n\t\t\t\t<h3 style=\"text-align: center\"><a href=\"..\/repositories\/\">Repositorios<\/a><\/h3>\n<h1 class=\"ultp-block-title\" style=\"text-align: center\">Singletrack<\/h1>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/li>\n\t\t<\/ul>\t\t\t\t<ol class=\"sow-slider-pagination\">\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#\" data-goto=\"0\" aria-label=\"mostrar diapositiva 1\"><\/a><\/li>\n\t\t\t\t\t\t\t\t\t<\/ol>\n\n\t\t\t\t<div class=\"sow-slide-nav sow-slide-nav-next\">\n\t\t\t\t\t<a href=\"#\" data-goto=\"next\" aria-label=\"diapositiva siguiente\" data-action=\"next\">\n\t\t\t\t\t\t<em class=\"sow-sld-icon-thin-right\"><\/em>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div class=\"sow-slide-nav sow-slide-nav-prev\">\n\t\t\t\t\t<a href=\"#\" data-goto=\"previous\" aria-label=\"diapositiva anterior\" data-action=\"prev\">\n\t\t\t\t\t\t<em class=\"sow-sld-icon-thin-left\"><\/em>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div><\/div><\/div><\/div><\/div><\/div><\/div>\n\n<div id=\"pl-gb4168-69f24df0e8f66\"  class=\"panel-layout wp-block-siteorigin-panels-layout-block\" ><div id=\"pg-gb4168-69f24df0e8f66-0\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-gb4168-69f24df0e8f66-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-gb4168-69f24df0e8f66-0-0-0\" class=\"so-panel widget widget_sow-cta panel-first-child panel-last-child\" data-index=\"0\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-cta so-widget-sow-cta-default-54eb91ca71d3-4168\"\n\t\t\t\n\t\t><div\n\tclass=\"sow-cta-base\"\n\t>\n\t\n\t<div class=\"sow-cta-wrapper\">\n\n\t\t<div class=\"sow-cta-text\">\n\t\t\t\t\t\t\t<h4 class=\"sow-cta-title\">\n\t\t\t\t\tGo to repository\t\t\t\t<\/h4>\n\t\t\t\n\t\t\t\t\t<\/div>\n\n\t\t<div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-button so-widget-sow-button-flat-4c3e8fecb75d\"\n\t\t\t\n\t\t><div class=\"ow-button-base ow-button-align-center\"\n>\n\t\t\t<a\n\t\t\t\t\thref=\"https:\/\/github.com\/universidad-zaragoza\/BNN_for_hyperspectral_datasets_analysis\"\n\t\t\t\t\tclass=\"sowb-button ow-icon-placement-right ow-button-hover\" target=\"_blank\" rel=\"noopener noreferrer\" \t>\n\t\t<span>\n\t\t\t\t\t\t\t<div class=\"sow-icon-image\" style=\"background-image: url(https:\/\/gaz.i3a.es\/wp-content\/uploads\/2023\/01\/github_icon.png)\"><\/div>\n\t\t\t\t\n\t\t\tGo\t\t<\/span>\n\t\t\t<\/a>\n\t<\/div>\n<\/div>\n\t<\/div>\n\n\t<\/div>\n<\/div><\/div><\/div><div id=\"pgc-gb4168-69f24df0e8f66-0-1\"  class=\"panel-grid-cell\" ><div id=\"panel-gb4168-69f24df0e8f66-0-1-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"1\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-editor so-widget-sow-editor-base\"\n\t\t\t\n\t\t>\n<div class=\"siteorigin-widget-tinymce textwidget\">\n\t<p>This repository contains different implementations of Singletrack, a general technique to reduce memory consumption and improve the performance of gap-affine and dual gap-affine sequence alignment algorithms. This technique was presented on <strong>DOI:<\/strong> <a href=\"https:\/\/doi.org\/10.1101\/2025.10.31.685625\">10.1101\/2025.10.31.68562<\/a><\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div><\/div><\/div><\/div><div id=\"pg-gb4168-69f24df0e8f66-1\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-gb4168-69f24df0e8f66-1-0\"  class=\"panel-grid-cell\" ><div id=\"panel-gb4168-69f24df0e8f66-1-0-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"2\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-editor so-widget-sow-editor-base\"\n\t\t\t\n\t\t>\n<div class=\"siteorigin-widget-tinymce textwidget\">\n\t<p>Advances in DNA sequencing have outpaced advances in computation, making sequence alignment a major bottleneck in genome data analyses. Classical dynamic programming (DP) algorithms are particularly memory-intensive, especially when computing gap-affine and dual gap-affine alignments. Existing strategies to reduce memory consumption often sacrifice speed or alignment accuracy.<br \/>\nWe present Singletrack, an efficient algorithm for backtrace gap-affine and dual gap-affine alignments that requires storing a single DP matrix while preserving optimal alignment results. Compared to classical DP algorithms, Singletrack removes the need to store additional matrices (i.e., 2 for gap-affine and 4 for dual gap-affine), significantly reducing memory consumption and, in turn, reducing pressure on the memory hierarchy and improving overall performance. Most importantly, Singletrack is a general backtrace method compatible with state-of-the-art DP-based algorithms and heuristics, such as the Suzuki-Kasahara (SK) and the Wavefront Alignment (WFA) algorithms. We demonstrate that Singletrack reduces memory consumption for both SK and WFA algorithms, lowering SK usage by 2x and 4x and WFA usage by 3x and 5x for gap-affine and dual gap-affine alignments, respectively. Moreover, replacing KSW2&#8217;s memory-reduction technique with Singletrack accelerates its SK implementation by up to 1.4x at the cost of doubling memory consumption, while Singletrack increases the performance of the WFA implementation in WFA2-lib by 1.2&#8211;2.1x. Compared to the efficient linear-memory BiWFA algorithm, the Singletrack-accelerated version of WFA trades a practical increase in memory usage for up to 5.2x higher performance.<\/p>\n<p><em>BibTex citation<\/em><\/p>\n<blockquote>\n<div class=\"snippet-clipboard-content position-relative\">\n<pre><code>@article{LpezVillellas2025,\n    title = {Singletrack: An Algorithm for Improving Memory Consumption and Performance of Gap-Affine Sequence Alignment},\n    url = {http:\/\/dx.doi.org\/10.1101\/2025.10.31.685625},\n    DOI = {10.1101\/2025.10.31.685625},\n    publisher = {openRxiv},\n    author = {L\u00f3pez-Villellas,  Lori\u00e9n and I\u00f1iguez,  Cristian and Jim\u00e9nez-Blanco,  Albert and Aguado-Puig,  Quim and Moret\u00f3,  Miquel and Alastruey-Bened\u00e9,  Jes\u00fas and Ib\u00e1\u00f1ez,  Pablo and Marco-Sola,  Santiago},\n    year = {2025},\n    month = nov \n}<\/code><\/pre>\n<\/div>\n<\/blockquote>\n<\/div>\n<\/div><\/div><\/div><\/div><\/div>\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":3636,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[241],"tags":[],"class_list":["post-4168","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-repositories"],"_links":{"self":[{"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/posts\/4168","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/comments?post=4168"}],"version-history":[{"count":4,"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/posts\/4168\/revisions"}],"predecessor-version":[{"id":4175,"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/posts\/4168\/revisions\/4175"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/media\/3636"}],"wp:attachment":[{"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/media?parent=4168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/categories?post=4168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/tags?post=4168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}