@a=@c=@t=@g=@n=@a2=@c2=@t2=@g2=@n2=();
####
(@a, @c, @t, @g, @n, @a2, @c2, @t2, @g2, @n2) = ();
####
for (my $k=0;$k<$number_positions; $k++) {
my (@a,@c,@t,@g,@n,@a2,@c2,@t2,@g2,@n2);
####
if ($letter1=~ /[aA]/) { ... }
...
####
if (uc $letter1 eq 'A') { ... }
if (uc $letter1 eq 'C') { ... }
if (uc $letter1 eq 'T') { ... }
if (uc $letter1 eq 'G') { ... }
# ...
####
$letter1 = uc $letter1;
if ($letter1 eq 'A') { ... }
if ($letter1 eq 'C') { ... }
if ($letter1 eq 'T') { ... }
# ...
####
for (my $k=0;$k<$number_positions; $k++) {
my (%base1, %base2);
# ...
$letter1 = uc $letter1;
$letter2 = uc $letter2;
push @${$base1{$letter1}}, $letter1;
push @${$base2{$letter2}}, $letter2;
####
for (my $k=0;$k<$number_positions; $k++) {
my (%base1, %base2);
# ...
$base1{uc $letter1}++;
$base2{uc $letter2}++;
####
"$number_a" + "$number_c" + "$number_t" + "$number_g" + "$number_n"
####
$number_a + $number_c + $number_t + $number_g + $number_n
####
$base1{A} + $base1{C} + $base1{T} + $base1{G} + $base1{N}
####
my $total1 = $base1{A} + $base1{C} + $base1{T} + $base1{G} + $base1{N};
####
my %percent1 = (
A => ($base{A} * 100) / $total1,
C => ($base{C} * 100) / $total1,
T => ($base{T} * 100) / $total1,
G => ($base{G} * 100) / $total1,
N => ($base{N} * 100) / $total1,
);
####
my %percent1 = map { $_ => ( $base{$_} * 100) / $total1 } 'A', 'C', 'T', 'G', 'N';
####
my %percent1 = map { $_ => ( $base1{$_} * 100) / $total1 } qw(A C T G N);
####
#!/usr/bin/perl
use warnings;
use strict;
chomp(my $input = );
open(INPUT, "$input") or die "Cannot open file: $!";
chomp(my $number_positions = );
chomp(my $patient_number = );
chomp(my $output = );
open(OUTPUT, ">$output.txt") or die "Cannot open file: $!";
my @prettybase = ;
close(INPUT);
for my $k (0 .. $number_positions - 1) {
my (%base1, %base2);
for my $i (0 .. $patient_number) {
my ($position, $patient, $letter1, $letter2) =
split (/\t/, $prettybase[$i]);
$base1{uc $letter1}++;
$base2{uc $letter2}++;
}
my $total1 = $base1{A} + $base1{C} + $base1{T} + $base1{G} + $base1{N};
my %percent1 = map { $_ => ( $base1{$_} * 100) / $total1 } qw(A C T G N);
my $total2 = $base2{A} + $base2{C} + $base2{T} + $base2{G} + $base2{N};
my %percent2 = map { $_ => ( $base2{$_} * 100) / $total2 } qw(A C T G N);
print OUTPUT "Position\#\: $patient\n";
print OUTPUT "\tAllele 1 Allele 1 percentage\n";
for(qw(A C T G N)) {
print OUTPUT "$_:\t$base1{$_}\t$percent1{$_}\%\n\n";
}
print OUTPUT "\tAllele 2 Allele 2 percentage\n";
for(qw(A C T G N)) {
print OUTPUT "$_:\t$base2{$_}\t$percent2{$_}\%\n\n";
}
}
close(OUTPUT);