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 num polipéptido, assim:
RNA: "AUGUUUUCU" => traduz-se em
Codões: "AUG", "UUU", "UCU"
=> que se tornam um polipéptido com a seguinte sequência =>
Proteína: "Methionine", "Phenylalanine", "Serine"
Há 64 codões, que por sua vez correspondem a 20 aminoácidos; no entanto, neste exercício não é necessário 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. Mas podes à vontade ampliar a lista do conjunto de testes para os incluir todos.
Há também três codões de terminação (também conhecidos como codões 'STOP'); se algum destes codões for encontrado (pelo ribossoma), toda a tradução termina e a proteína é terminada.
Todos os codões subsequentes 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 | Proteína |
|---|---|
| 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 Nim com 70 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.