This glyph is similar to the graded_segments glyph except that it
generates a green->red gradient suitable for use with microarray data.
A feature score of 0 is full green; a feature score of 1.0 is full
red; intermediate scores are shades of yellow.
The following options are standard among all Glyphs. See
Bio::Graphics::Glyph for a full explanation.
Option Description Default
------ ----------- -------
-fgcolor Foreground color black
-outlinecolor Synonym for -fgcolor
-bgcolor Background color turquoise
-fillcolor Synonym for -bgcolor
-linewidth Line width 1
-height Height of glyph 10
-font Glyph font gdSmallFont
-connector Connector type 0 (false)
-connector_color
Connector color black
-label Whether to draw a label 0 (false)
-description Whether to draw a description 0 (false)
The following glyph-specific option is recognized:
-border Draw a fgcolor border around 0 (false)
the box
None available.
sub HSVtoRGB
{($$$) { my ($h,$s,$v)=@_;
my ($r,$g,$b,$i,$f,$p,$q,$t);
if( $s == 0 ) {
return ($v,$v,$v);
}
$h /= 60; ## sector 0 to 5 $i = int($h); $f = $h - $i; $p = $v * ( 1 - $s );
$q = $v * ( 1 - $s * $f );
$t = $v * ( 1 - $s * ( 1 - $f ) );
if($i<1) {
$r = $v;
$g = $t;
$b = $p;
} elsif($i<2){
$r = $q;
$g = $v;
$b = $p;
} elsif($i<3){
$r = $p;
$g = $v;
$b = $t;
} elsif($i<4){
$r = $p;
$g = $q;
$b = $v;
} elsif($i<5){
$r = $t;
$g = $p;
$b = $v;
} else {
$r = $v;
$g = $p;
$b = $q;
}
return ($r,$g,$b); } |
sub draw
{ my $self = shift;
my $val = $self->feature->score;
my @parts = $self->parts;
@parts = $self if !@parts && $self->level == 0;
my @rgb = map {int($_)} HSVtoRGB(120*(1-$val),1,255);
my $color = $self->panel->translate_color(@rgb);
$_->{force_bgcolor} = $color foreach @parts;
$self->SUPER::draw(@_); } |
Please report them.