Spectral Burrows-Wheeler transform accelerated local alignment search.
kbo is an approximate local aligner based on converting k-bounded matching statistics into a character representation of the underlying alignment sequence.
Documentation is available at https://docs.rs/kbo.
kbo is distributed as three separate Rust packages:
- kbo contains a Rust library implementing the core algorithm (this repository).
- kbo-cli provides a command-line interface for
kbo find
andkbo map
. - kbo-gui is a work in progress WebAssembly graphical user interface for running kbo in the browser.
Precompiled binaries for kbo-cli are available from the Releases page.
kbo supports two main operations:
kbo find
matches the k-mers in a query sequence with the reference and reports the local alignment segments found within the reference. Find is useful for problems that can be solved with blast.kbo map
maps the query sequence against a reference sequence, and reports the nucleotide sequence of the alignment relative to the reference. Map solves the same problem as snippy and ska map.
kbo uses the Spectral Burrows-Wheeler Transform data structure that allows efficient k-mer matching between a target and a query sequence and fast retrieval of the k-bounded matching statistic for each k-mer match.
kbo is dual-licensed under the MIT and Apache 2.0 licenses.