in reply to Re: Pattern Searching
in thread Pattern Searching
well thanks for your reply. In this code the KMP algorithm is implemented. A pattern and the string are passed to the KMP function named as knuth_morris_pratt.It returns the location of patterns, store in @loc array. Then the string is displayed with a colored background where the patterns occur. Code for this is
my $ii=1; for(my $k=1;$k<$lt;$k++){ if ($k == $loc[$ii]){ print "<span style=background-color:red;>" .$text[$k] . "</span>"; $ii++; } }
The process is repeated for all strings stored in the array. This code works well in first iteration of for loop but it does not show the same result in the 2nd iteration for the same string, stored at the next index of array. The output of this code is
<r>length of gene sequence array 66 0 1 2 3 4 5 14 15 16 17 18 32 33 34 35 36 37 48 49 50 51 52 60 61 62 6 +3 64 65 GAATTCCCWGGGAATTCCCWGGGAATTC <r>length of gene sequence array 66 0 1 2 3 4 5 14 15 16 17 18 32 33 34 35 36 37 48 49 50 51 52 60 61 62 6 +3 64 65 G <r>length of gene sequence array 66 0 1 2 3 4 5 14 15 16 17 18 32 33 34 35 36 37 48 49 50 51 52 60 61 62 6 +3 64 65 G I want < r>length of gene sequence array 66 0 1 2 3 4 5 14 15 16 17 18 32 33 34 35 36 37 48 49 50 51 52 60 61 62 6 +3 64 65 GAATTCCCWGGGAATTCCCWGGGAATTC < r>length of gene sequence array 66 0 1 2 3 4 5 14 15 16 17 18 32 33 34 35 36 37 48 49 50 51 52 60 61 62 6 +3 64 65 GAATTCCCWGGGAATTCCCWGGGAATTC < r>length of gene sequence array 66 0 1 2 3 4 5 14 15 16 17 18 32 33 34 35 36 37 48 49 50 51 52 60 61 62 6 +3 64 65 GAATTCCCWGGGAATTCCCWGGGAATTC
The numbers shows the position of patterns that is same for the same three strings but the patterns are not displayed for the last two strings. The problem is in displaying the patterns in 2nd and 3rd iteration of main for loop.
|
|---|