bio-0.5.3: A bioinformatics library

Safe HaskellSafe-Inferred

Bio.Location.Position

Contents

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

Sequence positions

data Pos Source

Position in a sequence

Constructors

Pos 

Fields

offset :: !Offset

0-based index of the position

strand :: !Strand

Strand of the position

Manipulating positions

slide :: Pos -> Offset -> PosSource

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 CharSource

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

seqNtPadded :: SeqData -> Pos -> CharSource

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 -> StringSource

Display a human-friendly, zero-based representation of a sequence position.