choroba actually the hash named %nuc ( line 4) was supposed to be a PAM matrix but isnt properly ordered,coz if it were so then you would be looking at this matrix -------- http://homepages.rpi.edu/~zukerm/MATH-4961/scoring/img97.gif
.If you look at this figure, u can easily make out that in order to mutate the alphabet A (Ala) to R (Arg) the random number generated should be > 9867 but < 9869 (i.e. 9867+2)
Similarly for A to N we need > 9867 but < 9878 (i.e. 9867+2+9).
Thus we are doing a cumulative sum.
What I was trying to do with my code was that I was comparing the random number generated for an alphabet with the progressive cumulative sum for that corresponding alphabet in the %nuc. Now this comparison was done under a counter. For example if the random number generated was .9877,and the alphabet to be mutated is A,then the value of counter will be 3(see above). Now finally what I did was I collected these respective counters(numeric) for each of the alphabets. Then I tried converting them to alphabets based on their arrangements in the %nuc.
And this is where the code fails, because the hashes get jumbled up,they never behave in the same order I entered them.