Safe Haskell | None |
---|---|
Language | Haskell2010 |
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_0_ t_u_1_ = SigGlobal {}
- gGlobal :: ((~#) * * (Fun ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z ()) (TermArg b)) -> t4)) (t4 -> (:.) ((:.) Z ()) t1 -> t4), (~#) * * (Fun ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t4)) (t4 -> (:.) ((:.) Z t2) () -> t4), (~#) * * (Fun ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t4)) (t4 -> (:.) ((:.) Z t2) t1 -> t4), Apply ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z ()) (TermArg b)) -> t4), Apply ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t4), Apply ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t4), TermStream t5 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t (i -> i -> t5 t3))) i) i, TermStream t5 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i) i, TermStream t5 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t (i -> i -> t5 t3))) i) i, TermStream t5 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t (i -> i -> t5 t3))) i) i, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i, TermStaticVar (TermSymbol (TermSymbol M b1) b) i, MkStream t5 S i, MkStream t5 (Stack (TW t (i -> i -> t5 t3))) i, Element (Stack (TW t (i -> i -> t5 t3))) i, Build (TW t (i -> i -> t5 t3)), RuleContext i) => SigGlobal t5 t4 t3 t2 t1 -> t -> b1 -> b -> (:.) Z (TW t (i -> i -> t5 t3))
- backtrack :: Monad m => u -> l -> SigGlobal m (FMList (l, u)) [FMList (l, u)] l u
- backtrackFun :: Monad m => (l -> u -> r) -> (l -> u -> r) -> u -> l -> SigGlobal m (FMList r) [FMList r] l u
- runBacktrack :: FMList r -> [r]
Documentation
data SigGlobal m s r t_l_0_ t_u_1_ Source #
Define signature and grammar
(Monad mL0, Monad mR0, Eq xL0, (~) (* -> *) mL0 mR0, (~) * xL0 rL0) => ProductBacktracking (SigGlobal mL0 xL0 rL0 t_l_0_0 t_u_1_0) (SigGlobal mR0 xR0 rR0 t_l_0_0 t_u_1_0) Source # | |
(Monad mL0, Monad mR0, Eq xL0, Ord xL0, Ord xR0, (~) (* -> *) mL0 mR0) => ProductCombining (SigGlobal mL0 xL0 rL0 t_l_0_0 t_u_1_0) (SigGlobal mR0 xR0 rR0 t_l_0_0 t_u_1_0) Source # | |
type SigBacktracking (SigGlobal mL0 xL0 rL0 t_l_0_0 t_u_1_0) (SigGlobal mR0 xR0 rR0 t_l_0_0 t_u_1_0) Source # | |
type SigCombining (SigGlobal mL0 xL0 rL0 t_l_0_0 t_u_1_0) (SigGlobal mR0 xR0 rR0 t_l_0_0 t_u_1_0) Source # | |
gGlobal :: ((~#) * * (Fun ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z ()) (TermArg b)) -> t4)) (t4 -> (:.) ((:.) Z ()) t1 -> t4), (~#) * * (Fun ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t4)) (t4 -> (:.) ((:.) Z t2) () -> t4), (~#) * * (Fun ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t4)) (t4 -> (:.) ((:.) Z t2) t1 -> t4), Apply ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z ()) (TermArg b)) -> t4), Apply ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) ()) -> t4), Apply ((:.) (Arg (Stack (TW t (i -> i -> t5 t3)))) ((:.) ((:.) Z (TermArg b1)) (TermArg b)) -> t4), TermStream t5 (TermSymbol (TermSymbol M Deletion) b) (Elm (Stack (TW t (i -> i -> t5 t3))) i) i, TermStream t5 (TermSymbol (TermSymbol M Epsilon) Epsilon) (Elm S i) i, TermStream t5 (TermSymbol (TermSymbol M b1) Deletion) (Elm (Stack (TW t (i -> i -> t5 t3))) i) i, TermStream t5 (TermSymbol (TermSymbol M b1) b) (Elm (Stack (TW t (i -> i -> t5 t3))) i) i, TermStaticVar (TermSymbol (TermSymbol M Deletion) b) i, TermStaticVar (TermSymbol (TermSymbol M Epsilon) Epsilon) i, TermStaticVar (TermSymbol (TermSymbol M b1) Deletion) i, TermStaticVar (TermSymbol (TermSymbol M b1) b) i, MkStream t5 S i, MkStream t5 (Stack (TW t (i -> i -> t5 t3))) i, Element (Stack (TW t (i -> i -> t5 t3))) i, Build (TW t (i -> i -> t5 t3)), RuleContext i) => SigGlobal t5 t4 t3 t2 t1 -> t -> b1 -> b -> (:.) Z (TW t (i -> i -> t5 t3)) Source #
backtrack :: Monad m => u -> l -> SigGlobal m (FMList (l, u)) [FMList (l, u)] l u Source #
Generic backtracking scheme via FMList
s.
backtrackFun :: Monad m => (l -> u -> r) -> (l -> u -> r) -> u -> l -> SigGlobal m (FMList r) [FMList r] l u Source #
Backtracking with more options
runBacktrack :: FMList r -> [r] Source #
Turn a single FMList
backtracking result into the corresponding
list.