bsalign-0.6.1 has been yanked.
bsalign-rs
A rust binding for the bsalign library.
Install
Pairwise sequence alignment
use ;
Multiple sequence alignment
use ;
A rust binding for the bsalign library.
cargo install bsalign
use bsalign::pairwise::{BsPairwirseAligner, BsPairwiseParam};
fn main() {
let seq = "ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT";
let param = BsPairwiseParam::default().set_ksize(4);
let mut aligner = BsPairwirseAligner::new(param);
let result = aligner.align_banded_striped_8bit(&seq, &seq);
assert_eq!(result.aln, seq.len());
let alnstr = result.to_string();
println!(
"{}\n{}\n{}",
alnstr.tseq().to_string(),
alnstr.alignment().to_string(),
alnstr.qseq().to_string(),
);
println!("Alignment result: {}", result);
}
use bsalign::{
BitSeq,
poa::{BsPoaAligner, BsPoaParam},
};
fn main() {
let param = BsPoaParam::default();
let mut poa = BsPoaAligner::new(param);
let seq = "ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT";
poa.add_sequence(seq);
poa.add_sequence(seq);
poa.add_sequence(seq);
poa.align();
let consensus = poa.get_cns();
let bitseq: BitSeq = consensus.into();
let consensus = bitseq.to_string();
println!("Consensus: {}", consensus);
}