parasail-rs
This crate provides safe Rust bindings and a wrapper to parasail, a SIMD pairwise sequence alignment C library. Note that this crate is still under development and is unstable.
Usage
Installation
Run the following Cargo command in your project directory:
Note that parasail-rs depends on libparasail-sys which will either use an already installed system parasail library or build from source. For more information, please see libparasail-sys.
Examples
Basic usage:
For one-off alignments:
use ;
// ...
let query = b"ACGT";
let reference = b"ACGT";
let aligner = new.build;
aligner.align?;
Using query profile:
use ;
// ...
let query = b"ACGT";
let ref_1 = b"ACGTAACGTACA";
let ref_2 = b"TGGCAAGGTAGA";
let use_stats = true;
let query_profile = new?;
let aligner = new
.profile
.build;
let result_1 = aligner.align?;
let result_2 = aligner.align?;
println!;
println!;
Contributing
Contributions are more than welcome. Please open an issue for any feedback or questions.
Citations
If needed, please cite the following paper:
License
parasail-rs and libparasail-sys are licensed under the BSD-3-Clause license. The original parasail C library is licensed under a similar Battelle style BSD license.