File: Pairwise.hs

package info (click to toggle)
bali-phy 4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 15,392 kB
  • sloc: cpp: 120,442; xml: 13,966; haskell: 9,975; python: 2,936; yacc: 1,328; perl: 1,169; lex: 912; sh: 343; makefile: 26
file content (48 lines) | stat: -rw-r--r-- 1,937 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
module Bio.Alignment.Pairwise where

import Data.BitVector
import Data.Matrix
import Control.DeepSeq
import Numeric.LogDouble

data PairHMM

foreign import bpcall "Alignment:" transition_counts :: PairwiseAlignment -> Matrix Int

foreign import bpcall "Alignment:" pairwise_alignment_probability_from_counts :: Matrix Int -> PairHMM -> LogDouble

data PairwiseAlignment = PairwiseAlignment

foreign import bpcall "Alignment:" numInsert :: PairwiseAlignment -> Int

foreign import bpcall "Alignment:" numMatch :: PairwiseAlignment -> Int

foreign import bpcall "Alignment:" numDelete :: PairwiseAlignment -> Int

foreign import bpcall "Alignment:" numIndels :: PairwiseAlignment -> Int

foreign import bpcall "Alignment:" lengthIndels :: PairwiseAlignment -> Int

foreign import bpcall "Alignment:pairwise_alignment_length1" pairwise_alignment_length1 :: PairwiseAlignment -> Int

foreign import bpcall "Alignment:pairwise_alignment_length2" pairwise_alignment_length2 :: PairwiseAlignment -> Int

foreign import bpcall "Bits:pairwise_alignment_from_bits" builtin_pairwise_alignment_from_bits :: CBitVector -> CBitVector -> PairwiseAlignment

pairwise_alignment_from_bits :: BitVector -> BitVector -> PairwiseAlignment
pairwise_alignment_from_bits (BitVector x) (BitVector y) = builtin_pairwise_alignment_from_bits x y

foreign import bpcall "Alignment:unaligned_pairwise_alignment" unaligned_pairwise_alignment :: Int -> Int -> PairwiseAlignment

foreign import bpcall "Alignment:left_aligned_pairwise_alignment" left_aligned_pairwise_alignment :: Int -> Int -> PairwiseAlignment

foreign import bpcall "Alignment:flip_alignment" flip_alignment :: PairwiseAlignment -> PairwiseAlignment

instance NFData PairHMM

instance NFData PairwiseAlignment

foreign import bpcall "Alignment:" showPairwiseAlignmentRaw :: PairwiseAlignment -> CPPString

instance Show PairwiseAlignment where
    show = unpack_cpp_string . showPairwiseAlignmentRaw