BiobaseXNA-0.9.3.0: Efficient RNA/DNA representations

Safe HaskellNone
LanguageHaskell2010

Biobase.Primary.Letter

Contents

Description

A newtype with an attached phenotype which allows us to encode nucleotides and amino acids. Actual seqence-specific functions can be founds in the appropriate modules AA and Nuc.

Synopsis

Documentation

newtype Letter t Source #

A Letter together with its phantom type t encodes bio-sequences.

Constructors

Letter 

Fields

Instances

IsostericityLookup ExtPair Source #

For extended basepairs, we take the default mapping and go from there.

TODO inClass missing

IsostericityLookup Pair Source #

Normal basepairs are assumed to have cWW basepairing.

TODO inClass missing

Vector Vector (Letter a0) Source # 
MVector MVector (Letter a0) Source # 

Methods

basicLength :: MVector s (Letter a0) -> Int #

basicUnsafeSlice :: Int -> Int -> MVector s (Letter a0) -> MVector s (Letter a0) #

basicOverlaps :: MVector s (Letter a0) -> MVector s (Letter a0) -> Bool #

basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Letter a0)) #

basicInitialize :: PrimMonad m => MVector (PrimState m) (Letter a0) -> m () #

basicUnsafeReplicate :: PrimMonad m => Int -> Letter a0 -> m (MVector (PrimState m) (Letter a0)) #

basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Letter a0) -> Int -> m (Letter a0) #

basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Letter a0) -> Int -> Letter a0 -> m () #

basicClear :: PrimMonad m => MVector (PrimState m) (Letter a0) -> m () #

basicSet :: PrimMonad m => MVector (PrimState m) (Letter a0) -> Letter a0 -> m () #

basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Letter a0) -> MVector (PrimState m) (Letter a0) -> m () #

basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Letter a0) -> MVector (PrimState m) (Letter a0) -> m () #

basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Letter a0) -> Int -> m (MVector (PrimState m) (Letter a0)) #

Bounded (Letter RNA) # 
Bounded (Letter DNA) # 
Bounded (Letter XNA) # 
Bounded (Letter DEG) # 
Enum (Letter Unknown) # 
Enum (Letter RNA) # 
Enum (Letter DNA) # 
Enum (Letter XNA) # 
Enum (Letter DEG) # 
Enum (Letter AA) # 
Eq (Letter t) Source # 

Methods

(==) :: Letter t -> Letter t -> Bool #

(/=) :: Letter t -> Letter t -> Bool #

Ord (Letter t) Source # 

Methods

compare :: Letter t -> Letter t -> Ordering #

(<) :: Letter t -> Letter t -> Bool #

(<=) :: Letter t -> Letter t -> Bool #

(>) :: Letter t -> Letter t -> Bool #

(>=) :: Letter t -> Letter t -> Bool #

max :: Letter t -> Letter t -> Letter t #

min :: Letter t -> Letter t -> Letter t #

Read (Letter Unknown) # 
Read (Letter RNA) # 
Read (Letter DNA) # 
Read (Letter XNA) # 
Read (Letter AA) # 
Show (Letter Unknown) # 
Show (Letter RNA) # 
Show (Letter DNA) # 
Show (Letter XNA) # 
Show (Letter DEG) # 
Show (Letter AA) # 
Ix (Letter t) Source # 

Methods

range :: (Letter t, Letter t) -> [Letter t] #

index :: (Letter t, Letter t) -> Letter t -> Int #

unsafeIndex :: (Letter t, Letter t) -> Letter t -> Int

inRange :: (Letter t, Letter t) -> Letter t -> Bool #

rangeSize :: (Letter t, Letter t) -> Int #

unsafeRangeSize :: (Letter t, Letter t) -> Int

IsString [Letter RNA] # 

Methods

fromString :: String -> [Letter RNA] #

IsString [Letter DNA] # 

Methods

fromString :: String -> [Letter DNA] #

IsString [Letter XNA] # 

