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 #

Arguments

:: s 
-> SeqLabel

Sequence identifier (typically first word of the header)

seqheader #

Arguments

:: s 
-> SeqLabel

Sequence header (may contain whitespace), by convention the first word matches the seqid

seqdata #

Arguments

:: s 
-> SeqData

Sequence data

seqlength #

Arguments

:: s 
-> Offset

Sequence length

seqlabel #

Arguments

:: s 
-> SeqLabel

Deprecated. Instead, use seqid if you want the unique ID, or seqheader if you want the FASTA style header with ID and comments.

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).