elynx-seq-0.0.1: Handle molecular sequences

Copyright(c) Dominik Schrempf 2019
LicenseGPL-3
Maintainerdominik.schrempf@gmail.com
Stabilityunstable
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

ELynx.Data.Character.Codon

Description

Synopsis

Documentation

newtype Codon a Source #

Codons are triplets of characters.

Constructors

Codon (a, a, a) 
Instances
Eq a => Eq (Codon a) Source # 
Instance details

Defined in ELynx.Data.Character.Codon

Methods

(==) :: Codon a -> Codon a -> Bool #

(/=) :: Codon a -> Codon a -> Bool #

Ord a => Ord (Codon a) Source # 
Instance details

Defined in ELynx.Data.Character.Codon

Methods

compare :: Codon a -> Codon a -> Ordering #

(<) :: Codon a -> Codon a -> Bool #

(<=) :: Codon a -> Codon a -> Bool #

(>) :: Codon a -> Codon a -> Bool #

(>=) :: Codon a -> Codon a -> Bool #

max :: Codon a -> Codon a -> Codon a #

min :: Codon a -> Codon a -> Codon a #

Read a => Read (Codon a) Source # 
Instance details

Defined in ELynx.Data.Character.Codon

Show a => Show (Codon a) Source # 
Instance details

Defined in ELynx.Data.Character.Codon

Methods

showsPrec :: Int -> Codon a -> ShowS #

show :: Codon a -> String #

showList :: [Codon a] -> ShowS #

unsafeFromList :: [a] -> Codon a Source #

Unsafe conversion from list with three elements.

unsafeFromVec :: Vector v a => v a -> Codon a Source #

Unsafe conversion from vector with three elements.

data UniversalCode Source #

Universal codes.

Instances
Bounded UniversalCode Source # 
Instance details

Defined in ELynx.Data.Character.Codon

Enum UniversalCode Source # 
Instance details

Defined in ELynx.Data.Character.Codon

Eq UniversalCode Source # 
Instance details

Defined in ELynx.Data.Character.Codon

Ord UniversalCode Source # 
Instance details

Defined in ELynx.Data.Character.Codon

Read UniversalCode Source # 
Instance details

Defined in ELynx.Data.Character.Codon

Show UniversalCode Source # 
Instance details

Defined in ELynx.Data.Character.Codon

translate :: UniversalCode -> Codon Nucleotide -> AminoAcidS Source #

Translate a codon to amino acids including translation stops.

translateX :: UniversalCode -> Codon NucleotideX -> AminoAcidS Source #

Translate a codon to amino acids including translation stops. Translate codons including gaps to amino acid gaps. XXX: Be careful, single or two character gaps could have led to a reading frame shift and hence, the translated sequence may be bogus.

translateI :: UniversalCode -> Codon NucleotideI -> AminoAcidI Source #

Translate a codon to amino acids including translation stops. Translate gap triplets to amino acid gaps, and triplets including unknowns to amino acid unknowns. XXX: Be careful, also translates other IUPAC characters at the moment (to amino acid Xs)! translateI :: UniversalCode -> Codon NI.NucleotideI -> AI.AminoAcidI translateI _ (Codon (NI.N, _, _ )) = AI.X translateI _ (Codon (_ , NI.N, _ )) = AI.X translateI _ (Codon (_, _, NI.N)) = AI.X translateI code codon = C.convert . translateX code . convert $ codon