use strict; use warnings; chomp(my $DNA = <>); my %acid_map = ( TTT => 'F', TTC => 'F', GGT => 'G', GGC => 'G', GGA => 'G', GGG => 'G', GCT => 'A', GCC => 'A', GCA => 'A', GCG => 'A', TTA => 'L', TTG => 'L', CTT => 'L', CTC => 'L', CTG => 'L', CTA => 'L', GTT => 'V', GTC => 'V', GTA => 'V', GTG => 'V', ATT => 'I', ATC => 'I', ATA => 'I', CCT => 'P', CCC => 'P', CCA => 'P', CCG => 'P', TCT => 'S', TCC => 'S', TCA => 'S', TCG => 'S', ACT => 'T', ACC => 'T', ACA => 'T', ACG => 'T', TGT => 'C', TGC => 'C', TAT => 'Y', TAC => 'Y', AAT => 'N', AAC => 'N', CAA => 'Q', CAG => 'Q', GAT => 'D', GAC => 'D', GAA => 'E', GAG => 'E', CGT => 'R', CGC => 'R', CGA => 'R', CGG => 'R', AGA => 'R', AGG => 'R', AAA => 'K', AAG => 'K', CAT => 'H', CAC => 'H', TGG => 'W', TGA => 'W', ATG => 'M', TAA => '8', TAG => '8', ); foreach my $c (0 .. 2){ my $protein = ''; my $position=$c; while ($position < length $DNA) { my $codon=substr($DNA, $position, 3); if ($acid_map{$codon}) { $position += 3; $protein .= $acid_map{$codon}; } else { $position++; $protein .= 'x'; } } print "La secuencia $c es: $protein\n\n"; }