Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type Scoring a b = a -> b -> Int
- type SimpleGap = Int
- type SimpleGap2 = (SimpleGap, SimpleGap)
- data AffineGap = AffineGap {}
- type AffineGap2 = (AffineGap, AffineGap)
- class IsGap a where
- insertCostOpen :: a -> Int
- insertCostExtend :: a -> Int
- deleteCostOpen :: a -> Int
- deleteCostExtend :: a -> Int
- isAffine :: a -> Bool
- data EditOp
- data Operation i j
- isInsert :: Operation i j -> Bool
- isDelete :: Operation i j -> Bool
- isMatch :: Operation i j -> Bool
- type Matrix m m' = UArray (Index m, Index m', EditOp) Int
- type Stop m m' = Matrix m m' -> m -> m' -> Index m -> Index m' -> Bool
- type Move m m' = Matrix m m' -> m -> m' -> Index m -> Index m' -> EditOp -> (EditOp, Index m, Index m', Operation (Index m) (Index m'))
- data Conditions m m' = Conditions {}
- data AlignmentResult m m' = AlignmentResult {}
- type Alignable m = (ChainLike m, Ix (Index m))
- class SequenceAlignment (a :: Type -> Type -> Type) where
- semi :: a e1 e2 -> Bool
- cond :: (Alignable m, Alignable m') => a (IxValue m) (IxValue m') -> Conditions m m'
- traceStart :: (Alignable m, Alignable m') => a (IxValue m) (IxValue m') -> Matrix m m' -> m -> m' -> (Index m, Index m')
- scoreMatrix :: (Alignable m, Alignable m') => a (IxValue m) (IxValue m') -> m -> m' -> Matrix m m'
Documentation
type Scoring a b = a -> b -> Int Source #
Scoring function, returns substitution score for a couple of elements
type Scoring = Char -> Char -> Int
type SimpleGap2 = (SimpleGap, SimpleGap) Source #
Gap penalty with different SimpleGap
penalties for sequences.
First element of pair is penalty for first sequence passed to alignment algorithm, second element — penalty for second passed sequence.
Affine gap penalty
Instances
Generic AffineGap Source # | |
Show AffineGap Source # | |
IsGap AffineGap Source # | |
IsGap AffineGap2 Source # | |
Defined in Bio.Chain.Alignment.Type insertCostOpen :: AffineGap2 -> Int Source # insertCostExtend :: AffineGap2 -> Int Source # deleteCostOpen :: AffineGap2 -> Int Source # deleteCostExtend :: AffineGap2 -> Int Source # isAffine :: AffineGap2 -> Bool Source # | |
NFData AffineGap Source # | |
Defined in Bio.Chain.Alignment.Type | |
Eq AffineGap Source # | |
type Rep AffineGap Source # | |
Defined in Bio.Chain.Alignment.Type type Rep AffineGap = D1 ('MetaData "AffineGap" "Bio.Chain.Alignment.Type" "cobot-0.1.1.8-Giff50E8qZ73qQvm66bZ3u" 'False) (C1 ('MetaCons "AffineGap" 'PrefixI 'True) (S1 ('MetaSel ('Just "gapOpen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "gapExtend") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) |
type AffineGap2 = (AffineGap, AffineGap) Source #
Gap penalty with different AffineGap
penalties for sequences.
First element of pair is penalty for first sequence passed to alignment algorithm, second element — penalty for second passed sequence.
Type class that describes possible gaps in alignments.
insertCostOpen :: a -> Int Source #
Insertions are gaps in the first argument of an alignment function.
insertCostExtend :: a -> Int Source #
deleteCostOpen :: a -> Int Source #
Deletions are gaps in the second argument of an alignment function.
deleteCostExtend :: a -> Int Source #
Instances
IsGap AffineGap Source # | |
IsGap AffineGap2 Source # | |
Defined in Bio.Chain.Alignment.Type insertCostOpen :: AffineGap2 -> Int Source # insertCostExtend :: AffineGap2 -> Int Source # deleteCostOpen :: AffineGap2 -> Int Source # deleteCostExtend :: AffineGap2 -> Int Source # isAffine :: AffineGap2 -> Bool Source # | |
IsGap SimpleGap Source # | |
IsGap SimpleGap2 Source # | |
Defined in Bio.Chain.Alignment.Type insertCostOpen :: SimpleGap2 -> Int Source # insertCostExtend :: SimpleGap2 -> Int Source # deleteCostOpen :: SimpleGap2 -> Int Source # deleteCostExtend :: SimpleGap2 -> Int Source # isAffine :: SimpleGap2 -> Bool Source # |
Edit operation could be insertion, deletion or match/mismatch
Instances
Bounded EditOp Source # | |
Enum EditOp Source # | |
Defined in Bio.Chain.Alignment.Type | |
Generic EditOp Source # | |
Ix EditOp Source # | |
Show EditOp Source # | |
NFData EditOp Source # | |
Defined in Bio.Chain.Alignment.Type | |
Eq EditOp Source # | |
Ord EditOp Source # | |
(NFData a, NFData b) => NFData (UArray (a, b, EditOp) Int) Source # | |
type Rep EditOp Source # | |
Defined in Bio.Chain.Alignment.Type type Rep EditOp = D1 ('MetaData "EditOp" "Bio.Chain.Alignment.Type" "cobot-0.1.1.8-Giff50E8qZ73qQvm66bZ3u" 'False) (C1 ('MetaCons "Insert" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Delete" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Match" 'PrefixI 'False) (U1 :: Type -> Type))) |
Operation that was performed on current step of alignment
Instances
type Stop m m' = Matrix m m' -> m -> m' -> Index m -> Index m' -> Bool Source #
Traceback stop condition type
= Matrix m m' | |
-> m | |
-> m' | |
-> Index m | |
-> Index m' | |
-> EditOp | Current matrix, used in affine alignment |
-> (EditOp, Index m, Index m', Operation (Index m) (Index m')) | Next matrix, next indices, new operation |
Traceback next move generator type
data AlignmentResult m m' Source #
Sequence Alignment result
Instances
class SequenceAlignment (a :: Type -> Type -> Type) where Source #
Method of sequence alignment
semi :: a e1 e2 -> Bool Source #
Defines wheater the alignment is semiglobal or not
cond :: (Alignable m, Alignable m') => a (IxValue m) (IxValue m') -> Conditions m m' Source #
Traceback conditions of alignment
traceStart :: (Alignable m, Alignable m') => a (IxValue m) (IxValue m') -> Matrix m m' -> m -> m' -> (Index m, Index m') Source #
Starting position in matrix for traceback procedure
scoreMatrix :: (Alignable m, Alignable m') => a (IxValue m) (IxValue m') -> m -> m' -> Matrix m m' Source #
Distance matrix element