kbo 0.4.0

Spectral Burrows-Wheeler transform accelerated local alignment search
Documentation
# 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.