| Crates.io | spoa_rs |
| lib.rs | spoa_rs |
| version | 0.1.0 |
| created_at | 2025-06-07 20:53:30.685995+00 |
| updated_at | 2025-06-07 20:53:30.685995+00 |
| description | Rust bindings for SPOA (SIMD POA) |
| homepage | https://github.com/AndreaGuarracino/spoa-rs |
| repository | https://github.com/AndreaGuarracino/spoa-rs |
| max_upload_size | |
| id | 1704410 |
| size | 242,270 |
Rust bindings for Spoa (SIMD POA).
Spoa is a C++ implementation of the partial order alignment (POA) algorithm (as described in 10.1093/bioinformatics/18.3.452) which is used to generate consensus sequences (as described in 10.1093/bioinformatics/btg109). It supports three alignment modes: local (Smith-Waterman), global (Needleman-Wunsch) and semi-global alignment (overlap), and three gap modes: linear, affine and convex (piecewise affine). It also supports Intel SSE4.1+ and AVX2 vectorization (marginally faster due to high latency shifts), SIMDe and dispatching.
Spoa-rs use the cargo build system. Check out the git repo, install a recent version of Rust and
rm -rf target/ # may be necessary when check-for-pregenerated-files fails
CC=gcc cargo build
will create a static library that can be used from other Rust projects.
See the header of guix.scm for instructions on creating a build shell.
Spoa-rs is published under BSD-3 Clause license.