[Biopython-dev] Proposed addition to Standalone BLAST
Jeffrey Chang
jchang at SMI.Stanford.EDU
Wed Nov 8 20:40:43 EST 2000
Thanks for the updates.
One more thing: Passing the results around as a string would be
essentially the same as doing deepcopies of a StringHandle. It would save
the overhead of doing a deep copy of an object, and then reading the
results. The copy module is nice for arbitrary objects that we don't know
about a-priori, but when we only deal with StringHandle's, it's OK to just
create one directly when we need it.
+ def parse(self, handle):
+ """Parse a handle, attempting to diagnose errors.
+ """
+ if isinstance(handle, File.StringHandle):
+ shandle = handle
+ else:
+ shandle = File.StringHandle(handle.read())
would be:
results = handle.read()
+ try:
+ return self._b_parser.parse(shandle)
return self._b_parser.parse(File.StringHandle(results))
+ except SyntaxError, msg:
+ # if we have a bad_report_file, save the info to it first
+ if self._bad_report_handle:
+ # copy the handle so we can write it
+ error_handle = copy.deepcopy(copy_handle)
+ # send the info to the error handle
+ self._bad_report_handle.write(error_handle.read())
if self._bad_report_handle:
self._bad_report_handle.write(results)
etc
Thanks,
Jeff
More information about the Biopython-dev
mailing list