biocore-0.3.1: A bioinformatics library

Safe HaskellNone
LanguageHaskell98

Bio.Core.Sequence

Contents

Description

This module defines common data structures for biosequences, i.e. data that represents nucleotide or protein sequences.

Basically, anything resembling or wrapping a sequence should implement the BioSeq class (and BioSeqQual if quality information is available).

The data types are mostly wrappers from lazy bytestrings from Lazy and Char8, but most users of this module should not need to access the underlying data types directly.

Synopsis

Data definitions

newtype Qual #

A quality value is in the range 0..255.

Constructors

Qual 

Fields

Instances

Enum Qual # 

Methods

succ :: Qual -> Qual #

pred :: Qual -> Qual #

toEnum :: Int -> Qual #

fromEnum :: Qual -> Int #

enumFrom :: Qual -> [Qual] #

enumFromThen :: Qual -> Qual -> [Qual] #

enumFromTo :: Qual -> Qual -> [Qual] #

enumFromThenTo :: Qual -> Qual -> Qual -> [Qual] #

Eq Qual # 

Methods

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

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

Integral Qual # 

Methods

quot :: Qual -> Qual -> Qual #

rem :: Qual -> Qual -> Qual #

div :: Qual -> Qual -> Qual #

mod :: Qual -> Qual -> Qual #

quotRem :: Qual -> Qual -> (Qual, Qual) #

divMod :: Qual -> Qual -> (Qual, Qual) #

toInteger :: Qual -> Integer #

Num Qual # 

Methods

(+) :: Qual -> Qual -> Qual #

(-) :: Qual -> Qual -> Qual #

(*) :: Qual -> Qual -> Qual #

negate :: Qual -> Qual #

abs :: Qual -> Qual #

signum :: Qual -> Qual #

fromInteger :: Integer -> Qual #

Ord Qual # 

Methods

compare :: Qual -> Qual -> Ordering #

(<) :: Qual -> Qual -> Bool #

(<=) :: Qual -> Qual -> Bool #

(>) :: Qual -> Qual -> Bool #

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

max :: Qual -> Qual -> Qual #

min :: Qual -> Qual -> Qual #

Real Qual # 

Methods

toRational :: Qual -> Rational #

Show Qual # 

Methods

showsPrec :: Int -> Qual -> ShowS #

show :: Qual -> String #

showList :: [Qual] -> ShowS #

Class definitions

class BioSeq s where #

The BioSeq class models sequence data, and any data object that represents a biological sequence should implement it.

Minimal complete definition

seqdata, seqlength

Methods

seqid :: s -> SeqLabel #

seqheader :: s -> SeqLabel #

seqdata :: s -> SeqData #

seqlength :: s -> Offset #

seqlabel :: s -> SeqLabel #

Deprecated: Warning: seqlabel is deprecated, use seqid or seqheader instead.

class BioSeq sq => BioSeqQual sq where #

The BioSeqQual class extends BioSeq with quality data. Any correspondig data object should be an instance, this will allow Fasta formatted quality data toFastaQual, as well as the combined FastQ format (via toFastQ).

Minimal complete definition

seqqual

Methods

seqqual :: sq -> QualData #

Helper functions

toFasta :: BioSeq s => s -> ByteString #

Any BioSeq can be formatted as Fasta, 60-char lines.

toFastaQual :: BioSeqQual s => s -> ByteString #

Output Fasta-formatted quality data (.qual files), where quality values are output as whitespace-separated integers.

toFastQ :: BioSeqQual s => s -> ByteString #

Output FastQ-formatted data. For simplicity, only the Sanger quality format is supported, and only four lines per sequence (i.e. no line breaks in sequence or quality data).