docs.rs failed to build bsalign_sys-0.4.0
Please check the
build logs for more information.
See
Builds for ideas on how to fix a failed build,
or
Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault,
open an issue.
bsalign-rs
A rust binding for the bsalign library.
Install
cargo install bsalign
Pairwise sequence alignment
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, qseq.len() as i32);
let alnstr = result.to_string();
println!(
"{}\n{}\n{}",
alnstr.tseq().to_string(),
alnstr.alignment().to_string(),
alnstr.qseq().to_string(),
);
println!("Alignment result: {}", result);
}
Multiple sequence alignment
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_consensus();
let bitseq: BitSeq = consensus.into();
let consensus = bitseq.to_string();
println!("Consensus: {}", consensus);
}