in reply to pattern finding algorithm
my $seq = [ [ qw(A C G C A T T C A) ], [ qw(A C T G G A T A C) ], [ qw(T C A G C C A T C) ], [ qw(C T G G A T C G C) ] ];
..G.AT... occurs in 0,3 ...G....C occurs in 1,2,3 .C......C occurs in 1,2 A.....T.. occurs in 0,1 ........C occurs in 1,2,3 ...G..... occurs in 1,2,3 A........ occurs in 0,1 ....AT... occurs in 0,3 AC....... occurs in 0,1 ..G.A.... occurs in 0,3 ..G..T... occurs in 0,3 .C.G....C occurs in 1,2 ..G...... occurs in 0,3 ......T.. occurs in 0,1 .C.G..... occurs in 1,2 .C....T.. occurs in 0,1 AC....T.. occurs in 0,1 .....T... occurs in 0,3 ....A.... occurs in 0,3 .C....... occurs in 0,1,2
my %maxMatch; for my $key (keys %$match) { @{$match->{$key}} = uniq @{$match->{$key}}; my $seqSet = join ",", @{$match->{$key}}; unless ($maxMatch{$seqSet}) { $maxMatch{$seqSet} = $key; next; } my $old = true { /[^\.]/ } split //, $maxMatch{$seqSet}; my $new = true { /[^\.]/ } split //, $key; $maxMatch{$seqSet} = $key if $new > $old; } for my $key (keys %maxMatch) { print $maxMatch{$key}, " occurs in $key \n"; }
..G.AT... occurs in 0,3 .C.G....C occurs in 1,2 ...G....C occurs in 1,2,3 .C....... occurs in 0,1,2 AC....T.. occurs in 0,1
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: pattern finding algorithm
by d0nuts10 (Initiate) on Aug 09, 2007 at 17:53 UTC | |
Re^2: pattern finding algorithm
by kdt2006 (Initiate) on Aug 01, 2007 at 13:02 UTC |