[BioSQL-l] adding non-positional features via bioperl to a biosql database

Hilmar Lapp hlapp at gmx.net
Tue Feb 10 15:41:02 EST 2009


Hi James,

BioPerl (and BioSQL) use 1-based coordinates for features, so  
coordinate 0 risks being treated as undefined, but just not  
consistently so.

If what you want is non-positional features, have you tried not  
specifying the positional attributes at all?

Furthermore, in BioPerl and BioSQL lingo a feature really is an  
annotation that has a position. So, whereas that's not strictly  
enforced I think (and may in fact be different in Biojava), did you  
conclude that natively non-positional sequence annotation using one of  
the Bio::Annotation classes (and adding it through $seq->annotation- 
 >add_Annotation()) wouldn't work for your purposes?

	-hilmar

On Feb 10, 2009, at 2:14 PM, James Procter wrote:

>
> Hi. Apologies if this is not the right place to post Bioperl/BioSQL
> issues, feel free to tell me where to go, after you've read the  
> following:
>
> I have been using a sequence pipeline to add in non-positional  
> features
> to sequences whilst uploading to a bioSQL database. A fragment of the
> code I tried to use is below:
>
> sub process_seq {
>  my ($self, $seq) = @_;
>  my ($dbid, $id) = extract_dbid($seq);
>  my $tags = {'label'=>"".$dbid."_$id",
>                'notes'=>["".$dbid.":$id"]};
>  my $feat = Bio::SeqFeature::Generic->new(
>                                           -start=>'0',-end=>'0',
>                                                -primary_tag =>  
> 'dbref',
>                                                 -tag=>$tags,
>                                                 -strand => 0,
>                                                 -source_tag => 'ATB');
>  $seq->add_SeqFeature($feat);
>  $seq->version('1')
>  $seq->alphabet('protein')
>  return $seq;
> }
>
> When I use this, the sequences are uploaded fine, and they have the
> correct non-positional features when I look at the tables, and when I
> access the database via Biojava. However, when I try to dump any of  
> the
> features with Bioperl I get the following warning :
>
> --------------------- WARNING ---------------------
> MSG: Calling end without a defined start position
> ---------------------------------------------------
>
> And if I try to add any more features to the sequence and then store  
> the
> updated object I get the following exception in addition to the above
> warning.
>
> ------------- EXCEPTION: Bio::Root::Exception -------------
> MSG: number of slots must equal the number of values
> STACK: Error::throw
> STACK: Bio::Root::Root::throw
> /gpfs/gjb_lab/ws-dev1/servers/lib/perl/lib/perl5/Bio/Root/Root.pm:357
> STACK: Bio::DB::BioSQL::BaseDriver::update_object
> /gpfs/gjb_lab/ws-dev1/servers/lib/perl/lib/perl5/Bio/DB/BioSQL/ 
> BaseDriver.pm:1075
> STACK: Bio::DB::BioSQL::BasePersistenceAdaptor::store
> /gpfs/gjb_lab/ws-dev1/servers/lib/perl/lib/perl5/Bio/DB/BioSQL/ 
> BasePersistenceAdaptor.pm:269
> STACK: Bio::DB::Persistent::PersistentObject::store
> /gpfs/gjb_lab/ws-dev1/servers/lib/perl/lib/perl5/Bio/DB/Persistent/ 
> PersistentObject.pm:271
> STACK: Bio::DB::BioSQL::SeqFeatureAdaptor::store_children
> /gpfs/gjb_lab/ws-dev1/servers/lib/perl/lib/perl5/Bio/DB/BioSQL/ 
> SeqFeatureAdaptor.pm:278
>
> Can someone help me out here ?  It seems that bioperl doesn't like
> features with a start/end of '0' - in which case, how do I create
> non-positional sequence features in a way that bioperl likes ?
>
> I'm using a nightly build from December 2008 - but there have been
> (afaict) no patches to the biosql or Feature::Generic which would fix
> this behaviour.
>
> thanks.
> jim
>
>
> -- 
> -------------------------------------------------------------------
> J. B. Procter  (ENFIN/VAMSAS)  Barton Bioinformatics Research Group
> Phone/Fax:+44(0)1382 388734/345764  http://www.compbio.dundee.ac.uk
> The University of Dundee is a Scottish Registered Charity, No.  
> SC015096.
> _______________________________________________
> BioSQL-l mailing list
> BioSQL-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biosql-l

-- 
===========================================================
: Hilmar Lapp  -:-  Durham, NC  -:-  hlapp at gmx dot net :
===========================================================





More information about the BioSQL-l mailing list