[Bioperl-l] Graphics:Panel /SeqFeature::Generic
Lincoln Stein
lstein at cshl.edu
Tue Nov 18 13:53:34 EST 2003
Hi Dan,
Try changing the "generic" glyph to "segments." The first glyph doesn't know
how to deal with subparts (such as HSPs), the second does.
Lincoln
On Monday 17 November 2003 05:06 am, Daniel Lang wrote:
> Hi,
> I want to generate overview graphics from BLAST reports, where the hits
> are sorted and colored (>1e-10 -->green, ...)according their evalues...
>
> So I thought, I could solve this using a callback function for the
> bgcolor and using the 'low_score' sort_order, but when applied to a
> BLAST report, it results in sorted but only red hits?
> I also tried introducing the evalues as additional tags like done with
> 'bits' or 'range', but when testing for this tag in the callback
> (has_tag) its not available?
> So I wander if the function is envoked for each hit in the while loop?
>
> Here the code sniplet:
>
> my $track = $panel->add_track(-glyph => 'generic',
> -label => 1,
> -connector => 'dashed',
> -height => 5,
> -bgcolor => sub {
> my $feature = shift;
> my $evalue = $feature->score;
> if ($evalue < 1e-10) {return 'green';}
> else {return 'red';}}
> ,
> -fontcolor => 'green',
> -font2color => 'red',
> -sort_order => 'low_score',
> -min_score => '1e-1000',
> -max_score => '10000',
> -description => sub {
> my $feature = shift;
> return unless $feature->has_tag('bits');
> my ($description) =
> $feature->each_tag_value('bits');
> my $score = $feature->score;
> my ($range) =
> $feature->each_tag_value('range');
> "Score=$description bits, E-value=$score, $range";
> });
>
> while( my $hit = $result->next_hit ) {
> my $evalue = $hit->significance;
> my $feature = Bio::SeqFeature::Generic->new(-score => $evalue,
> -display_name => $hit->name,
> -tag => { 'bits' => $hit->bits,
> 'range' => "from ". $hit->start('query') . " to " .
> $hit->end('query'),
> },
> );
> while( my $hsp = $hit->next_hsp ) {
> $feature->add_sub_SeqFeature($hsp,'EXPAND');
> }
> $track->add_feature($feature);
> }
>
> Thanks in advance,
> Daniel
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at portal.open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioperl-l
--
========================================================================
Lincoln D. Stein Cold Spring Harbor Laboratory
lstein at cshl.org Cold Spring Harbor, NY
========================================================================
More information about the Bioperl-l
mailing list