[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