Traduz sequências de RNA em proteínas.
O RNA pode ser dividido em sequências de três nucleótidos, chamadas codões, e depois traduzido numa proteína, assim:
RNA: "AUGUUUUCU" => traduz-se em
Codões: "AUG", "UUU", "UCU"
=> que dão origem a uma proteína com a seguinte sequência =>
Proteína: "Methionine", "Phenylalanine", "Serine"
Existem 64 codões, que por sua vez correspondem a 20 aminoácidos. No entanto, neste exercício não é importante conhecer todas as sequências de codões nem todos os aminoácidos resultantes. Se funciona para um codão, o programa deve funcionar para todos. Ainda assim, se quiseres, podes ampliar a lista do conjunto de testes para os incluir a todos.
Existem também três codões de terminação (também conhecidos como codões 'STOP'). Se o ribossoma encontrar algum destes codões, a tradução termina e a proteína fica terminada.
Todos os codões seguintes são ignorados, assim:
RNA: "AUGUUUUCUUAAAUG" =>
Codões: "AUG", "UUU", "UCU", "UAA", "AUG" =>
Proteína: "Methionine", "Phenylalanine", "Serine"
Repara que o codão de terminação "UAA" termina a tradução e a metionina final não é traduzida para a sequência da proteína.
Abaixo estão os codões e os aminoácidos resultantes necessários para o exercício.
| Codão | Aminoácido |
|---|---|
| AUG | Methionine |
| UUU, UUC | Phenylalanine |
| UUA, UUG | Leucine |
| UCU, UCC, UCA, UCG | Serine |
| UAU, UAC | Tyrosine |
| UGU, UGC | Cysteine |
| UGG | Tryptophan |
| UAA, UAG, UGA | STOP |
Sabe mais sobre a tradução de proteínas na Wikipédia.
Inscreve-te no Exercism para aprenderes e dominares YAMLScript com 60 exercícios, e mentoria humana real, tudo grátis.
Explora 11 formas diferentes de resolver este exercício, incluindo abordagens imperativas, ideias funcionais como a correspondência de padrões, a recursão e as funções de ordem superior, e ainda algum código de baixo nível em C++ e Assembly.