$_ = map { $_ ? $_ / $n : 0 } @$_ for values %pwm; # Line 26
####
use Data::Dumper;
my @inst = ( 'AAA', 'ATG', 'TTT', 'GTC' );
get_pwm(@inst);
sub get_pwm {
my @data = @_;
my %pwm;
foreach my $line (@data) {
++$pwm{ substr $line, $_, 1 }[$_] for 0 .. length($line) - 1;
}
my $n = @data; ### Modified
@$_ = map { $_ ? $_ / $n : 0 } @$_ for values %pwm; # Line 26
print Dumper \%pwm;
print "$_ => @{ $pwm{ $_ } }" for keys %pwm;
return;
}
####
$VAR1 = {
'A' => [
'0.5',
'0.25',
'0.25'
],
'T' => [
'0.25',
'0.75',
'0.25'
],
'C' => [
0,
0,
'0.25'
],
'G' => [
'0.25',
0,
'0.25'
]
};
A => 0.5 0.25 0.25
T => 0.25 0.75 0.25
C => 0 0 0.25
G => 0.25 0 0.25