Safe Haskell | None |
---|
- align :: (Vector v a, Num s, Eq s, Ord s) => AlignConfig a s -> v a -> v a -> Trace a s
- data AlignConfig a s
- alignConfig :: (a -> a -> s) -> s -> s -> AlignConfig a s
- type Step a = Either (Either a a) (a, a)
- data Trace a s
- traceScore :: Trace a s -> s
- trace :: Trace a s -> [Step a]
- windowedAlign :: (Num s, Eq s, Ord s) => AlignConfig a s -> Int -> [a] -> [a] -> [Step a]
- debugAlign :: [Step Char] -> String
Documentation
:: (Vector v a, Num s, Eq s, Ord s) | |
=> AlignConfig a s | |
-> v a | Left sequence. |
-> v a | Right sequence. |
-> Trace a s |
Aligns two sequences.
>>>
:{
let tr = align (alignConfig (\a b -> if a == b then 1 else (-0.25 :: Double)) (-0.5) (-1)) (Data.Vector.fromList "dopple") (Data.Vector.fromList "applied") in do print $ traceScore tr putStrLn . debugAlign . trace $ tr :} 1.25 doppl-e- -applied
data AlignConfig a s Source
:: (a -> a -> s) | Scoring function. |
-> s | Initial gap penalty. |
-> s | Gap penalty. |
-> AlignConfig a s |
traceScore :: Trace a s -> sSource
:: (Num s, Eq s, Ord s) | |
=> AlignConfig a s | |
-> Int | Window size. |
-> [a] | Left stream. |
-> [a] | Right stream. |
-> [Step a] | Alignment result. |
Aligns long streams by performing alignment on windowed sections.
debugAlign :: [Step Char] -> StringSource
Utility for displaying a Char-based alignment.