4 releases (2 breaking)
new 0.3.0-alpha.1 | May 26, 2023 |
---|---|
0.3.0-alpha.0 | Apr 26, 2023 |
0.2.0 | Nov 3, 2022 |
0.1.0 | Nov 1, 2021 |
#42 in Biology
34 downloads per month
275KB
6K
SLoC
SigAlign
Similarity-guided Align
- Have only five simplified parameters
- Gap-affine penalties (3)
- Mismatch penalty
- Gap-open penalty
- Gap-extend penalty
- Similarity cut-offs (2)
- Minimum length
- Maximum penalty per length
- Gap-affine penalties (3)
- Give non-exceptional result
- Reproducible by dynamic programming (DP) matrix
Quick Start
use sigalign::wrapper::{
DefaultAligner,
DefaultReference,
};
// (1) Build `Reference`
let fasta =
br#">record_1
ACACAGATCGCAAACTCACAATTGTATTTCTTTGCCACCTGGGCATATACTTTTTGCGCCCCCTCATTTA
>record_2
TCTGGGGCCATTGTATTTCTTTGCCAGCTGGGGCATATACTTTTTCCGCCCCCTCATTTACGCTCATCAC"#;
let reference = DefaultReference::from_fasta_bytes(fasta).unwrap();
// (2) Make `Aligner`
let mut aligner = DefaultAligner::new_local(
4, // Mismatch penalty
6, // Gap-open penalty
2, // Gap-extend penalty
50, // Minimum aligned length
0.2, // Maximum penalty per length
).unwrap();
// (3) Align query to reference
let query = b"CAAACTCACAATTGTATTTCTTTGCCAGCTGGGCATATACTTTTTCCGCCCCCTCATTTAACTTCTTGGA";
let result = aligner.align_query(&reference, query).unwrap();
println!("{}", result.to_json());
Dependencies
~15MB
~301K SLoC