<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Ola monges,<div><br></div><div>Eu tenho uma dúvida, caso possam me ajudar.</div><div>Eu tenho varias códigos que acessam o mesmo valor (no caso que uso são vários códons que traduzem o mesmo aminoácido).<br><br></div><div>Exemplo:<br><span style="font-size: 12pt;">Aminoacido -> Códons</span></div><div><span style="font-size: 12pt;"><br></span></div><div>Sendo os aminoácidos representados por 20 letras diferentes mais o X (stop códon).<br>E os codons, combinações de 3 nucleotídeos, sendo um total de 4 nucleotídeos (A, T, C e G),  logo temos 64 combinações de 3 nucleotídeos (64 codons possíveis).</div><div>Por isso um mesmo aminoácido pode ser codificado por mais de um códon.<br>No caso do aminoácido Alanina (Ala || A) é códificado pelos códons GCA, GCC, GCT ou GCU.  Observe que os dois primeiros nucleotídeos são C e G, respectivamente, e o terceiro pode ser ocupado por qualquer um dos 4 nucleotídeo possíveis. <br></div><div>Dessa forma:</div><div><ul><li><span style="font-size: 12pt;">A -> CGA ou CGC ou CGT ou CGG</span></li></ul>Outros:<br><ul><li><span style="font-size: 12pt;">F -> TTC || TTT</span></li><li><span style="font-size: 12pt;">L -> TTA || TTG || CTA || CTG || CTC || CTT</span></li></ul></div><div><br></div><div>Bom, meu objetivo é simplesmente criar um hash, como esse:<br><div><ul><li><span style="font-size: 10pt;">my %aa = (</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">        </span><span style="font-size: 10pt;">"UUU" => "F", "UUC" => "F",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">    </span><span style="font-size: 10pt;">"UUA" => "L", </span><span style="font-size: 10pt;">"UUG" => "L", "UCU" => "S",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"UCC" => "S",</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">"UCA" => "S", "UCG" => "S", </span><span style="font-size: 10pt;">"UAU" => "Y",</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">"UAC" => "Y", "UAA" => "X",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">     </span><span style="font-size: 10pt;">"UAG" => "X",</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">"UGU" => "C", "UGC" => "C", "UGA" => "X", </span><span style="font-size: 10pt;">"UGG" => "W", "CUU" => "L",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">  </span><span style="font-size: 10pt;">"CUC" => "L", </span><span style="font-size: 10pt;">"CUA" => "L", "CUG" => "L",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"CCU" => "P", </span><span style="font-size: 10pt;">"CCC" => "P", "CCA" => "P",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"CCG" => "P", </span><span style="font-size: 10pt;">"CAU" => "H", "CAC" => "H",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"CAA" => "Q", </span><span style="font-size: 10pt;">"CAG" => "Q", "CGU" => "R",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"CGC" => "R", </span><span style="font-size: 10pt;">"CGA" => "R", "CGG" => "R",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"AUU" => "I", </span><span style="font-size: 10pt;">"AUC" => "I", "AUA" => "I",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"AUG" => "M", </span><span style="font-size: 10pt;">"ACU" => "T", "ACC" => "T",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"ACA" => "T", </span><span style="font-size: 10pt;">"ACG" => "T", "AAU" => "N",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"AAC" => "N", </span><span style="font-size: 10pt;">"AAA" => "K", "AAG" => "K",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"AGU" => "S", </span><span style="font-size: 10pt;">"AGC" => "S", "AGA" => "R",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"AGG" => "R", </span><span style="font-size: 10pt;">"GUU" => "V", "GUC" => "V",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"GUA" => "V", </span><span style="font-size: 10pt;">"GUG" => "V", "GCU" => "A",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"GCC" => "A", </span><span style="font-size: 10pt;">"GCA" => "A", "GCG" => "A",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"GAU" => "D", </span><span style="font-size: 10pt;">"GAC" => "D", "GAA" => "E",</span><span class="Apple-tab-span" style="font-size: 10pt; white-space: pre;">      </span><span style="font-size: 10pt;">"GAG" => "E", </span><span style="font-size: 10pt;">"GGU" => "G", "GGC" => "G", </span><span style="font-size: 10pt;">"GGA" => "G", </span><span style="font-size: 10pt;">"GGG" => "G",);</span></li></ul></div></div><div><span style="font-size: 12pt;"><br></span></div><div><span style="font-size: 12pt;">Contudo pensei em tomar outra abordagem, informar pra chave quem ela pode ser. Não sei se é possível, mas eu comecei tentando algo como:</span></div><div><ul><li><span style="font-size: 10pt;">my %codon = ( "CG"./[ACTG]/ => "A", "TT"./[CT]/ => "F", ("TT"./[AG]/||"CU"./[ACTG]/) => "L",);</span></li></ul></div><div>Mas não funcionou.<br><br></div><div>Pensei em pegar uma abordagem mais IUPAC, onde:</div><div><ul><li><span style="font-size: 12pt;">Y = C ou T</span></li><li><span style="font-size: 12pt;">R = A ou G</span></li><li><span style="font-size: 12pt;">N = A, C, G ou T</span></li></ul></div><div>*tem outros, mas por enquanto apenas estou vendo a possibilidade.<br>Então fiz:<br><div><ul><li><span style="font-size: 10pt;">my $Y = /[CT]/;</span></li><li><span style="font-size: 10pt;">my $R = /[AG]/;</span></li><li><span style="font-size: 10pt;">my $N = /[ACTG]/;</span></li><li><font size="2"><br></font></li><li><span style="font-size: 10pt;">my %codon = ( "CG".$N => "A", "TT".$Y => "F", ("TT".$R||"CU".$N) => "L",);</span></li></ul><font size="3">Mas não funcionou.</font></div></div><div><br></div>                                      </div></body>
</html>