Trilhas
/
Erlang
Erlang
/
Exercícios
/
Tradução de proteínas
Tradução de proteínas

Tradução de proteínas

Fácil

Instruções

Traduza sequências de RNA em proteínas.

O RNA pode ser dividido em sequências de três nucleotídeos chamadas de códons e, em seguida, traduzido para uma proteína assim:

RNA: "AUGUUUUCU" => traduz para

Códons: "AUG", "UUU", "UCU" => que se tornam uma proteína com a seguinte sequência =>

Proteína: "Methionine", "Phenylalanine", "Serine"

Existem 64 códons que, por sua vez, correspondem a 20 aminoácidos; no entanto, nem todas as sequências de códons e os aminoácidos resultantes são importantes neste exercício. Se funcionar para um códon, o programa deve funcionar para todos. No entanto, fique à vontade para expandir a lista na suíte de testes e incluir todos.

Existem também três códons de terminação (também conhecidos como códons 'STOP'); se qualquer um desses códons for encontrado (pelo ribossomo), toda a tradução termina e a proteína é terminada.

Todos os códons subsequentes depois disso são ignorados, assim:

RNA: "AUGUUUUCUUAAAUG" =>

Códons: "AUG", "UUU", "UCU", "UAA", "AUG" =>

Proteína: "Methionine", "Phenylalanine", "Serine"

Observe que o códon de parada "UAA" encerra a tradução e a metionina final não é traduzida para a sequência da proteína.

Abaixo estão os códons e os aminoácidos resultantes necessários para o exercício.

Códon 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

Saiba mais sobre tradução de proteínas na Wikipédia.


Fonte

Tyler Long
Editar via GitHub O link abre em uma nova janela ou aba
Erlang Exercism

Tudo pronto para começar Tradução de proteínas?

Crie sua conta no Exercism para aprender e dominar Erlang com 85 exercícios e mentoria humana de verdade, tudo de graça.

Mergulho profundo em Tradução de proteínas!

Explore 11 maneiras diferentes de resolver este exercício, incluindo abordagens imperativas, ideias funcionais como casamento de padrões, recursão e funções de ordem superior, além de um pouco de código de baixo nível em C++ e Assembly.