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

Tradução de proteínas

Médio

Instruções

Seu trabalho é traduzir sequências de RNA em proteínas.

As fitas de RNA são formadas por sequências de três nucleotídeos chamadas códons. Cada códon é traduzido em um aminoácido. Quando se unem, esses aminoácidos formam uma proteína.

No mundo real, existem 64 códons, que por sua vez correspondem a 20 aminoácidos. No entanto, neste exercício você vai usar apenas alguns dos 64 possíveis. Eles estão listados abaixo:

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

Por exemplo, a string de RNA “AUGUUUUCU” tem três códons: “AUG”, “UUU” e “UCU”. Eles correspondem a Methionine, Phenylalanine e Serine.

Códons “STOP”

Você vai notar na tabela acima que existem três códons “STOP”. Se você encontrar algum desses códons, ignore o resto da sequência: a proteína está completa.

Por exemplo, “AUGUUUUCUUAAAUG” contém um códon STOP (“UAA”). Quando chegamos nesse ponto, paramos o processamento. Por isso, consideramos apenas a parte anterior a ele (ou seja, “AUGUUUUCU”), e não os códons que vêm depois (ou seja, “AUG”).

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

Memória reservada

Os bytes 1024-1279 da memória linear são reservados para a string de entrada.

A string de entrada pode ser modificada no próprio local, se você quiser.

Formato de entrada

Os códons são entregues concatenados, sem preenchimento, como uma string.

Formato de saída

Produza a sequência de proteínas como uma string terminada em null, com um caractere de nova linha depois de cada proteína.

Um exemplo de saída seria "Methionine\nPhenylalanine\nSerine\n"

Se a entrada for inválida, produza uma string vazia.


Fonte

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

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

Crie sua conta no Exercism para aprender e dominar WebAssembly com 87 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.