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
.semi_global
.build;
let result_1 = aligner.align;
let result_2 = aligner.align;
Contributing
Contributions are more than welcome. Please open an issue or send an email to nsb5 [at] rice.edu 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.
Nicolas S. Buitrago <nsb5 [at] rice.edu>