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]

Reply via email to