From: Konrad Foerstner <[EMAIL PROTECTED]>
> I have a strange error in my script. It should
> paint a column of lines next to each other in
> colors which are determinated by a given sequence
> of letters. It works...but only to the position
> of 251. After this point all lines have the color
> of the line at position 251...even when I use
> a different letter sequence.
>
> Is this a sign? The 251? ;) Nope, any hints?
>
> Here is the basic sheme. I hope I did't kill
> an impotant detail.
>
>
> my $seq = $_[0];
> my @seq_s = split ('',$seq);
>
> my $length = length $seq;
>
> $pic_length = $length +100;
>
> my $img = new GD::Image($pic_length,30);
>
> for (my $pos = '0'; $pos < ($length-1); ++$pos)
> {
> my $aa = $seq_s[$pos];
>
> my $color;
>
> if ($aa eq 'A')
> {$color = $img->colorAllocate(255,0,0);}
> elsif ($aa eq 'B')
> {$color = $img->colorAllocate(255,0,0);}
> elsif ($aa eq 'C')
> {$color = $img->colorAllocate(0,0,255);}
> elsif ($aa eq 'D')
> {$color = $img->colorAllocate(0,0,255);}
>
> $img->line($pos,1,$pos,21,$color);
> }
Why do you keep allocating colors you aready have?
I would suggest something like this :
%colors = (
'A' => $img->colorAllocate(255,0,0),
'B' => $img->colorAllocate(255,0,0),
'C' => $img->colorAllocate(0,0,255),
'D' => $img->colorAllocate(0,0,255),
);
for (my $pos = '0'; $pos < ($length-1); ++$pos) {
my $aa = $seq_s[$pos];
my $color = $colors{$aa};
$img->line($pos,1,$pos,21,$color);
}
HTH, Jenda
=========== [EMAIL PROTECTED] == http://Jenda.Krynicky.cz ==========
There is a reason for living. There must be. I've seen it somewhere.
It's just that in the mess on my table ... and in my brain
I can't find it.
--- me
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]