{"id":3847,"date":"2023-01-24T11:45:21","date_gmt":"2023-01-24T09:45:21","guid":{"rendered":"https:\/\/gaz-temporal.i3a.es\/?p=3847"},"modified":"2023-01-24T11:45:22","modified_gmt":"2023-01-24T09:45:22","slug":"bvsfm-a-tool-for-sequence-alignment","status":"publish","type":"post","link":"https:\/\/gaz.i3a.es\/es\/bvsfm-a-tool-for-sequence-alignment\/","title":{"rendered":"<strong>BVSFM: A TOOL FOR SEQUENCE ALIGNMENT<\/strong>"},"content":{"rendered":"<div id=\"pl-gb3847-6a0d1176de274\"  class=\"panel-layout\" ><div id=\"pg-gb3847-6a0d1176de274-0\"  class=\"panel-grid panel-has-style\" ><div class=\"siteorigin-panels-stretch panel-row-style panel-row-style-for-gb3847-6a0d1176de274-0\" data-stretch-type=\"full-width-stretch\" ><div id=\"pgc-gb3847-6a0d1176de274-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-gb3847-6a0d1176de274-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-93415d0e2dbf-3847 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\">BVSFM: A TOOL FOR SEQUENCE ALIGNMENT<\/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-gb3847-6a0d1176dedda\"  class=\"panel-layout\" ><div id=\"pg-gb3847-6a0d1176dedda-0\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-gb3847-6a0d1176dedda-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-gb3847-6a0d1176dedda-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-3847\"\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\/chusAB\/bvSFMindex\"\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-gb3847-6a0d1176dedda-0-1\"  class=\"panel-grid-cell\" ><div id=\"panel-gb3847-6a0d1176dedda-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<section class=\"kc-elm kc-css-46569 kc_row\">\n<div class=\"kc-row-container kc-container\">\n<div class=\"kc-wrap-columns\">\n<div class=\"kc-elm kc-css-389721 kc_col-sm-10 kc_column kc_col-sm-10\">\n<div class=\"kc-col-container\">\n<div class=\"kc-elm kc-css-704317 kc_text_block\">\n<section class=\"kc-elm kc-css-825285 kc_row\">\n<div class=\"kc-row-container  kc-container\">\n<div class=\"kc-wrap-columns\">\n<div class=\"kc-elm kc-css-970762 kc_col-sm-10 kc_column kc_col-sm-10\">\n<div class=\"kc-col-container\">\n<div class=\"kc-elm kc-css-601193 kc_text_block\">\n<p>bvSFM (bit-vector sampled FM-index) is a tool for sequence alignment.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"kc-elm kc-css-719385 kc_row\">\n<div class=\"kc-row-container kc-container\">\n<div class=\"kc-wrap-columns\">\n<div class=\"kc-elm kc-css-600712 kc_col-sm-12 kc_column kc_col-sm-12\">\n<div class=\"kc-col-container\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div><\/div><\/div><\/div><div id=\"pg-gb3847-6a0d1176dedda-1\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-gb3847-6a0d1176dedda-1-0\"  class=\"panel-grid-cell\" ><div id=\"panel-gb3847-6a0d1176dedda-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<section class=\"kc-elm kc-css-853940 kc_row\">\n<div class=\"kc-row-container kc-container\">\n<div class=\"kc-wrap-columns\">\n<div class=\"kc-elm kc-css-358953 kc_col-sm-12 kc_column kc_col-sm-12\">\n<div class=\"kc-col-container\">\n<div class=\"kc-elm kc-css-869939 kc_text_block\">\n<p>bvSFM (bit-vector sampled FM-index) is a tool for sequence alignment. Specifically, it implements an exact search algorithm that counts the number of matches of arbitrary length reads on a reference genome. bvSFM indexes a genome with an FM Index based on the Burrows-Wheeler Transform or BWT. FM Index is a compact data structure suitable for fast matches of short reads to large reference genomes (FM Index Wiki). For the human genome, its memory footprint is typically around 3.2 gigabytes of RAM.<\/p>\n<p>bvSFM uses an optimized FM-index data structure layout and codification that packs all relevant data needed in a query step within a single cache block, minimizing the memory bandwidth demand. bvSFM achieves best results when executed on multicore systems integrating high bandwidth memory, for instance an Intel Xeon Phi processor (codenamed Knights Landing, or KNL).<\/p>\n<p>bvSFM is distributed under the GPLv3 license, and it runs on the command line under Linux.<\/p>\n<p>If you use bvSFM for your published research, please cite the following paper:<\/p>\n<p>J.M. Herruzo, S. Gonz\u00e1lez, P. Ib\u00e1\u00f1ez, V. Vi\u00f1als, J. Alastruey-Bened\u00e9, and \u00d3scar Plata. Accelerating Sequence Alignments Based on FM-Index Using the Intel KNL Processor. IEEE\/ACM Transactions on Computational Biology and Bioinformatics (TCBB 2019). DOI: 10.1109\/TCBB.2018.2884701<\/p>\n<p>bvSFM can be used as a CPU benchmark. It performs intensive integer computation. It can also be used to measure random memory access bandwidth.<\/p>\n<p><strong>Exact Matching Using FM-Index<\/strong><\/p>\n<p>Given a pattern Q[1..p], the FM-index allows to find all occurrences of Q in a reference text T. The search process takes two steps: Count and Locate. The first step is a rank query process that calculates the number of occurrences of Q in T. The second step uses the indexes of these rows to access the suffix array, where it finds the position of every occurrence of Q in the text T. The suffix array is usually a very large compressed data structure. However, its size for the human genome is about 12 GB (3 gigabases x 4 bytes), so it can be stored without compression in modern systems. This way, the Locate step is very simple, it only requires an access to the suffix array. bvSFM only implements the Count step.<\/p>\n<p><strong>k2d64bv version<\/strong><\/p>\n<p>The Sampled FM-index (SFM) stores one set of counters out of every d sets in the original Occ structure. This variant introduces a trade-off between memory footprint and computing cost.<\/p>\n<p>The k-step FM-Index searches k symbols in a query in a single step. This version reduces computing cost and improves data locality of the sampled version but increases slightly memory footprint.<\/p>\n<p>This repository releases a k2d64bv version, that is, a sampling factor (d) of 64 and a k-step value of 2.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div><\/div><\/div><\/div><\/div>\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":3636,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[241],"tags":[],"class_list":["post-3847","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\/3847","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/comments?post=3847"}],"version-history":[{"count":1,"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/posts\/3847\/revisions"}],"predecessor-version":[{"id":3848,"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/posts\/3847\/revisions\/3848"}],"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=3847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/categories?post=3847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gaz.i3a.es\/es\/wp-json\/wp\/v2\/tags?post=3847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}