[Bioperl-l] Problem: Can't call method "features" on an undefined value at BIO::DB::GFF.pl

Scott Cain cain.cshl at gmail.com
Sat Jan 19 22:36:44 EST 2008


Hi Jon,

I think it's funny that you have "or die" on the database opening line,
"or die" on the @features line, but you didn't put one on the $segment
line.  Try adding "or die: $!" to the $segment line to see what it says,
also add a 'print $segment' after you create it and before you try to
get the features from it.  

Clearly, the problem is that $segment is not defined (that is, nothing
is in it, not that the wrong thing is in it).  The next trick is to find
out why.  My first guess, without looking at the data set, is that the
arm is not really named '4'.

Scott

On Sat, 2008-01-19 at 10:25 -0800, Hang wrote:
> Hi, everyone,
> 
> I met this problem when I was running this script to extract features
> overlaps with 4:20,000..25,000. It always responds like "Can't call method
> "features" on an undefined value at BIO::DB::GFF.pl line XX".
> ==============================================================
> use Bio::DB::GFF;
> use Bio::Tools::GFF;
> my $db = Bio::DB::GFF->new(-adaptor => 'dbi::mysql',
>                                         -dsn =>
> 'dbi:mysql:dmel_gff:localhost',
>                                         -user => 'XXXX',
>                                         -pass => 'XXXX') || die "database
> open failed";
> 
> my $segment = $db->segment(-name => '4', -start => 20000, -end => 25000);
> my @features = $segment->features(-types => ['gene', 'exon', 'intron',
> 'five_prime_UTR', 'three_prime_UTR', 'CDS']) or die "no features";
> print(scalar(@features)."\n");
> 
> ================================================================
> I am using activeperl 5.8.8 and bioperl 1.5.2 under Win32. I loaded
> dmel_5.4.gff into mysql database by bulk_load_gff.pl without any error.
> Other methods failed also. 
> 
> Any help will be deeply appreciated!
> 
> Best,
> Jon
> 
-- 
------------------------------------------------------------------------
Scott Cain, Ph. D.                                         cain at cshl.edu
GMOD Coordinator (http://www.gmod.org/)                     216-392-3087
Cold Spring Harbor Laboratory



More information about the Bioperl-l mailing list