[−][src]Module bio::alignment::poa
Partial-Order Alignment for fast alignment and consensus of multiple homologous sequences.
For the original concept and theory, see:
- Lee, Christopher, Catherine Grasso, and Mark F. Sharlow. "Multiple sequence alignment using partial order graphs." Bioinformatics 18.3 (2002): 452-464.
- Lee, Christopher. "Generating consensus sequences from partial order multiple sequence alignment graphs." Bioinformatics 19.8 (2003): 999-1008.
For a modern reference implementation, see poapy: https://github.com/ljdursi/poapy
Example
use bio::alignment::poa::*; use bio::alignment::pairwise::Scoring; let x = b"AAAAAAA"; let y = b"AABBBAA"; let z = b"AABCBAA"; let scoring = Scoring::new(-1, 0, |a: u8, b: u8| if a == b { 1i32 } else { -1i32 }); let mut aligner = Aligner::new(scoring, x); // z differs from x in 3 locations assert_eq!(aligner.global(z).alignment().score, 1); aligner.global(y).add_to_graph(); // z differs from x and y's partial order alignment by 1 base assert_eq!(aligner.global(z).alignment().score, 5);
Structs
Aligner | A partially ordered aligner builder |
Alignment | |
Poa | A partially ordered alignment graph |
Traceback | |
TracebackCell |
Enums
AlignmentOperation |
Constants
MIN_SCORE |
Type Definitions
POAGraph |