| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
DP.Alignment.Global.Tapes2
Description
Very simple pairwise global alignment. The terminal tapes may contain
the atomic types u and l which means that one may align sequences of
different types.
In case you want to align nucleotides to amino acids, this version should only be used if the nucleotides are already in triplet form and have no frameshift within the sequence. Alternatively, specify a derived grammar of higher complexity.
- data SigGlobal m s r t_l t_u = SigGlobal {}
- gGlobal :: (Build b2, MkStream m S t3, MkStream m (Stack b2) t3, Element (Stack b2) t3, RuleContext t3, TermStaticVar (TermSymbol (TermSymbol M Deletion) b1) t3, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) t3, TermStaticVar (TermSymbol (TermSymbol M b) Deletion) t3, TermStaticVar (TermSymbol (TermSymbol M b) b1) t3, TerminalStream m (TermSymbol (TermSymbol M Deletion) b1) t3, TerminalStream m (TermSymbol (TermSymbol M Epsilon) Epsilon) t3, TerminalStream m (TermSymbol (TermSymbol M b) Deletion) t3, TerminalStream m (TermSymbol (TermSymbol M b) b1) t3, Apply ((:.) (Arg (Stack b2)) ((:.) (TermArg (TermSymbol M b)) ()) -> a), Apply ((:.) (Arg (Stack b2)) (TermArg (TermSymbol (TermSymbol M b) b1)) -> a), Apply ((:.) (Arg (Stack b2)) (TermArg (TermSymbol (TermSymbol M Deletion) b1)) -> a), (~) * (Fun ((:.) (Arg (Stack b2)) ((:.) (TermArg (TermSymbol M b)) ()) -> a)) (a -> (:.) ((:.) Z t1) () -> a), (~) * (Fun ((:.) (Arg (Stack b2)) (TermArg (TermSymbol (TermSymbol M b) b1)) -> a)) (a -> (:.) ((:.) Z t1) t2 -> a), (~) * (Fun ((:.) (Arg (Stack b2)) (TermArg (TermSymbol (TermSymbol M Deletion) b1)) -> a)) (a -> (:.) ((:.) Z ()) t2 -> a)) => SigGlobal m a t t1 t2 -> ((t3 -> t3 -> m t) -> b2) -> b -> b1 -> (:.) Z b2
- backtrack :: Monad m => u -> l -> SigGlobal m (FMList (l, u)) [FMList (l, u)] l u
- runBacktrack :: FMList (u, l) -> [(u, l)]
Documentation
data SigGlobal m s r t_l t_u Source
Define signature and grammar
Constructors
| SigGlobal | |
Instances
| (Monad mL0, Monad mR0, Eq xL0, (~) (* -> *) mL0 mR0, (~) * xL0 rL0) => ProductBacktracking (SigGlobal mL xL rL t_l t_u) (SigGlobal mR xR rR t_l t_u) | |
| type SigBacktracking (SigGlobal mL0 xL0 rL0 t_l0 t_u0) (SigGlobal mR0 xR0 rR0 t_l0 t_u0) = SigGlobal mR0 (xL0, [xR0]) rR0 t_l0 t_u0 |
gGlobal :: (Build b2, MkStream m S t3, MkStream m (Stack b2) t3, Element (Stack b2) t3, RuleContext t3, TermStaticVar (TermSymbol (TermSymbol M Deletion) b1) t3, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) t3, TermStaticVar (TermSymbol (TermSymbol M b) Deletion) t3, TermStaticVar (TermSymbol (TermSymbol M b) b1) t3, TerminalStream m (TermSymbol (TermSymbol M Deletion) b1) t3, TerminalStream m (TermSymbol (TermSymbol M Epsilon) Epsilon) t3, TerminalStream m (TermSymbol (TermSymbol M b) Deletion) t3, TerminalStream m (TermSymbol (TermSymbol M b) b1) t3, Apply ((:.) (Arg (Stack b2)) ((:.) (TermArg (TermSymbol M b)) ()) -> a), Apply ((:.) (Arg (Stack b2)) (TermArg (TermSymbol (TermSymbol M b) b1)) -> a), Apply ((:.) (Arg (Stack b2)) (TermArg (TermSymbol (TermSymbol M Deletion) b1)) -> a), (~) * (Fun ((:.) (Arg (Stack b2)) ((:.) (TermArg (TermSymbol M b)) ()) -> a)) (a -> (:.) ((:.) Z t1) () -> a), (~) * (Fun ((:.) (Arg (Stack b2)) (TermArg (TermSymbol (TermSymbol M b) b1)) -> a)) (a -> (:.) ((:.) Z t1) t2 -> a), (~) * (Fun ((:.) (Arg (Stack b2)) (TermArg (TermSymbol (TermSymbol M Deletion) b1)) -> a)) (a -> (:.) ((:.) Z ()) t2 -> a)) => SigGlobal m a t t1 t2 -> ((t3 -> t3 -> m t) -> b2) -> b -> b1 -> (:.) Z b2 Source
backtrack :: Monad m => u -> l -> SigGlobal m (FMList (l, u)) [FMList (l, u)] l u Source
Generic backtracking scheme via FMLists.
runBacktrack :: FMList (u, l) -> [(u, l)] Source
Turn a single FMList backtracking result into the corresponding
list.