1{-# LANGUAGE OverloadedStrings #-}
8import Control.Applicative
10import Data.ByteString (ByteString)
11import qualified Data.ByteString.Char8 as B8
12import qualified Data.ByteString.Lazy.Char8 as L8
13import Data.Attoparsec.ByteString.Char8 as B
14import qualified Data.Attoparsec.ByteString.Lazy as BL
15import Data.Text (Text)
16import qualified Data.Text as T
17import qualified Data.Text.Lazy as TL
18import Data.Attoparsec.Text as T
19import qualified Data.Attoparsec.Text.Lazy as TL
20import Common (rechunkBS, rechunkT)
23genome = bgroup "genome" [
25 bench "s" $ nf (map (B.parse searchBS)) (B8.tails geneB)
26 , bench "l" $ nf (map (BL.parse searchBS)) (L8.tails geneBL)
28 bench "s" $ nf (map (B.parse searchBSCI)) (B8.tails geneB)
29 , bench "l" $ nf (map (BL.parse searchBSCI)) (L8.tails geneBL)
33 bench "s" $ nf (map (T.parse searchT)) (T.tails geneT)
34 , bench "l" $ nf (map (TL.parse searchT)) (TL.tails geneTL)
36 bench "s" $ nf (map (T.parse searchTCI)) (T.tails geneT)
37 , bench "l" $ nf (map (TL.parse searchTCI)) (TL.tails geneTL)
41 where geneB = B8.pack gene
42 geneBL = rechunkBS 4 geneB
44 geneTL = rechunkT 4 geneT
46searchBS :: B.Parser ByteString
47searchBS = "caac" *> ("aaca" <|> "aact")
49searchBSCI :: B.Parser ByteString
50searchBSCI = B.stringCI "CAAC" *> (B.stringCI "AACA" <|> B.stringCI "AACT")
52searchT :: T.Parser Text
53searchT = "caac" *> ("aaca" <|> "aact")
55searchTCI :: T.Parser Text
56searchTCI = T.asciiCI "CAAC" *> (T.asciiCI "AACA" <|> T.asciiCI "AACT")
58-- Dictyostelium discoideum developmental protein DG1094 (gacT) gene,
59-- partial cds. http://www.ncbi.nlm.nih.gov/nuccore/AF081586.1
62gene = "atcgatttagaaagatacaaagatagaaccatcaataataaacaagagaagagagcaagt\
63 \agagatattaataaagagattgaaagagagattgaaaagaagagattatcaccaagagaa\
64 \agattaaatttatttggtctttcttcctcatcttcatcagtgaattcaacattaacaaga\
65 \tctacagcaaatattatctctacaatagacggtagtggaggtagtaatcgtaatagtaaa\
66 \aattatggtaatggctcatcctcctcctcaaatagaagatatagtaatactattaatcaa\
67 \caattacaaatgcaattacaacaacttcaaatccaacaacaacaatatcaacaaactcaa\
68 \caatctcaaataccattacaatatcaacaacaacaacagcaacaacaacaacaaaccact\
69 \acaactacaactacatcaagtggtagtaatagattctcttcaaatagatataaaccagtt\
70 \gatcttacacaatcatcttcaaactttcgttattcacgtgaaatttatgatgatgattat\
71 \tattcaaataataatttaatgatgtttggtaatgagcaaccaaatcaaacaccaatttct\
72 \gtatcatcttcatctgcattcacacgtcaaagatctcaaagttgctttgaaccagagaat\
73 \cttgtattgctacaacaacaatatcaacaatatcaacaacaacaacaacaacaacaacaa\
74 \attccattccaagcaaatccacaatatagtaatgctgttattgaacaaaaattggatcaa\
75 \attagagataccattaataatttacatagagataaccgagtctctaga"
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list