blastxml-0.3.2: Library for reading Blast XML output

Safe HaskellNone

Bio.BlastData

Description

This module implements a hierarchical data structure for BLAST results.

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

Documentation

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 

Fields

blastprogram :: !ByteString
 
blastversion :: !ByteString
 
blastdate :: !ByteString
 
blastreferences :: !ByteString
 
database :: !ByteString
 
dbsequences :: !Integer
 
dbchars :: !Integer
 
results :: [BlastRecord]
 

Instances

data BlastRecord Source

Each query sequence generates a BlastRecord

Constructors

BlastRecord 

Fields

query :: !SeqLabel
 
qlength :: !Int
 
hits :: [BlastHit]
 

Instances

data BlastHit Source

Each match between a query and a target sequence (or subject) is a BlastHit.

Constructors

BlastHit 

Fields

hitId :: !ByteString
 
subject :: !SeqLabel
 
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 

Fields

bits :: !Double
 
e_val :: !Double
 
identity :: (Int, Int)
 
q_from :: !Int
 
q_to :: !Int
 
h_from :: !Int
 
h_to :: !Int
 
qseq :: !ByteString
 
hseq :: !ByteString
 
aux :: !Aux
 

Instances

Show BlastMatch