This module implements a "flattened" data structure for Blast hits, as opposed to the hierarchical structure in Bio.Alignment.BlastData.
The flat data type is useful in many cases where it is more natural to see the result as a set of rows (e.g. for insertaion in a database).
It would probably be more (memory-) efficient to go the other way (i.e. from flat to hierarchical), as passing the current, partially built BlastFlat object down the stream of results and stamping out a stream of completed ones. (See Bio.Alignment.BlastXML.breaks for this week's most cumbersome use of parallelism to avoid the memory issue.)
- data BlastFlat = BlastFlat {}
- readXML :: FilePath -> IO [BlastFlat]
- flatten :: [BlastRecord] -> [BlastFlat]
- data BlastRecord
- blastprogram :: BlastResult -> ByteString
- blastversion :: BlastResult -> ByteString
- blastdate :: BlastResult -> ByteString
- blastreferences :: BlastResult -> ByteString
- database :: BlastResult -> ByteString
- dbsequences :: BlastResult -> Integer
- dbchars :: BlastResult -> Integer
- results :: BlastResult -> [BlastRecord]
- data Aux
- data Strand
The BlastFlat data type
The BlastFlat data structure contains information about a single match
Read XML format
Convert from hierarchical to flat structure
flatten :: [BlastRecord] -> [BlastFlat]Source
Convert BlastRecords into BlastFlats (representing a depth-first traversal of the BlastRecord structure.)
Re-exports from the hierarchical module (Bio.Alignment.BlastData)
dbchars :: BlastResult -> IntegerSource
results :: BlastResult -> [BlastRecord]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.