#生物信息学 #ffi #对齐 #parasail #rust

parasail-rs

Rust绑定和包装器,用于parasail,这是一个用于成对序列对齐的SIMD C库

14个版本 (6个破坏性版本)

0.7.3 2024年4月22日
0.7.2 2024年4月18日
0.6.0 2024年3月18日
0.5.1 2024年3月15日
0.1.0 2024年2月21日

#71 in 生物学

BSD-3-Clause

53KB
985

parasail-rs

GitHub Actions Workflow Status docs.rs Crates.io Version

这个crate提供了安全的Rust绑定和包装器,用于parasail,这是一个用于成对序列对齐的SIMD C库。请注意,这个crate仍在开发中,是不稳定的。

使用方法

安装

在您的项目目录中运行以下Cargo命令

cargo add parasail-rs

请注意,parasail-rs依赖于libparasail-sys,它将使用已安装的系统parasail库或从源代码构建。有关更多信息,请参阅libparasail-sys

示例

基本使用

用于一次性的对齐

use parasail_rs::{Aligner};

let query = b"ACGT";
let reference = b"ACGT";
let aligner = Aligner::new().build();

aligner.align(Some(query), reference);

使用查询配置文件

use parasail_rs::{Matrix, Aligner, Profile};

let query = b"ACGT";
let ref_1 = b"ACGTAACGTACA";
let ref_2 = b"TGGCAAGGTAGA";

let use_stats = true;
let query_profile = Profile::new(query, use_stats, Matrix::default());
let aligner = Aligner::new()
 .profile(query_profile, 5, 2, "striped")
 .semi_global()
 .build();

let result_1 = aligner.align(None, ref_1);
let result_2 = aligner.align(None, ref_2);

贡献

欢迎贡献。请打开一个问题或向nsb5 [at] rice.edu发送电子邮件,提供任何反馈或问题。

引用

如果需要,请引用以下论文

Daily, Jeff. (2016). Parasail: SIMD C library for global, semi-global, and local pairwise sequence alignments. BMC Bioinformatics, 17(1), 1-11. doi:10.1186/s12859-016-0930-z

许可证

parasail-rs和libparasail-sys遵循BSD-3-Clause许可证。原始的parasail C库遵循类似的Battelle风格BSD许可证。

Nicolas S. Buitrago <nsb5 [at] rice.edu>

依赖关系

~25MB
~704K SLoC