[Bioperl-l] possible bug printing GenBank feature qualfiers
Scott Markel
smarkel at scitegic.com
Fri Mar 31 17:31:05 UTC 2006
Chris,
Looks like I made my test case too simple. In our application,
which calls BioPerl, I'm creating the feature with the zero-
valued qualifier. It's not being read in from a file, so
my only issue is with writing GenBank files. The real feature
is one for a primer binding site. The qualifier contains the
number of mismatches. The one line change of
$value = $value->{"value"}
definitely fixes our problem and causes no regression
failures in our application.
Scott
Chris Fields wrote:
> I tried this on WinXP (I'm using bioperl-live) and got a warning:
>
> -------------------- WARNING ---------------------
> MSG: Unexpected error in feature table for Skipping feature, attempting to
> recover
> ---------------------------------------------------
>
> Running using debugging shows that no feature key was found in
> _read_FTHelper_GenBank. So I'm getting an error, but on input not output.
> In fact, turning on -verbose in the SeqIO input object gives the below extra
> output, whereas turning -verbose on only in the output object just gives the
> warning above.
>
> ====================================
> C:\Perl\Scripts\gb_test>test.pl
> no feature key!
>
> -------------------- WARNING ---------------------
> MSG: Unexpected error in feature table for Skipping feature, attempting to
> recover
> STACK Bio::SeqIO::genbank::next_seq
> C:\Perl\src\bioperl\core/Bio\SeqIO\genbank.pm:583
> STACK toplevel C:\Perl\Scripts\gb_test\test.pl:18
> sequence length is 10
> ====================================
>
> The sequence came back w/o any features in the feature table, which is what
> I would expect from this error:
> ====================================
> LOCUS MY_LOCUS 10 aa linear linear
> DEFINITION my description.
> ACCESSION 12345
> KEYWORDS .
> FEATURES Location/Qualifiers
> ORIGIN
> 1 atggagaact
> //
> ====================================
>
> Adding the extra line before the s/// didn't help any (warning still pops
> up, no change in output). Anybody out there with any ideas?
>
> Christopher Fields
> Postdoctoral Researcher - Switzer Lab
> Dept. of Biochemistry
> University of Illinois Urbana-Champaign
>
>
>
>>-----Original Message-----
>>From: bioperl-l-bounces at lists.open-bio.org [mailto:bioperl-l-
>>bounces at lists.open-bio.org] On Behalf Of Scott Markel
>>Sent: Thursday, March 30, 2006 7:18 PM
>>To: bioperl-l at lists.open-bio.org
>>Subject: [Bioperl-l] possible bug printing GenBank feature qualfiers
>>
>>In our upgrade from BioPerl 1.4 to 1.5.1 we tripped over the
>>following.
>>
>>Annotation tags used by Bio::SeqIO::FTHelper were strings and
>>are now Bio::Annotation::SimpleValue. In the _print_GenBank_FTHelper
>>subroutine of Bio::SeqIO::genbank the following code still
>>assumes that tags are strings.
>>
>> foreach my $tag ( keys %{$fth->field} ) {
>> foreach my $value ( @{$fth->field->{$tag}} ) {
>> $value =~ s/\"/\"\"/g;
>>
>>If the tag value was a zero, an empty string is written.
>>
>>We think that
>>
>> $value = $value->{"value"};
>>
>>should be added before the s/// call.
>>
>>Here's our test case. Note that the qualifier value for "foo"
>>is changed to an empty string.
>>
>>Input file
>>
>>====================================
>>LOCUS MY_LOCUS 10 aa linear UNK
>>DEFINITION my description.
>>ACCESSION 12345
>>FEATURES Location/Qualifiers
>> misc_feature 1..10
>> /foo="0"
>>ORIGIN
>> 1 atggagaact
>>//
>>====================================
>>
>>Perl code
>>====================================
>>use strict;
>>use warnings;
>>
>>use Bio::SeqIO;
>>
>>my $inputFilename = "input.gbff";
>>my $outputFilename = "output.gbff";
>>
>>my $in = Bio::SeqIO->new(-file => $inputFilename,
>> -format => "genbank");
>>my $out = Bio::SeqIO->new(-file => ">$outputFilename",
>> -format => "genbank");
>>
>>my $sequence = $in->next_seq();
>>$out->write_seq($sequence);
>>====================================
>>
>>Output file
>>====================================
>>LOCUS MY_LOCUS 10 aa linear linear
>>DEFINITION my description.
>>ACCESSION 12345
>>KEYWORDS .
>>FEATURES Location/Qualifiers
>> misc_feature 1..10
>> /foo=""
>>ORIGIN
>> 1 atggagaact
>>//
>>====================================
>>
>>I'll add this to bugzilla, but first I want to make sure
>>I'm not missing something obvious.
>>
>>Scott
--
Scott Markel, Ph.D.
Principal Bioinformatics Architect email: smarkel at scitegic.com
SciTegic Inc. mobile: +1 858 205 3653
9665 Chesapeake Drive, Suite 401 voice: +1 858 279 8800, ext. 253
San Diego, CA 92123 fax: +1 858 279 8804
USA web: http://www.scitegic.com
More information about the Bioperl-l
mailing list