Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data AlignmentResult m m' = AlignmentResult {}
- type SimpleGap = Int
- type SimpleGap2 = (SimpleGap, SimpleGap)
- data AffineGap = AffineGap {}
- type AffineGap2 = (AffineGap, AffineGap)
- data Operation i j
- newtype EditDistance e1 e2 = EditDistance (e1 -> e2 -> Bool)
- data GlobalAlignment a e1 e2 = GlobalAlignment (Scoring e1 e2) a
- data LocalAlignment a e1 e2 = LocalAlignment (Scoring e1 e2) a
- data SemiglobalAlignment a e1 e2 = SemiglobalAlignment (Scoring e1 e2) a
- class IsGap a where
- insertCostOpen :: a -> Int
- insertCostExtend :: a -> Int
- deleteCostOpen :: a -> Int
- deleteCostExtend :: a -> Int
- isAffine :: a -> Bool
- align :: forall algo m m'. (SequenceAlignment algo, Alignable m, Alignable m') => algo (IxValue m) (IxValue m') -> m -> m' -> AlignmentResult m m'
- viewAlignment :: forall m m'. (Alignable m, Alignable m', Symbol (IxValue m), Symbol (IxValue m')) => AlignmentResult m m' -> (String, String)
- prettyAlignmment :: forall m m'. (Alignable m, Alignable m', Symbol (IxValue m), Symbol (IxValue m')) => AlignmentResult m m' -> Int -> String
- similarityGen :: forall algo m m'. (SequenceAlignment algo, Alignable m, Alignable m') => algo (IxValue m) (IxValue m') -> (IxValue m -> IxValue m' -> Bool) -> m -> m' -> R
- differenceGen :: forall algo m m'. (SequenceAlignment algo, Alignable m, Alignable m') => algo (IxValue m) (IxValue m') -> (IxValue m -> IxValue m' -> Bool) -> m -> m' -> R
- similarity :: forall algo m m'. (SequenceAlignment algo, Alignable m, Alignable m', IxValue m ~ IxValue m', Eq (IxValue m), Eq (IxValue m')) => algo (IxValue m) (IxValue m') -> m -> m' -> R
- difference :: forall algo m m'. (SequenceAlignment algo, Alignable m, Alignable m', IxValue m ~ IxValue m', Eq (IxValue m), Eq (IxValue m')) => algo (IxValue m) (IxValue m') -> m -> m' -> R
Documentation
data AlignmentResult m m' Source #
Sequence Alignment result
Instances
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
Eq AffineGap Source # | |
Show AffineGap Source # | |
Generic AffineGap Source # | |
NFData AffineGap Source # | |
Defined in Bio.Chain.Alignment.Type | |
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 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.0-3rQhVKBzPLX755B7k29wYO" 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.
Operation that was performed on current step of alignment
Instances
data GlobalAlignment a e1 e2 Source #
GlobalAlignment (Scoring e1 e2) a |
Instances
IsGap g => SequenceAlignment (GlobalAlignment g) Source # | |
Defined in Bio.Chain.Alignment.Algorithms semi :: GlobalAlignment g e1 e2 -> Bool Source # cond :: (Alignable m, Alignable m') => GlobalAlignment g (IxValue m) (IxValue m') -> Conditions m m' Source # traceStart :: (Alignable m, Alignable m') => GlobalAlignment g (IxValue m) (IxValue m') -> Matrix m m' -> m -> m' -> (Index m, Index m') Source # scoreMatrix :: (Alignable m, Alignable m') => GlobalAlignment g (IxValue m) (IxValue m') -> m -> m' -> Matrix m m' Source # |
data LocalAlignment a e1 e2 Source #
LocalAlignment (Scoring e1 e2) a |
Instances
IsGap g => SequenceAlignment (LocalAlignment g) Source # | |
Defined in Bio.Chain.Alignment.Algorithms semi :: LocalAlignment g e1 e2 -> Bool Source # cond :: (Alignable m, Alignable m') => LocalAlignment g (IxValue m) (IxValue m') -> Conditions m m' Source # traceStart :: (Alignable m, Alignable m') => LocalAlignment g (IxValue m) (IxValue m') -> Matrix m m' -> m -> m' -> (Index m, Index m') Source # scoreMatrix :: (Alignable m, Alignable m') => LocalAlignment g (IxValue m) (IxValue m') -> m -> m' -> Matrix m m' Source # |
data SemiglobalAlignment a e1 e2 Source #
SemiglobalAlignment (Scoring e1 e2) a |
Instances
IsGap g => SequenceAlignment (SemiglobalAlignment g) Source # | |
Defined in Bio.Chain.Alignment.Algorithms semi :: SemiglobalAlignment g e1 e2 -> Bool Source # cond :: (Alignable m, Alignable m') => SemiglobalAlignment g (IxValue m) (IxValue m') -> Conditions m m' Source # traceStart :: (Alignable m, Alignable m') => SemiglobalAlignment g (IxValue m) (IxValue m') -> Matrix m m' -> m -> m' -> (Index m, Index m') Source # scoreMatrix :: (Alignable m, Alignable m') => SemiglobalAlignment g (IxValue m) (IxValue m') -> m -> m' -> Matrix m m' Source # |
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 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 AffineGap 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 # | |
IsGap SimpleGap Source # | |
align :: forall algo m m'. (SequenceAlignment algo, Alignable m, Alignable m') => algo (IxValue m) (IxValue m') -> m -> m' -> AlignmentResult m m' Source #
Align chains using specifed algorithm
viewAlignment :: forall m m'. (Alignable m, Alignable m', Symbol (IxValue m), Symbol (IxValue m')) => AlignmentResult m m' -> (String, String) Source #
View alignment results as simple strings with gaps
:: (Alignable m, Alignable m', Symbol (IxValue m), Symbol (IxValue m')) | |
=> AlignmentResult m m' | Result of alignment to format |
-> Int | Desired width of one alignment row |
-> String |
Format alignment result as pretty columns of symbols.
Example with width equal to 20:
0 -------------------- 0 0 TTTTTTTTTTTTTTTTTTTT 19 0 --GCCTGAATGGTGTGGTGT 17 || |||||| |||| ||| 20 TTGC-TGAATG-TGTG-TGT 36 18 TCGGCGGAGGGACCCAGCTA 37 || ||||||||||||||| 37 -CG-CGGAGGGACCCAGCT- 53 38 AAAAAAAAAA 47 53 ---------- 53
similarityGen :: forall algo m m'. (SequenceAlignment algo, Alignable m, Alignable m') => algo (IxValue m) (IxValue m') -> (IxValue m -> IxValue m' -> Bool) -> m -> m' -> R Source #
Calculate similarity and difference between two sequences, aligning them first using given algorithm.
differenceGen :: forall algo m m'. (SequenceAlignment algo, Alignable m, Alignable m') => algo (IxValue m) (IxValue m') -> (IxValue m -> IxValue m' -> Bool) -> m -> m' -> R Source #