BiobaseTypes-0.1.3.0: Collection of types for bioinformatics

Safe HaskellNone
LanguageHaskell2010

Biobase.Types.Sequence

Description

Wrappers around biosequences.

Synopsis

Documentation

newtype SequenceID Source #

A sequence identifier. Just a newtype wrapped text field. Because we can never know what people are up to, this is utf8-encoded.

TODO Provide Iso' for Text, too?

Constructors

SequenceID 

Instances

Eq SequenceID Source # 
Data SequenceID Source # 

Methods

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

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

toConstr :: SequenceID -> Constr #

dataTypeOf :: SequenceID -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord SequenceID Source # 
Read SequenceID Source # 
Show SequenceID Source # 
IsString SequenceID Source # 
Generic SequenceID Source # 

Associated Types

type Rep SequenceID :: * -> * #

NFData SequenceID Source # 

Methods

rnf :: SequenceID -> () #

type Rep SequenceID Source # 
type Rep SequenceID = D1 (MetaData "SequenceID" "Biobase.Types.Sequence" "BiobaseTypes-0.1.3.0-7EMqsaldKh99G4UiC4Kzi1" True) (C1 (MetaCons "SequenceID" PrefixI True) (S1 (MetaSel (Just Symbol "_sequenceID") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ByteString)))

sequenceIDstring :: Iso' SequenceID String Source #

Convert to a string in a unicode-aware manner.

newtype RNAseq Source #

A short RNA sequence.

It is an instance of Ixed to allow RNAseq (BS.pack "cag") ^? ix 2 == Just g.

Constructors

RNAseq 

Fields

Instances

Eq RNAseq Source # 

Methods

(==) :: RNAseq -> RNAseq -> Bool #

(/=) :: RNAseq -> RNAseq -> Bool #

Data RNAseq Source # 

Methods

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

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

toConstr :: RNAseq -> Constr #

dataTypeOf :: RNAseq -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord RNAseq Source # 
Read RNAseq Source # 
Show RNAseq Source # 
IsString RNAseq Source # 

Methods

fromString :: String -> RNAseq #

Generic RNAseq Source # 

Associated Types

type Rep RNAseq :: * -> * #

Methods

from :: RNAseq -> Rep RNAseq x #

to :: Rep RNAseq x -> RNAseq #

NFData RNAseq Source # 

Methods

rnf :: RNAseq -> () #

Ixed RNAseq Source # 
Reversing RNAseq Source # 

Methods

reversing :: RNAseq -> RNAseq #

Complement RNAseq Source # 
Transcribe RNAseq Source #

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

type Rep RNAseq Source # 
type Rep RNAseq = D1 (MetaData "RNAseq" "Biobase.Types.Sequence" "BiobaseTypes-0.1.3.0-7EMqsaldKh99G4UiC4Kzi1" True) (C1 (MetaCons "RNAseq" PrefixI True) (S1 (MetaSel (Just Symbol "_rnaseq") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ByteString)))
type Index RNAseq Source # 
type IxValue RNAseq Source # 
type TranscribeTo RNAseq Source # 

newtype DNAseq Source #

A short DNA sequence.

Note everything really long should be handled by specialized libraries with streaming capabilities.

Constructors

DNAseq 

Fields

Instances

Eq DNAseq Source # 

Methods

(==) :: DNAseq -> DNAseq -> Bool #

(/=) :: DNAseq -> DNAseq -> Bool #

Data DNAseq Source # 

Methods

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

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

toConstr :: DNAseq -> Constr #

dataTypeOf :: DNAseq -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord DNAseq Source # 
Read DNAseq Source # 
Show DNAseq Source # 
IsString DNAseq Source # 

Methods

fromString :: String -> DNAseq #

Generic DNAseq Source # 

Associated Types

type Rep DNAseq :: * -> * #

Methods

from :: DNAseq -> Rep DNAseq x #

to :: Rep DNAseq x -> DNAseq #

NFData DNAseq Source # 

Methods

rnf :: DNAseq -> () #

Ixed DNAseq Source # 
Reversing DNAseq Source # 

Methods

reversing :: DNAseq -> DNAseq #

Complement DNAseq Source # 
Transcribe DNAseq Source #

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

type Rep DNAseq Source # 
type Rep DNAseq = D1 (MetaData "DNAseq" "Biobase.Types.Sequence" "BiobaseTypes-0.1.3.0-7EMqsaldKh99G4UiC4Kzi1" True) (C1 (MetaCons "DNAseq" PrefixI True) (S1 (MetaSel (Just Symbol "_dnaseq") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ByteString)))
type Index DNAseq Source # 
type IxValue DNAseq Source # 
type TranscribeTo DNAseq Source # 

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 @

Minimal complete definition

transcribe

Associated Types

type TranscribeTo f :: * Source #

Instances

Transcribe RNAseq Source #

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

Transcribe DNAseq Source #

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

class Complement f where Source #

The complement of a biosequence.

Minimal complete definition

complement

Methods

complement :: Iso' f f Source #