Percursos
/
Scala
Scala
/
Exercícios
/
Tradução de proteínas
Tradução de proteínas

Tradução de proteínas

Fácil

Instruções

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.


Fonte

Tyler Long
Editar via GitHub A ligação abre numa nova janela ou separador
Scala Exercism

Estás pronto para começar Tradução de proteínas?

Inscreve-te no Exercism para aprenderes e dominares Scala com 95 exercícios, e mentoria humana real, tudo grátis.

Mergulha a fundo em Tradução de proteínas!

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.