# kbo Spectral Burrows-Wheeler transform accelerated local alignment search. kbo is an approximate local aligner based on converting [_k_-bounded matching statistics](https://www.biorxiv.org/content/10.1101/2024.02.19.580943v1) into a character representation of the underlying alignment sequence. Documentation is available at [https://docs.rs/kbo](https://docs.rs/kbo). ## Installation kbo is distributed as three separate Rust packages: - [kbo](https://github.com/tmaklin/kbo) contains a Rust library implementing the core algorithm (this repository). - [kbo-cli](https://github.com/tmaklin/kbo-cli) provides a command-line interface for `kbo find` and `kbo map`. - [kbo-gui](https://github.com/tmaklin/kbo-cli) provides a WebAssembly graphical user interface for running kbo in the browser. ## About 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](https://blast.ncbi.nlm.nih.gov/Blast.cgi). - `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](https://github.com/tseemann/snippy) and [ska map](https://docs.rs/ska/latest/ska/#ska-map). kbo uses the [Spectral Burrows-Wheeler Transform](https://docs.rs/sbwt/latest/sbwt/) 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. ## License kbo is dual-licensed under the [MIT](LICENSE-MIT) and [Apache 2.0](LICENSE-APACHE) licenses.