spoa_rs

Crates.iospoa_rs
lib.rsspoa_rs
version0.1.0
created_at2025-06-07 20:53:30.685995+00
updated_at2025-06-07 20:53:30.685995+00
descriptionRust bindings for SPOA (SIMD POA)
homepagehttps://github.com/AndreaGuarracino/spoa-rs
repositoryhttps://github.com/AndreaGuarracino/spoa-rs
max_upload_size
id1704410
size242,270
Andrea Guarracino (AndreaGuarracino)

documentation

https://docs.rs/spoa_rs

README

spoa-rs

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.

Install

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.

Guix

See the header of guix.scm for instructions on creating a build shell.

License

Spoa-rs is published under BSD-3 Clause license.

Commit count: 15

cargo fmt