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

Bio.Alignment.Bowtie

Contents

Data type and basic accessors
Sequence positions of alignments
Parsing Bowtie output
Other utilities

Description

This module provides a data type to represent an alignment produced by the Bowtie short-read alignment tool (see http://bowtie-bio.sourceforge.net/index.shtml).

The simple accessors recapitulate the details of the Bowtie alignment output. The position of the alignment is given by the "0-based offset into the reference sequence where leftmost character of the alignment occurs". Thus, for forward-strand alignments this is the 5' end of the query sequence while for reverse-complement alignments this is the 3' end of the query sequence. Similarly, the query sequence and query quality are shown in reference forward strand orientation, and thus may be reverse complemented.

Synopsis

data Align = Align {

name :: !SeqName
strand :: !Strand
refname :: !SeqName
leftoffset :: !Offset
sequ :: !SeqData
qual :: !QualData
mismatches :: ![Mismatch]

}

data Mismatch = Mismatch {

mmoffset :: !Offset
refbase :: !Char
readbase :: !Char

}

length :: Align -> Offset
nmismatch :: Align -> Int
querySequ :: Align -> SeqData
queryQual :: Align -> QualData
refCLoc :: Align -> ContigLoc
refCSeqLoc :: Align -> ContigSeqLoc
refSeqLoc :: Align -> SeqLoc
refSeqPos :: Align -> SeqPos
mismatchSeqPos :: Align -> Mismatch -> SeqPos
parse :: ByteString -> Either String Align
sameRead :: Align -> Align -> Bool

Data type and basic accessors

data Align | Source

Constructors

Align |

name :: !SeqName | Name of the query sequence
strand :: !Strand | Strand of the alignment on the reference sequence
refname :: !SeqName | Name of the reference sequence
leftoffset :: !Offset | Zero-based offset of the left-most aligned position in the reference
sequ :: !SeqData | Query sequence, in the reference forward strand orientation
qual :: !QualData | Query quality, in the reference forward strand orientation
mismatches :: ![Mismatch] | Mismatches

Instances

Eq Align
Ord Align
Read Align
Show Align

data Mismatch | Source

Representation of a single mismatch in a bowtie alignment
Constructors

Mismatch |

mmoffset :: !Offset | Offset of the mismatch site from the 5' end of the query
refbase :: !Char | Reference nucleotide
readbase :: !Char | Query nucleotide

Instances

Eq Mismatch
Ord Mismatch
Read Mismatch
Show Mismatch

length :: Align -> Offset | Source

Returns the length of the query sequence

nmismatch :: Align -> Int | Source

Returns the number of mismatches in the alignment

querySequ :: Align -> SeqData | Source

Query sequence as given in the query file

queryQual :: Align -> QualData | Source

Query quality as given in the query file
Sequence positions of alignments

refCLoc :: Align -> ContigLoc | Source

As `refCSeqLoc` but without the reference sequence name.

refCSeqLoc :: Align -> ContigSeqLoc | Source

Returns the sequence location covered by the query in the alignment. This will be a sequence location on the reference sequence and may run on the forward or the reverse complement strand.

refSeqLoc :: Align -> SeqLoc | Source

Returns the sequence location covered by the query, as `refCSeqLoc`, as a `SeqLoc` location.

refSeqPos :: Align -> SeqPos | Source

Returns the sequence position of the start of the query sequence alignment. This will include the strand of the alignment and will not be the same as the position computed from `leftoffset` when the alignment is on the reverse complement strand.

mismatchSeqPos :: Align -> Mismatch -> SeqPos | Source

Sequence position of a mismatch on the reference sequence.
Parsing Bowtie output

parse :: ByteString -> Either String Align | Source

Parses a line of Bowtie output to produce a `Align`
Other utilities

sameRead :: Align -> Align -> Bool | Source

Returns true when two alignments were derived from the same sequencing read. As Bowtie writes alignments of query sequences in their order in the query file, all alignments of a given read are grouped together and the lists of all alignments for each read can be gathered with

     groupBy sameRead

Produced by Haddock version 2.4.2