| bio-0.4: A bioinformatics library | Source code | Contents | Index

Bio.Location.Position

Contents

Sequence positions
Manipulating positions
Extracting sequences
Displaying positions

Description
Data type for a sequence position. Zero-based `Offset` / Int64 indices are used throughout, to facilitate direct use of indexing functions on `SeqData`.
Synopsis

data Pos = Pos {

offset :: !Offset
strand :: !Strand

}

slide :: Pos -> Offset -> Pos
seqNt :: (Error e, MonadError e m) => SeqData -> Pos -> m Char
seqNtPadded :: SeqData -> Pos -> Char
display :: Pos -> String

Sequence positions

data Pos | Source

Position in a sequence
Constructors

Pos |

offset :: !Offset | 0-based index of the position
strand :: !Strand | Strand of the position

Instances

Eq Pos
Ord Pos
Read Pos
Show Pos
Ix Pos
Stranded Pos

Manipulating positions

slide :: Pos -> Offset -> Pos | Source

Returns a position resulting from sliding the original position along the sequence by a specified offset. A positive offset will move the position away from the 5' end of the forward stand of the sequence regardless of the strand of the position itself. Thus,

     slide (revCompl pos) off == revCompl (slide pos off)

Extracting sequences

seqNt :: (Error e, MonadError e m) => SeqData -> Pos -> m Char | Source

Extract the nucleotide at a specific sequence position. If the position lies outside the bounds of the sequence, an error results.

seqNtPadded :: SeqData -> Pos -> Char | Source

As `seqNt`, extract the nucleotide at a specific sequence position, but return `N` when the position lies outside the bounds of the sequence.

     seqNtPadded sequ pos == (either 'N' id . seqNt sequ) pos

Displaying positions

display :: Pos -> String | Source

Display a human-friendly, zero-based representation of a sequence position.
Produced by Haddock version 2.4.2