Methods

fromString :: String -> [Letter XNA] #

IsString [Letter DEG] # 

Methods

fromString :: String -> [Letter DEG] #

(Unbox (Letter t), IsString [Letter t]) => IsString (Vector (Letter t)) Source # 

Methods

fromString :: String -> Vector (Letter t) #

Generic (Letter t) Source # 

Associated Types

type Rep (Letter t) :: * -> * #

Methods

from :: Letter t -> Rep (Letter t) x #

to :: Rep (Letter t) x -> Letter t #

Index (Letter l) Source # 
IndexStream (Letter l) Source # 

Methods

streamUp :: Monad m => Letter l -> Letter l -> Stream m (Letter l) #

streamDown :: Monad m => Letter l -> Letter l -> Stream m (Letter l) #

Hashable (Letter t) Source # 

Methods

hashWithSalt :: Int -> Letter t -> Int #

hash :: Letter t -> Int #

MkPrimary (Vector Char) DNA => FromJSON (Primary DNA) # 
MkPrimary (Vector Char) XNA => FromJSON (Primary XNA) # 
FromJSON (Letter Unknown) # 
FromJSON (Letter RNA) # 
FromJSON (Letter AA) # 
LetterChar DNA => ToJSON (Primary DNA) # 
LetterChar XNA => ToJSON (Primary XNA) # 
ToJSON (Letter Unknown) # 
ToJSON (Letter RNA) # 
ToJSON (Letter AA) # 
Binary (Letter t) Source # 

Methods

put :: Letter t -> Put #

get :: Get (Letter t) #

Serialize (Letter t) Source # 

Methods

put :: Putter (Letter t) #

get :: Get (Letter t) #

NFData (Letter t) Source # 

Methods

rnf :: Letter t -> () #

Unbox (Letter a0) Source # 
Degenerate (Letter RNA) Source # 
Degenerate (Letter DNA) Source # 
Degenerate (Letter XNA) Source # 
Complement (Letter RNA) (Letter RNA) Source # 
Complement (Letter RNA) (Letter DNA) Source # 
Complement (Letter DNA) (Letter RNA) Source # 
Complement (Letter DNA) (Letter DNA) Source # 
IndexStream z => IndexStream ((:.) z (Letter l)) Source # 

Methods

streamUp :: Monad m => (z :. Letter l) -> (z :. Letter l) -> Stream m (z :. Letter l) #

streamDown :: Monad m => (z :. Letter l) -> (z :. Letter l) -> Stream m (z :. Letter l) #

LetterChar x => ToJSON (Pretty [] (Letter x)) # 

Methods

toJSON :: Pretty [] (Letter x) -> Value #

toEncoding :: Pretty [] (Letter x) -> Encoding #

toJSONList :: [Pretty [] (Letter x)] -> Value #

toEncodingList :: [Pretty [] (Letter x)] -> Encoding #

LetterChar x => ToJSON (Pretty Vector (Letter x)) # 
LetterChar x => ToJSON (Pretty Vector (Letter x)) # 
(LetterChar x, Storable (Letter x)) => ToJSON (Pretty Vector (Letter x)) # 
MkViennaPair (Letter RNA, Letter RNA) Source # 
data MVector s (Letter a0) Source # 
data MVector s (Letter a0) = MV_Letter (MVector s Int)
type Rep (Letter t) Source # 
type Rep (Letter t) = D1 (MetaData "Letter" "Biobase.Primary.Letter" "BiobaseXNA-0.9.3.0-8oUGCIbMbYx8TN6nAPRU1W" True) (C1 (MetaCons "Letter" PrefixI True) (S1 (MetaSel (Just Symbol "getLetter") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))
data Vector (Letter a0) Source # 

class LetterChar t where Source #

Convert Letter types into character forms. DNA, RNA, and amino acid sequences can make use of this. Other Letter types only if they have single-char representations.

Minimal complete definition

letterChar, charLetter

Instances for Letter.