sub count_support_mismatch {
my( $hashref, $arref, $d ) = @_;
my $counter = 0;
foreach my $key ( keys %{ $hashref } ) {
my $ar = $hashref->{$key};
my @match_list;
print join( '|', @{ $ar } ) . "\n" . join( '|', @$arref ) . "\n";
foreach my $elem ( @{ $ar } ) {
foreach my $q ( @$arref ) {
print "Hamming '$elem' <=> '$q'\n";
my $dist = hd( $elem, $q );
if( $dist <= $d ) {
#print "$q - $_\n";
push @match_list, $elem;
}
shift @{ $ar }; # Part that alter hash
}
}
$counter++ if @match_list;
}
return $counter;
}
####
P:\test>459758
GGAA|GGGG|TTTT
GGGG|GGGG
Hamming 'GGAA' <=> 'GGGG'
Hamming 'GGAA' <=> 'GGGG'
GGGA|GTTT|GGGG
GGGG|GGGG
Hamming 'GGGA' <=> 'GGGG'
Hamming 'GGGA' <=> 'GGGG'
GGGG|AAAA|GGGG
GGGG|GGGG
Hamming 'GGGG' <=> 'GGGG'
Hamming 'GGGG' <=> 'GGGG'
GGGA|GCGG|GTTT
GGGG|GGGG
Hamming 'GGGA' <=> 'GGGG'
Hamming 'GGGA' <=> 'GGGG'
Support = 3
####
sub count_support_mismatch {
my( $hashref, $arref, $d ) = @_;
my $counter = 0;
foreach my $key ( keys %{ $hashref } ) {
my $ar = $hashref->{$key};
my @match_list;
print join( '|', @{ $ar } ) . "\n" . join( '|', @$arref ) . "\n";
foreach my $q ( @$arref ) {
print "Hamming '$ar->[ 0 ]' <=> '$q'\n";
my $dist = hd( $ar->[ 0 ], $q );
if( $dist <= $d ) {
#print "$q - $_\n";
push @match_list, $ar->[ 0 ];
}
}
$counter++ if @match_list;
}
return $counter;
}
####
P:\test>459758
GGAA|GGGG|TTTT
GGGG|GGGG
Hamming 'GGAA' <=> 'GGGG'
Hamming 'GGAA' <=> 'GGGG'
GGGA|GTTT|GGGG
GGGG|GGGG
Hamming 'GGGA' <=> 'GGGG'
Hamming 'GGGA' <=> 'GGGG'
GGGG|AAAA|GGGG
GGGG|GGGG
Hamming 'GGGG' <=> 'GGGG'
Hamming 'GGGG' <=> 'GGGG'
GGGA|GCGG|GTTT
GGGG|GGGG
Hamming 'GGGA' <=> 'GGGG'
Hamming 'GGGA' <=> 'GGGG'
Support = 3
####
P:\test>459758
GGAA|GGGG|TTTT
GGGG|GGGG
Hamming 'GGAA' <=> 'GGGG'
Hamming 'GGAA' <=> 'GGGG'
Hamming 'GGGG' <=> 'GGGG'
Hamming 'GGGG' <=> 'GGGG'
Hamming 'TTTT' <=> 'GGGG'
Hamming 'TTTT' <=> 'GGGG'
GGGA|GTTT|GGGG
GGGG|GGGG
Hamming 'GGGA' <=> 'GGGG'
Hamming 'GGGA' <=> 'GGGG'
Hamming 'GTTT' <=> 'GGGG'
Hamming 'GTTT' <=> 'GGGG'
Hamming 'GGGG' <=> 'GGGG'
Hamming 'GGGG' <=> 'GGGG'
GGGG|AAAA|GGGG
GGGG|GGGG
Hamming 'GGGG' <=> 'GGGG'
Hamming 'GGGG' <=> 'GGGG'
Hamming 'AAAA' <=> 'GGGG'
Hamming 'AAAA' <=> 'GGGG'
Hamming 'GGGG' <=> 'GGGG'
Hamming 'GGGG' <=> 'GGGG'
GGGA|GCGG|GTTT
GGGG|GGGG
Hamming 'GGGA' <=> 'GGGG'
Hamming 'GGGA' <=> 'GGGG'
Hamming 'GCGG' <=> 'GGGG'
Hamming 'GCGG' <=> 'GGGG'
Hamming 'GTTT' <=> 'GGGG'
Hamming 'GTTT' <=> 'GGGG'
Support = 4