Safe Haskell | None |
---|---|
Language | Haskell2010 |
Wrappers around biosequences.
- newtype SequenceID = SequenceID {}
- sequenceID :: Iso' SequenceID ByteString
- sequenceIDstring :: Iso' SequenceID String
- newtype RNAseq = RNAseq {}
- rnaseq :: Iso' RNAseq ByteString
- mkRNAseq :: ByteString -> RNAseq
- newtype DNAseq = DNAseq {}
- dnaseq :: Iso' DNAseq ByteString
- mkDNAseq :: ByteString -> DNAseq
- rna2dna :: Char -> Char
- rnaComplement :: Char -> Char
- dna2rna :: Char -> Char
- dnaComplement :: Char -> Char
- class Transcribe f where
- type TranscribeTo f :: *
- class Complement f where
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?
sequenceIDstring :: Iso' SequenceID String Source #
Convert to a string in a unicode-aware manner.
A short RNA sequence.
It is an instance of Ixed
to allow RNAseq (BS.pack "cag") ^? ix 2 == Just
.g
Eq RNAseq Source # | |
Data RNAseq Source # | |
Ord RNAseq Source # | |
Read RNAseq Source # | |
Show RNAseq Source # | |
IsString RNAseq Source # | |
Generic RNAseq Source # | |
NFData RNAseq Source # | |
Ixed RNAseq Source # | |
Reversing RNAseq Source # | |
Complement RNAseq Source # | |
Transcribe RNAseq Source # | Transcribe a RNA sequence into an DNA sequence. This does not |
type Rep RNAseq Source # | |
type Index RNAseq Source # | |
type IxValue RNAseq Source # | |
type TranscribeTo RNAseq Source # | |
mkRNAseq :: ByteString -> RNAseq Source #
A short DNA sequence.
Note everything really long should be handled by specialized libraries with streaming capabilities.
Eq DNAseq Source # | |
Data DNAseq Source # | |
Ord DNAseq Source # | |
Read DNAseq Source # | |
Show DNAseq Source # | |
IsString DNAseq Source # | |
Generic DNAseq Source # | |
NFData DNAseq Source # | |
Ixed DNAseq Source # | |
Reversing DNAseq Source # | |
Complement DNAseq Source # | |
Transcribe DNAseq Source # | Transcribe a DNA sequence into an RNA sequence. This does not |
type Rep DNAseq Source # | |
type Index DNAseq Source # | |
type IxValue DNAseq Source # | |
type TranscribeTo DNAseq Source # | |
mkDNAseq :: ByteString -> 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
@
type TranscribeTo f :: * Source #
transcribe :: Iso' f (TranscribeTo f) Source #
Transcribe RNAseq Source # | Transcribe a RNA sequence into an DNA sequence. This does not |
Transcribe DNAseq Source # | Transcribe a DNA sequence into an RNA sequence. This does not |