| bio-0.4.6: A bioinformatics library | Source code | Contents | Index
Bio.Alignment.BlastData
Description
This module implements a hierarchical data structure for BLAST results, there is an alternative flat structure in the Bio.Alignment.BlastFlat module. BLAST is a tool for searching in (biological) sequences for similarity. This library is tested against NCBI-blast version 2.2.14. There exist several independent versions of BLAST, so expect some incompatbilities if you're using a different BLAST version. For parsing BLAST results, the XML format (blastall -m 7) is by far the most robust choice, and is implemented in the Bio.Alignment.BlastXML module. The format is straightforward (and non-recursive). For more information on BLAST, check http://www.ncbi.nlm.nih.gov/Education/BLASTinfo/information3.html
Synopsis
type SeqId = ByteString
data Strand
= Plus
| Minus
data Aux
= Strands !Strand !Strand
| Frame !Strand !Int
data BlastResult = BlastResult {
blastprogram :: !ByteString
blastversion :: !ByteString
blastdate :: !ByteString
blastreferences :: !ByteString
database :: !ByteString
dbsequences :: !Integer
dbchars :: !Integer
results :: [BlastRecord]
}
data BlastRecord = BlastRecord {
query :: !SeqId
qlength :: !Int
hits :: [BlastHit]
}
data BlastHit = BlastHit {
subject :: !SeqId
slength :: !Int
matches :: [BlastMatch]
}
data BlastMatch = BlastMatch {
bits :: !Double
e_val :: !Double
identity :: (Int, Int)
q_from :: !Int
q_to :: !Int
h_from :: !Int
h_to :: !Int
aux :: !Aux
}
Documentation
type SeqId = ByteString | Source
The sequence id, i.e. the first word of the header field.
data Strand | Source
The `Strand` indicates the direction of the match, i.e. the plain sequence or its reverse complement.
Constructors
Plus |
Minus |
Instances
Eq Strand
Read Strand
Show Strand
data Aux | Source
The Aux field in the BLAST output includes match information that depends on the BLAST flavor (blastn, blastx, or blastp). This data structure captures those variations.
Constructors
Strands !Strand !Strand | blastn
Frame !Strand !Int | blastx
Instances
Eq Aux
Show Aux
data BlastResult | Source
A `BlastResult` is the root of the hierarchy.
Constructors
BlastResult |
blastprogram :: !ByteString |
blastversion :: !ByteString |
blastdate :: !ByteString |
blastreferences :: !ByteString |
database :: !ByteString |
dbsequences :: !Integer |
dbchars :: !Integer |
results :: [BlastRecord] |
Instances
Show BlastResult
data BlastRecord | Source
Each query sequence generates a `BlastRecord`
Constructors
BlastRecord |
query :: !SeqId |
qlength :: !Int |
hits :: [BlastHit] |
Instances
Show BlastRecord
data BlastHit | Source
Each match between a query and a target sequence (or subject) is a `BlastHit`.
Constructors
BlastHit |
subject :: !SeqId |
slength :: !Int |
matches :: [BlastMatch] |
Instances
Show BlastHit
data BlastMatch | Source
A `BlastHit` may contain multiple separate matches (typcially when an indel causes a frameshift that blastx is unable to bridge).
Constructors
BlastMatch |
bits :: !Double |
e_val :: !Double |
identity :: (Int, Int) |
q_from :: !Int |
q_to :: !Int |
h_from :: !Int |
h_to :: !Int |
aux :: !Aux |
Instances
Show BlastMatch
Produced by Haddock version 2.4.2