[Bioperl-l] doing a 1.2.3 release

Jason Stajich jason at cgt.duhs.duke.edu
Thu Aug 28 13:39:01 EDT 2003


Yeah I don't know what is going on - t/SeqFeature.t worked fine for me
before.

If I change it to add an extra (defined $db) in the elsif statement it
works, perhaps the die is coming from the new Bio::DB::InMemoryCache as my
elsif wasn't strict enough?



 if( defined $db && ref($db) &&
	! $db->isa('Bio::DB::RandomAccessI') ) {
	$self->warn("Must pass in a valid Bio::DB::RandomAccessI object
for access to remote locations for spliced_seq");
	$db = undef;
    } elsif( defined $db && $HasInMemory &&
	     ! $db->isa('Bio::DB::InMemoryCache') ) {
	$db = new Bio::DB::InMemoryCache(-seqdb => $db);
    }
On Thu, 28 Aug 2003, Ewan Birney wrote:

>
> Jason or other Perl Gods...
>
>
> There is something very, very kooky going on with the new DESTROY method
> in Bio::SeqIO. What is happening is that on the line:
>
>
>     if( $db ) {
>         if( ref($db) &&  !$db->isa('Bio::DB::RandomAccessI') ) {
>             $self->warn("Must pass in a valid Bio::DB::RandomAccessI
> object for access to remote l\
> ocations for spliced_seq");
>             $db = undef;
>         }
>     }
>
>
> if( $db)
>
> in SeqFeatureI (I broke up the if statement to isolate it), perl is
> somehow calling the garbage collector, and for reasons beyond me ends up
> saying:
>
>
> Bio::SeqFeatureI::spliced_seq(Bio/SeqFeatureI.pm:459):
> 459:        my ($mixed,$mixedloc,$fstrand) = (0);
>   DB<3> n
> Bio::SeqFeatureI::spliced_seq(Bio/SeqFeatureI.pm:461):
> 461:        if( $db ) {
>   DB<3> s
> Can't call method "isa" on an undefined value at Bio/SeqFeatureI.pm line
> 461.
> Bio::SeqIO::DESTROY(Bio/SeqIO.pm:627):
> 627:        my $self = shift;
>
>
>
> Notice that the debugger has just now entered the Bio::SeqIO::DESTROY
> method. Commenting out though just moves this towards Bio/Root/RootI
> DESTROY...
>
>
> Really confused. Perl is at:
>
> Ewan-Birneys-Computer:~/src/bioperl-branch-1-2] birney% perl -version
>
> This is perl, v5.6.0 built for darwin
>
> Copyright 1987-2000, Larry Wall
>
> Perl may be copied only under the terms of either the Artistic License or
> the
> GNU General Public License, which may be found in the Perl 5.0 source kit.
>
> Complete documentation for Perl, including FAQ lists, should be found on
> this system using `man perl' or `perldoc perl'.  If you have access to the
> Internet, point your browser at http://www.perl.com/, the Perl Home Page.
>
>
>
> Is there a "gotcha" here? This is v. annoying....
>
>
>
>
>
>
>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at portal.open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioperl-l
>

--
Jason Stajich
Duke University
jason at cgt.mc.duke.edu


More information about the Bioperl-l mailing list