Attempt to catch and diagnose BLAST errors while parsing.
This utilizes the BlastParser module but adds an additional layer
of complexity on top of it by attempting to diagnose SyntaxError's
that may actually indicate problems during BLAST parsing.
Current BLAST problems this detects are:
o LowQualityBlastError - When BLASTing really low quality sequences
(ie. some GenBank entries which are just short streches of a single
nucleotide), BLAST will report an error with the sequence and be
unable to search with this. This will lead to a badly formatted
BLAST report that the parsers choke on. The parser will convert the
SyntaxError to a LowQualityBlastError and attempt to provide useful
information.
Methods
|
|
__init__
_diagnose_error
parse
|
|
__init__
|
__init__ ( self, bad_report_handle=None )
Initialize a parser that tries to catch BlastErrors.
Arguments:
o bad_report_handle - An optional argument specifying a handle
where bad reports should be sent. This would allow you to save
all of the bad reports to a file, for instance. If no handle
is specified, the bad reports will not be saved.
|
|
_diagnose_error
|
_diagnose_error (
self,
handle,
data_record,
)
Attempt to diagnose an error in the passed handle.
Arguments:
o handle - The handle potentially containing the error
o data_record - The data record partially created by the consumer.
Exceptions
|
|
LowQualityBlastError( "Blast failure occured on query: ", data_record.query )
|
|
|
parse
|
parse ( self, handle )
Parse a handle, attempting to diagnose errors.
|
|