[Bioperl-l] possible bug printing GenBank feature qualfiers

Chris Fields cjfields at uiuc.edu
Thu Mar 30 22:50:40 EST 2006


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
> 
> 
> 
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l



More information about the Bioperl-l mailing list