BiobaseTypes-0.2.1.0: Collection of types for bioinformatics
Safe HaskellNone
LanguageHaskell2010

Biobase.Types.BioSequence

Description

Abstraction over bio sequences encoded as one-ascii character as one symbol. We phantom-type the exact bio-sequence type and provide type classes that act on known types.

Unknown bio sequences should be tagged with Void.

TODO give (lens) usage examples

Synopsis

Lens operations on biosequences

Sequence identifiers

newtype SequenceIdentifier (which :: k) Source #

Instances

Instances details
Eq (SequenceIdentifier which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

(Typeable which, Typeable k) => Data (SequenceIdentifier which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SequenceIdentifier which -> c (SequenceIdentifier which) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (SequenceIdentifier which) #

toConstr :: SequenceIdentifier which -> Constr #

dataTypeOf :: SequenceIdentifier which -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (SequenceIdentifier which)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (SequenceIdentifier which)) #

gmapT :: (forall b. Data b => b -> b) -> SequenceIdentifier which -> SequenceIdentifier which #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SequenceIdentifier which -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SequenceIdentifier which -> r #

gmapQ :: (forall d. Data d => d -> u) -> SequenceIdentifier which -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SequenceIdentifier which -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SequenceIdentifier which -> m (SequenceIdentifier which) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SequenceIdentifier which -> m (SequenceIdentifier which) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SequenceIdentifier which -> m (SequenceIdentifier which) #

Ord (SequenceIdentifier which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Read (SequenceIdentifier which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Show (SequenceIdentifier which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

IsString (SequenceIdentifier w) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Generic (SequenceIdentifier which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Associated Types

type Rep (SequenceIdentifier which) :: Type -> Type #

Methods

from :: SequenceIdentifier which -> Rep (SequenceIdentifier which) x #

to :: Rep (SequenceIdentifier which) x -> SequenceIdentifier which #

NFData (SequenceIdentifier w) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Methods

rnf :: SequenceIdentifier w -> () #

Wrapped (SequenceIdentifier which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Associated Types

type Unwrapped (SequenceIdentifier which) #

SequenceIdentifier which1 ~ t => Rewrapped (SequenceIdentifier which2) t Source # 
Instance details

Defined in Biobase.Types.BioSequence

type Rep (SequenceIdentifier which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

type Rep (SequenceIdentifier which) = D1 ('MetaData "SequenceIdentifier" "Biobase.Types.BioSequence" "BiobaseTypes-0.2.1.0-KNWEaQoA0aY419BnftjfF1" 'True) (C1 ('MetaCons "SequenceIdentifier" 'PrefixI 'True) (S1 ('MetaSel ('Just "_sequenceIdentifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
type Unwrapped (SequenceIdentifier which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

_SequenceIdentifier :: forall k (which :: k) k (which :: k). Iso (SequenceIdentifier (which :: k)) (SequenceIdentifier (which :: k)) ByteString ByteString Source #

Bio-Sequences

data RNA Source #

Instances

Instances details
IsString (BioSequence RNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Arbitrary (BioSequence RNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Complement (BioSequence RNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Transcribe (BioSequence RNA) Source #

Transcribe a RNA sequence into an DNA sequence. This does not reverse the sequence!

Instance details

Defined in Biobase.Types.BioSequence

Associated Types

type TranscribeTo (BioSequence RNA) Source #

type TranscribeTo (BioSequence RNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

data DNA Source #

Instances

Instances details
IsString (BioSequence DNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Arbitrary (BioSequence DNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Complement (BioSequence DNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Transcribe (BioSequence DNA) Source #

Transcribe a DNA sequence into an RNA sequence. This does not reverse the sequence!

Instance details

Defined in Biobase.Types.BioSequence

Associated Types

type TranscribeTo (BioSequence DNA) Source #

type TranscribeTo (BioSequence DNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

data XNA Source #

Instances

Instances details
IsString (BioSequence XNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Arbitrary (BioSequence XNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

data AA Source #

Instances

Instances details
IsString (BioSequence AA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Arbitrary (BioSequence AA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

newtype BioSequence (which :: k) Source #

TODO provide extended annotation information on biosequences, too!

Constructors

BioSequence 

Instances

Instances details
ModifyLocation FwdPosition (BioSequence w) Source # 
Instance details

Defined in Biobase.Types.Location

Eq (BioSequence which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Methods

(==) :: BioSequence which -> BioSequence which -> Bool #

(/=) :: BioSequence which -> BioSequence which -> Bool #

(Typeable which, Typeable k) => Data (BioSequence which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BioSequence which -> c (BioSequence which) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (BioSequence which) #

toConstr :: BioSequence which -> Constr #

dataTypeOf :: BioSequence which -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (BioSequence which)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (BioSequence which)) #

gmapT :: (forall b. Data b => b -> b) -> BioSequence which -> BioSequence which #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BioSequence which -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BioSequence which -> r #

gmapQ :: (forall d. Data d => d -> u) -> BioSequence which -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BioSequence which -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BioSequence which -> m (BioSequence which) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BioSequence which -> m (BioSequence which) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BioSequence which -> m (BioSequence which) #

Ord (BioSequence which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Methods

compare :: BioSequence which -> BioSequence which -> Ordering #

(<) :: BioSequence which -> BioSequence which -> Bool #

(<=) :: BioSequence which -> BioSequence which -> Bool #

(>) :: BioSequence which -> BioSequence which -> Bool #

(>=) :: BioSequence which -> BioSequence which -> Bool #

max :: BioSequence which -> BioSequence which -> BioSequence which #

min :: BioSequence which -> BioSequence which -> BioSequence which #

Read (BioSequence which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Show (BioSequence which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Methods

showsPrec :: Int -> BioSequence which -> ShowS #

show :: BioSequence which -> String #

showList :: [BioSequence which] -> ShowS #

IsString (BioSequence Void) Source # 
Instance details

Defined in Biobase.Types.BioSequence

IsString (BioSequence AA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

IsString (BioSequence XNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

IsString (BioSequence DNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

IsString (BioSequence RNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Generic (BioSequence which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Associated Types

type Rep (BioSequence which) :: Type -> Type #

Methods

from :: BioSequence which -> Rep (BioSequence which) x #

to :: Rep (BioSequence which) x -> BioSequence which #

Semigroup (BioSequence which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Methods

(<>) :: BioSequence which -> BioSequence which -> BioSequence which #

sconcat :: NonEmpty (BioSequence which) -> BioSequence which #

stimes :: Integral b => b -> BioSequence which -> BioSequence which #

Info (BioSequence w) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Methods

info :: BioSequence w -> String #

Arbitrary (BioSequence AA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Arbitrary (BioSequence XNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Arbitrary (BioSequence DNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Arbitrary (BioSequence RNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Hashable (BioSequence which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Methods

hashWithSalt :: Int -> BioSequence which -> Int #

hash :: BioSequence which -> Int #

NFData (BioSequence w) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Methods

rnf :: BioSequence w -> () #

Ixed (BioSequence w) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Wrapped (BioSequence which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Associated Types

type Unwrapped (BioSequence which) #

Methods

_Wrapped' :: Iso' (BioSequence which) (Unwrapped (BioSequence which)) #

Reversing (BioSequence w) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Complement (BioSequence DNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Complement (BioSequence RNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

Transcribe (BioSequence DNA) Source #

Transcribe a DNA sequence into an RNA sequence. This does not reverse the sequence!

Instance details

Defined in Biobase.Types.BioSequence

Associated Types

type TranscribeTo (BioSequence DNA) Source #

Transcribe (BioSequence RNA) Source #

Transcribe a RNA sequence into an DNA sequence. This does not reverse the sequence!

Instance details

Defined in Biobase.Types.BioSequence

Associated Types

type TranscribeTo (BioSequence RNA) Source #

BioSequence which1 ~ t => Rewrapped (BioSequence which2) t Source # 
Instance details

Defined in Biobase.Types.BioSequence

Info (BioSequence w) => Info (Location i FwdPosition (BioSequence w)) Source # 
Instance details

Defined in Biobase.Types.Location

Reversing (Location i FwdPosition (BioSequence w)) Source # 
Instance details

Defined in Biobase.Types.Location

Reversing (Location i FwdPosition (BioSequence w)) => Reversing (PIS i FwdPosition (BioSequence w)) Source # 
Instance details

Defined in Biobase.Types.Location

Complement (BioSequence w) => Complement (Location i FwdPosition (BioSequence w)) Source # 
Instance details

Defined in Biobase.Types.Location

Complement (BioSequence w) => Complement (PIS i FwdPosition (BioSequence w)) Source # 
Instance details

Defined in Biobase.Types.Location

type Rep (BioSequence which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

type Rep (BioSequence which) = D1 ('MetaData "BioSequence" "Biobase.Types.BioSequence" "BiobaseTypes-0.2.1.0-KNWEaQoA0aY419BnftjfF1" 'True) (C1 ('MetaCons "BioSequence" 'PrefixI 'True) (S1 ('MetaSel ('Just "_bioSequence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
type Index (BioSequence w) Source # 
Instance details

Defined in Biobase.Types.BioSequence

type Index (BioSequence w) = Int
type IxValue (BioSequence w) Source # 
Instance details

Defined in Biobase.Types.BioSequence

type Unwrapped (BioSequence which) Source # 
Instance details

Defined in Biobase.Types.BioSequence

type TranscribeTo (BioSequence DNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

type TranscribeTo (BioSequence RNA) Source # 
Instance details

Defined in Biobase.Types.BioSequence

_BioSequence :: forall k (which :: k) k (which :: k). Iso (BioSequence (which :: k)) (BioSequence (which :: k)) ByteString ByteString Source #

bioSequence :: forall k (which :: k) k (which :: k). Iso (BioSequence (which :: k)) (BioSequence (which :: k)) ByteString ByteString Source #

RNA

mkRNAseq :: ByteString -> BioSequence RNA Source #

TODO write that converts explicitly

shrinkBioSequence :: forall k1 k2 (which1 :: k1) (which2 :: k2). BioSequence which1 -> [BioSequence which2] Source #

DNA

XNA

Amino acid sequences

DNA/RNA

rna2dna :: Char -> Char Source #

Simple case translation from U to T. with upper and lower-case awareness.

rnaComplement :: Char -> Char Source #

Single character RNA complement.

dna2rna :: Char -> Char Source #

Simple case translation from T to U with upper- and lower-case awareness.

dnaComplement :: Char -> Char Source #

Single character DNA complement.

class Transcribe f where Source #

Transcribes a DNA sequence into an RNA sequence. Note that transcribe is actually very generic. We just define its semantics to be that of biomolecular transcription.

transcribe makes the assumption that, given DNA -> RNA, we transcribe the coding strand. http://hyperphysics.phy-astr.gsu.edu/hbase/Organic/transcription.html

@ DNAseq ACGT ^. transcribe == RNAseq ACGU RNAseq ACGU ^. transcribe == DNAseq ACGT RNAseq ACGU ^. from transcribe :: DNAseq == DNAseq ACGT @

Associated Types

type TranscribeTo f :: * Source #

Instances

Instances details
Transcribe (BioSequence DNA) Source #

Transcribe a DNA sequence into an RNA sequence. This does not reverse the sequence!

Instance details

Defined in Biobase.Types.BioSequence

Associated Types

type TranscribeTo (BioSequence DNA) Source #

Transcribe (BioSequence RNA) Source #

Transcribe a RNA sequence into an DNA sequence. This does not reverse the sequence!

Instance details

Defined in Biobase.Types.BioSequence

Associated Types

type TranscribeTo (BioSequence RNA) Source #