[Bioperl-l] Error retrieving sequence from BioSQL

Chris Fields cjfields at uiuc.edu
Thu Sep 28 15:48:07 UTC 2006


Those are from the excessively paranoid '-w' flag on the shebang  
line.  If you remove the flag but add the 'use warnings' pragma the  
'subroutine x redefined' warnings go away.  This, BTW, is one of the  
quirks of the ActivePerl distribution; other OSs don't have the same  
problem.

The 'solution' described on that page is actually a workaround, not a  
bugfix.  It causes problems with stack traces with error handling but  
seems harmless beyond that.  I haven't been able to find a  
satisfactory fix which works on all OS's.

Chris


On Sep 28, 2006, at 10:42 AM, Seth Johnson wrote:

> This is under Windows, but using ActiveState Komodo 3.5 and their  
> latest Perl for Windows and latest BioPerl & BioPerl-db from CVS.
>
> I actually just stumbled upon a solution.  It's described in the  
> "Installing Bioperl on Windows" by adding a comma after $class: in  
> Bio::Root::Root throw() subroutine.  Thanks for hinting me about  
> what I run it on.
>
> The code works now, BUT it spews whole bunch of warnings about  
> "Subroutine .... redefined":
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Subroutine new redefined at c:/Perl/site/lib/Bio\BioEntry
> .pm line 88.
> Subroutine object_id redefined at c:/Perl/site/lib/Bio\BioEntry.pm  
> line 128.
> Subroutine version redefined at c:/Perl/site/lib/Bio\BioEntry.pm  
> line 150.
> Subroutine authority redefined at c:/Perl/site/lib/Bio\BioEntry.pm  
> line 171.
> Subroutine namespace redefined at c:/Perl/site/lib/Bio\BioEntry.pm  
> line 192.
> Subroutine display_name redefined at c:/Perl/site/lib/Bio 
> \BioEntry.pm line 217.
> Subroutine description redefined at c:/Perl/site/lib/Bio 
> \BioEntry.pm line 241.
> Subroutine new redefined at c:/Perl/site/lib/Bio\Root\Root.pm line  
> 201.
> Subroutine verbose redefined at c:/Perl/site/lib/Bio\Root\Root.pm  
> line 234.
> Subroutine _register_for_cleanup redefined at c:/Perl/site/lib/Bio 
> \Root\Root.pm line 246.
> Subroutine _unregister_for_cleanup redefined at c:/Perl/site/lib/Bio 
> \Root\Root.pm line 256.
> Subroutine _cleanup_methods redefined at c:/Perl/site/lib/Bio\Root 
> \Root.pm line 263.
> Subroutine throw redefined at c:/Perl/site/lib/Bio\Root\Root.pm  
> line 316.
> Subroutine debug redefined at c:/Perl/site/lib/Bio\Root\Root.pm  
> line 379.
> Subroutine _load_module redefined at c:/Perl/site/lib/Bio\Root 
> \Root.pm line 398.
> Subroutine DESTROY redefined at c:/Perl/site/lib/Bio\Root\Root.pm  
> line 426.
> Subroutine new redefined at c:/Perl/site/lib/Bio\Root\RootI.pm line  
> 117.
> Subroutine _initialize redefined at c:/Perl/site/lib/Bio\Root  
> \RootI.pm line 128.
> ...
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
> On 9/28/06, Chris Fields <cjfields at uiuc.edu> wrote: I had problems  
> with bioperl-db on native WinXP (not cygwin), but I
> did manage to get it running in cygwin with some effort.  The issue
> on native WinXP was related to Bio::Root::Root::throw(), though.
>
> There is a bug and workaround filed on Bugzilla, but I haven't worked
> on it in a while (and the workaround has some problems as well).  I
> may try running it again to see what happens.
>
> http://bugzilla.open-bio.org/show_bug.cgi?id=1938
>
> Chris
>
> On Sep 28, 2006, at 9:04 AM, Hilmar Lapp wrote:
>
> > Very odd. This is under Windows, presumably using Cygwin?
> >
> > The method Bio::Root::Root::throw() clearly exists, and
> > PersistentObject inherits from it. The exception it was trying to
> > throw has nothing to do with failure or success to find the database
> > row (actually it did succeed since otherwise it wouldn't construct
> > the object) but with dynamically loading a class, presumably
> > Bio::DB::Persistent::Seq.
> >
> > Are you using the 1.5.x release of bioperl?
> >
> > Does anyone on the list have any experience with these sorts of
> > things on Windows?
> >
> > (Seth, I've moved this thread to the bioperl list, since this is  
> what
> > the problem is about.)
> >
> >       -hilmar
> >
> > On Sep 27, 2006, at 1:39 PM, Seth Johnson wrote:
> >
> >> Hello guys,
> >>
> >> I successfully populated the biosql database, thanks to you.  Now,
> >> I'm
> >> trying to retrieve a sequence from it following the example from
> >> BOSC2003
> >> slides and ran into uninformative error (at least to me it doesn't
> >> mean
> >> anyting).  I suspect that I'm missing something and hope you can
> >> point me in
> >> the right direction.  Here's my source code:
> >>  
> ---------------------------------------------------------------------
> >> -
> >> ---
> >> #!/usr/bin/perl -w
> >> use strict;
> >> use warnings;
> >>
> >> use Bio::Seq;
> >> use Bio::Seq::SeqFactory;
> >> use Bio::DB::SimpleDBContext;
> >> use Bio::DB::BioDB;
> >>
> >> my $dbc = Bio::DB::SimpleDBContext->new(
> >>     -driver => 'mysql',
> >>     -dbname => 'BioSQL_1',
> >>     -host => '192.168.1.3',
> >>     -user => 'xxxxx',
> >>     -pass => 'xxxxxx'
> >> );
> >>
> >> my $db = Bio::DB::BioDB->new(-database  => 'biosql',
> >>                             -dbcontext => $dbc);
> >>
> >> my $seq = Bio::Seq->new(-accession_number => 'NM_014580', -
> >> namespace =>
> >> 'refseq_H_sapiens');
> >> my $seqfact = Bio::Seq::SeqFactory->new(-type => 'Bio::Seq');
> >> my $adp = $db->get_object_adaptor($seq);
> >> my $dbseq = $adp->find_by_unique_key($seq, -obj_factory =>  
> $seqfact);
> >>
> >> my $out = Bio::SeqIO->newFh('-format' => 'EMBL');
> >> print $out $dbseq;
> >>
> >> exit;
> >> -----------------------------------------------------------------
> >>
> >> Just when the "find_by_unique_key" function is executed I get the
> >> following
> >> error:
> >>
> >> ================================
> >> Undefined subroutine &Bio::Root::Root::throw called at
> >> c:/Perl/site/lib/Bio/DB/Persistent/PersistentObject.pm line 199.
> >> ================================
> >>
> >> The sequence does exist in the database. I checked that.  Any
> >> ideas???
> >>
> >> --
> >> Best Regards,
> >>
> >>
> >> Seth Johnson
> >> Senior Bioinformatics Associate
> >> _______________________________________________
> >> 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 :
> > ===========================================================
> >
> >
> >
> >
> >
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at lists.open-bio.org
> > http://lists.open-bio.org/mailman/listinfo/bioperl-l
>
> Christopher Fields
> Postdoctoral Researcher
> Lab of Dr. Robert Switzer
> Dept of Biochemistry
> University of Illinois Urbana-Champaign
>
>
>
>
>
>
> -- 
> Best Regards,
>
>
> Seth Johnson
> Senior Bioinformatics Associate
>
> Ph: (202) 470-0900
> Fx: (775) 251-0358

Christopher Fields
Postdoctoral Researcher
Lab of Dr. Robert Switzer
Dept of Biochemistry
University of Illinois Urbana-Champaign






More information about the Bioperl-l mailing list