Skip to main content
bioRxiv
  • Home
  • About
  • Submit
  • ALERTS / RSS
Advanced Search
New Results

An optimized FM-index library for nucleotide and amino acid search

Tim Anderson, View ORCID ProfileTravis J Wheeler
doi: https://doi.org/10.1101/2021.01.12.426474
Tim Anderson
1Department of Computer Science, University of Montana, Missoula, MT, USA
  • Find this author on Google Scholar
  • Find this author on PubMed
  • Search for this author on this site
Travis J Wheeler
1Department of Computer Science, University of Montana, Missoula, MT, USA
  • Find this author on Google Scholar
  • Find this author on PubMed
  • Search for this author on this site
  • ORCID record for Travis J Wheeler
  • Abstract
  • Full Text
  • Info/History
  • Metrics
  • Data/Code
  • Preview PDF
Loading

Abstract

Pattern matching is a key step in a variety of biological sequence analysis pipelines. The FM-index is a compressed data structure for pattern matching, with search run time that is independent of the length of the database text. We present AvxWindowedFMindex (AWFM-index), an open-source, thread-parallel FM-index library written in C that is highly optimized for indexing nucleotide and amino acid sequences. AWFM-index is easy to incorporate into bioinformatics software and is able to perform exact match count and locate queries approximately 4x faster than Seqan3’s FM-index implementation for nucleotide search, and approximately 8x faster for amino acid search in a single-threaded context. This performance is due to (i) a new approach to storing FM-index data in a strided bit-vector format that enables extremely efficient computation of the FM-index occurrence function via AVX2 bitwise instructions, and (ii) inclusion of a cache-efficient lookup table for partial k-mer searches. AWFM-index also trivially parallelizes to multiple threads, and scales well in multithreaded contexts. The open-source library is available for download at https://github.com/TravisWheelerLab/AvxWindowFmIndex.

Author summary AvxWindowedFMIndex is a fast, open-source library implementation of the FM-index algorithm. This library takes advantage of powerful ‘single-instruction, multiple data’ (SIMD) CPU instructions to quickly perform the most difficult part of the algorithm, counting the number of occurrences of a given letter in a block of text. Algorithms like FM-index are widely used many places in bioinformatics like biosequence database searching, taxonomic classification, and sequencing error correction. Using the AvxWindowedFMIndex library will ease the burden of including the FM index into bioinformatic software, thus enabling faster pattern matching and overall faster software in practice.

Competing Interest Statement

The authors have declared no competing interest.

Footnotes

  • Minor changes to text, change corresponding author.

  • http://wheelerlab.org/publications/2021-AWFM-Anderson/Anderson_suppl.tar.gz

Copyright 
The copyright holder for this preprint is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is made available under a CC-BY-ND 4.0 International license.
Back to top
PreviousNext
Posted January 21, 2021.
Download PDF
Data/Code
Email

Thank you for your interest in spreading the word about bioRxiv.

NOTE: Your email address is requested solely to identify you as the sender of this article.

Enter multiple addresses on separate lines or separate them with commas.
An optimized FM-index library for nucleotide and amino acid search
(Your Name) has forwarded a page to you from bioRxiv
(Your Name) thought you would like to see this page from the bioRxiv website.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Share
An optimized FM-index library for nucleotide and amino acid search
Tim Anderson, Travis J Wheeler
bioRxiv 2021.01.12.426474; doi: https://doi.org/10.1101/2021.01.12.426474
Digg logo Reddit logo Twitter logo CiteULike logo Facebook logo Google logo Mendeley logo
Citation Tools
An optimized FM-index library for nucleotide and amino acid search
Tim Anderson, Travis J Wheeler
bioRxiv 2021.01.12.426474; doi: https://doi.org/10.1101/2021.01.12.426474

Citation Manager Formats

  • BibTeX
  • Bookends
  • EasyBib
  • EndNote (tagged)
  • EndNote 8 (xml)
  • Medlars
  • Mendeley
  • Papers
  • RefWorks Tagged
  • Ref Manager
  • RIS
  • Zotero
  • Tweet Widget
  • Facebook Like
  • Google Plus One

Subject Area

  • Bioinformatics
Subject Areas
All Articles
  • Animal Behavior and Cognition (2537)
  • Biochemistry (4983)
  • Bioengineering (3490)
  • Bioinformatics (15247)
  • Biophysics (6915)
  • Cancer Biology (5408)
  • Cell Biology (7756)
  • Clinical Trials (138)
  • Developmental Biology (4543)
  • Ecology (7169)
  • Epidemiology (2059)
  • Evolutionary Biology (10242)
  • Genetics (7522)
  • Genomics (9805)
  • Immunology (4871)
  • Microbiology (13251)
  • Molecular Biology (5153)
  • Neuroscience (29503)
  • Paleontology (203)
  • Pathology (839)
  • Pharmacology and Toxicology (1468)
  • Physiology (2146)
  • Plant Biology (4764)
  • Scientific Communication and Education (1013)
  • Synthetic Biology (1339)
  • Systems Biology (4016)
  • Zoology (770)