BiobaseXNA-0.10.0.0: Efficient RNA/DNA/Protein Primary/Secondary Structure

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 k a0) Source # 

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Letter k a0) -> m (Vector (Letter k a0)) #

basicUnsafeThaw :: PrimMonad m => Vector (Letter k a0) -> m (Mutable Vector (PrimState m) (Letter k a0)) #

basicLength :: Vector (Letter k a0) -> Int #

basicUnsafeSlice :: Int -> Int -> Vector (Letter k a0) -> Vector (Letter k a0) #

basicUnsafeIndexM :: Monad m => Vector (Letter k a0) -> Int -> m (Letter k a0) #

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Letter k a0) -> Vector (Letter k a0) -> m () #

elemseq :: Vector (Letter k a0) -> Letter k a0 -> b -> b #

MVector MVector (Letter k a0) Source # 

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

BasepairConvert ViennaPair (Letter * RNA, Letter * RNA) Source # 
BasepairConvert Basepair (Letter * RNA, Letter * RNA) Source # 
IsString [Letter * DNA] # 

Methods

fromString :: String -> [Letter * DNA] #

IsString [Letter * RNA] # 

Methods

fromString :: String -> [Letter * RNA] #

IsString [Letter * XNA] # 

Methods

fromString :: String -> [Letter * XNA] #

IsString [Letter * DEG] # 

Methods

fromString :: String -> [Letter * DEG] #

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

Methods

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

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

Methods

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

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

Ord (Letter k t) Source # 

Methods

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

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

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

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

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

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

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

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

Methods

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

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

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

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

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

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

Generic (Letter k t) Source # 

Associated Types

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

Methods

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

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

Index (Letter k l) Source # 

Methods

linearIndex :: Letter k l -> Letter k l -> Letter k l -> Int #

smallestLinearIndex :: Letter k l -> Int #

largestLinearIndex :: Letter k l -> Int #

size :: Letter k l -> Letter k l -> Int #

inBounds :: Letter k l -> Letter k l -> Letter k l -> Bool #

IndexStream z => IndexStream ((:.) z (Letter k l)) Source # 

Methods

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

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

IndexStream (Letter k l) Source # 

Methods

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

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

Hashable (Letter k t) Source # 

Methods

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

hash :: Letter k t -> Int #

FromJSON (Letter * Unknown) # 
FromJSON (Letter * RNA) # 
FromJSON (Letter * AA) # 
ToJSON (Letter * Unknown) # 
ToJSON (Letter * RNA) # 
ToJSON (Letter * AA) # 
Binary (Letter k t) Source # 

Methods

put :: Letter k t -> Put #

get :: Get (Letter k t) #

putList :: [Letter k t] -> Put #

Serialize (Letter k t) Source # 

Methods

put :: Putter (Letter k t) #

get :: Get (Letter k t) #

NFData (Letter k t) Source # 

Methods

rnf :: Letter k t -> () #

Unbox (Letter k a0) Source # 
Degenerate (Letter * DNA) Source # 
Degenerate (Letter * RNA) Source # 
Degenerate (Letter * XNA) Source # 
BasepairConvert (Letter * RNA, Letter * RNA) ViennaPair Source # 
BasepairConvert (Letter * RNA, Letter * RNA) Basepair Source # 
LetterChar k x => ToJSON (Pretty * [] (Letter k x)) # 

Methods

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

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

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

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

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

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

class MkPrimary n t where Source #

Conversion from a large number of sequence-like inputs to primary sequences.

Minimal complete definition

primary

Methods

primary :: n -> Primary t Source #

Instances for Letter.