[Biopython-dev] Changes in WWW BLAST format

Jeffrey Chang jchang at SMI.Stanford.EDU
Thu Oct 19 19:44:01 EDT 2000


Thanks for the update!  I've incorporated your suggested changes.  Please
let me know if this works out.

Jeff



On 13 Oct 2000, Brad Chapman wrote:

> Jeff:
> >  Could you send the output?  I'd like to add it to the suite of blast
> tests.
> 
> Surely, it's attached. There is also an example in Doc/examples
> (www_blast.py) which will give it you as well (I found the format change
> when writing that example).
> 
> [patch with no respect for back-compatibility]
> Jeff:
> >  I don't know for sure, but wouldn't this break compatibility with
> >  older formats?
> 
> *slaps self in forehead* Doh! Respect for old formats. Sorry, I guess I
> was just too excited that I actually figured out how to fix the blast
> parser :-).
> 
> Here's a better patch which supports the new change, and passes all of
> the tests with the old formats. Let me know if there are any better ways
> to do things. Thanks for catching my mistake. Now I remember why you are
> the master of blast (not that I really needed any reminding :-).
> 
> Brad
> 
> 
> *** NCBIWWW.py.orig	Sat Aug 12 16:23:24 2000
> --- NCBIWWW.py	Fri Oct 13 11:47:12 2000
> ***************
> *** 149,154 ****
> --- 149,155 ----
> 	  attempt_read_and_call(uhandle, consumer.noevent, start='RID')
>   
> 	  # Read the Query lines and the following blank line.
> +	  read_and_call_until(uhandle, consumer.noevent,
> contains='Query=')
> 	  read_and_call(uhandle, consumer.query_info, contains='Query=')
> 	  read_and_call_until(uhandle, consumer.query_info, blank=1)
> 	  read_and_call_while(uhandle, consumer.noevent, blank=1)
> ***************
> *** 203,212 ****
> 			start='Sequences producing')
> 	  read_and_call(uhandle, consumer.noevent, blank=1)
>   
> !	  # Read the descriptions and the following blank line.
> !	  read_and_call_until(uhandle, consumer.description, blank=1)
> !	  read_and_call_while(uhandle, consumer.noevent, blank=1)
> ! 
> 	  consumer.end_descriptions()
>   
>       def _scan_alignments(self, uhandle, consumer):
> --- 204,220 ----
> 			start='Sequences producing')
> 	  read_and_call(uhandle, consumer.noevent, blank=1)
>   
> !	  # Read the descriptions
> !	  read_and_call_while(uhandle, consumer.description,
> !			      blank = 0, contains = '<a')
> ! 
> !	  # two choices here, either blanks lines or a </PRE>
> !	  if attempt_read_and_call(uhandle, consumer.noevent, blank = 1):
> !	      read_and_call_while(uhandle, consumer.noevent, blank = 1)
> !	  # otherwise we've got a </PRE> (introduced in 2.1.1)
> !	  else:
> !	      read_and_call_while(uhandle, consumer.noevent, contains =
> '</PRE>')
> !	  
> 	  consumer.end_descriptions()
>   
>       def _scan_alignments(self, uhandle, consumer):




More information about the Biopython-dev mailing list