AlignmentAlgorithms-0.0.1.2: Collection of alignment algorithms

Safe HaskellNone
LanguageHaskell2010

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.

Synopsis

Documentation

data SigGlobal m s r t_l t_u Source

Define signature and grammar

Constructors

SigGlobal 

Fields

align :: s -> (:.) ((:.) Z t_l) t_u -> s
 
delin :: s -> (:.) ((:.) Z t_l) () -> s
 
done :: (:.) ((:.) Z ()) () -> s
 
indel :: s -> (:.) ((:.) Z ()) t_u -> s
 
h :: Stream m s -> m r
 

Instances

(Monad mL0, Monad mR0, Eq xL0, (~) (* -> *) mL0 mR0) => BacktrackingProduct (SigGlobal mL xL xL t_l t_u) (SigGlobal mR xR rR t_l t_u) 
type SigR (SigGlobal mL0 xL0 xL0 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 Epsilon) Epsilon) t3, TermStaticVar (TermSymbol (TermSymbol M Deletion) b1) t3, TermStaticVar (TermSymbol (TermSymbol M b) Deletion) t3, TermStaticVar (TermSymbol (TermSymbol M b) b1) t3, TerminalStream m (TermSymbol (TermSymbol M Epsilon) Epsilon) t3, TerminalStream m (TermSymbol (TermSymbol M Deletion) b1) 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.