[Bioperl-l] Bio::Graphics::Panel can't locate object method
'start'...
Benjamin Berman
benb at fruitfly.org
Fri Mar 14 11:29:24 EST 2003
This didn't fix the problem. I have the most recent version of
bioperl-live, and as I said, the problem is happening withing the
add_track call, not the Panel->new call.
thanks,
ben.
On Friday, March 14, 2003, at 11:06 AM, Lincoln Stein wrote:
> You can either CVS update to the most recent version of bioperl, wait
> for the
> next release, which is coming in a week or so, or change this line:
>
> my $panel = Bio::Panel->new(
> -start => 1,
> -end => $seq->length,
> -key_style => 'between',
> -width => 800,
> -pad_left => 10,
> -pad_right => 10,
> );
>
> Lincoln
>
> On Thursday 13 March 2003 06:20 pm, Benjamin Berman wrote:
>> Hey Lincoln,
>>
>> Sorry if you've already gone over this, but I looked through the
>> bioperl-l mails and couldn't find an explanation. I'm having problems
>>
>> running the example script listed in the "Panel" documentation:
>>> use strict;
>>> use Bio::Graphics;
>>> use Bio::SeqIO;
>>>
>>> my $file = shift or die "provide a sequence
>>> file as the argument";
>>> my $io = Bio::SeqIO->new(-file=>$file) or die "couldn't create
>>> Bio::SeqIO";
>>> my $seq = $io->next_seq or die "couldn't find a
>>> sequence in the file";
>>>
>>> my @features = $seq->all_SeqFeatures;
>>>
>>> # sort features by their primary tags
>>> my %sorted_features;
>>> for my $f (@features) {
>>> my $tag = $f->primary_tag;
>>> push @{$sorted_features{$tag}},$f;
>>> }
>>>
>>> my $panel = Bio::Panel->new(
>>> -segment => $seq,
>>> -key_style => 'between',
>>> -width => 800,
>>> -pad_left => 10,
>>> -pad_right => 10,
>>> );
>>> $panel->add_track($seq,
>>> -glyph => 'arrow',
>>> -bump => 0,
>>> -double=>1,
>>> -tick => 2);
>>>
>>> $panel->add_track($seq,
>>> -glyph => 'generic',
>>> -bgcolor => 'blue',
>>> -label => 1,
>>> );
>>
>> Now I'm not having any problems with the call to Panel->new, as others
>> have reported. Instead, I am having a problem when $panel->add_track
>> is called. This creates a new Feature, using $seq as the segment; in
>> Feature::new, Feature::add_segment($seq) is called. The script dies
>> within this call because it tries to call the function $seq->start.
>>
>>> Can't locate object method "start" via package "Bio::Seq::RichSeq" at
>>> /root/cvs_benb/bioperl-live/Bio/Graphics/Feature.pm line 210, <DATA>
>>> line 191.
>>
>> (line 210: $self->{start} = $self->{segments}[0]->start;)
>>
>>
>> I printed out a stack trace of where it is when it dies...
>>
>>> Adding segment Bio::Seq::RichSeq=HASH(0x8693dd4) at
>>> /root/cvs_benb/bioperl-live/Bio/Graphics/Feature.pm line 211
>>>
>>> Bio::Graphics::Feature::add_segment('Bio::Graphics::Feature=HASH(0x86
>>> a3
>>> 7b4)','Bio::Seq::RichSeq=HASH(0x8693dd4)') called at
>>> /root/cvs_benb/bioperl-live/Bio/Graphics/Feature.pm line 175
>>>
>>> Bio::Graphics::Feature::new('Bio::Graphics::Feature','-
>>> segments','ARRAY(0x86a3748)','-start',1,'-stop',1027,'-
>>> type','track',...) called at
>>> /root/cvs_benb/bioperl-live/Bio/Graphics/Panel.pm line 303
>>>
>>> Bio::Graphics::Panel::_add_track('Bio::Graphics::Panel=HASH(0x86a1d30
>>> )'
>>> ,0,'Bio::Seq::RichSeq=HASH(0x8693dd4)','-map','CODE(0x8691c4c)','-
>>> stylesheet','undef','-options','HASH(0x82d8ef8)',...) called at
>>> /root/cvs_benb/bioperl-live/Bio/Graphics/Panel.pm line 282
>>>
>>> Bio::Graphics::Panel::_do_add_track('Bio::Graphics::Panel=HASH(0x86a1
>>> d3
>>> 0)',0,'Bio::Seq::RichSeq=HASH(0x8693dd4)','-glyph','arrow','-
>>> bump',0,'-double',1,...) called at
>>> /root/cvs_benb/bioperl-live/Bio/Graphics/Panel.pm line 210
>>>
>>> Bio::Graphics::Panel::add_track('Bio::Graphics::Panel=HASH(0x86a1d30)
>>> ',
>>> 'Bio::Seq::RichSeq=HASH(0x8693dd4)','-glyph','arrow','-bump',0,'-
>>> double',1,'-tick',...) called at ./bio_graphics_test.pl line 38
>
> --
> =======================================================================
> =
> Lincoln D. Stein Cold Spring Harbor
> Laboratory
> lstein at cshl.org Cold Spring Harbor, NY
> =======================================================================
> =
>
More information about the Bioperl-l
mailing list