[Bioperl-l] Long /labels are wrapped, but can't be read

Chris Fields cjfields at illinois.edu
Wed Oct 7 14:09:11 UTC 2009


On Sep 30, 2009, at 4:50 AM, Adam Sjøgren wrote:

> On Tue, 29 Sep 2009 22:54:04 -0500, Chris wrote:
>
>> Not sure, but this could be a case of 'both'. Labels that are quoted
>> and aren't are currently distinguished via a global hash lookup
>> (%FTQUAL_NO_QUOTE) due to the way the parser works; there is some
>> logic behind this, just can't quite recall at the moment why it is
>> this way.
>
> Yes, I saw that there is a number of qualifiers that aren't quoted
> automatically.
>
> The very easy "fix" for me would be to simply remove "label" from
> %FTQUAL_NO_QUOTE, but I'm not really sure what the reason for not
> quoting all values is, so I was hesitant to just propose that.

It's basically for more control over format IIRC.  It appears to only  
play a role in output (via write_seq).

>> You could set a hash key for the label in cases where it isn't  
>> quoted,
>> that should work. You can also test out the Bio::SeqIO::embldriver
>> version (-format => 'embldriver').
>
> Ah, embldriver reads the wrapped qualifier when it isn't quoted  
> without
> problem. Nice! I hadn't noticed embldriver.
>
> I wonder which one is correct in this case?
>
> And should I switch to using embldriver to read, or does it make sense
> to try and concoct a patch that changes embl?

Bio::SeqIO::embldriver is an attempt to coalesce the parsers into a  
generic driver/parser-handler framework; the various parsers (the  
drivers) would parse data into simple chunks, basically hash refs of  
data.  These would be passed on to the handler object, which has  
methods designed to handle the chunks passed in.  Basically it's like  
a souped-up XML parser, but the data is grouped together in a related,  
meaningful way (like an entire seqfeature, for instance).

The main job of the driver is simply to parse the incoming data stream  
into chunks of naturally related data (think XML, but larger chunks of  
data, like an entire seqfeature) and pass it on to the handler object.

For the moment they're still experimental, but I put them out with the  
release so they can be tested.  The current problem with them at the  
moment is there is no specification on how a data chunk is defined and  
labeled, but I am thinking of using something like JSON for that.

>  Thanks for the feedback!
>
>     Adam
>
> -- 
>                                                          Adam Sjøgren
>                                                    adsj at novozymes.com

np.

chris





More information about the Bioperl-l mailing list