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

Tradução de proteínas

Médio

Instruções

A tua tarefa é traduzir sequências de ARN em proteínas.

As cadeias de ARN são constituídas por sequências de três nucleótidos chamadas codões. Cada codão traduz-se num aminoácido. Quando se unem, esses aminoácidos formam uma proteína.

No mundo real existem 64 codões, que por sua vez correspondem a 20 aminoácidos. No entanto, neste exercício só vais usar alguns dos 64 possíveis. Estão listados a seguir:

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

Por exemplo, a string de ARN “AUGUUUUCU” tem três codões: “AUG”, “UUU” e “UCU”. Estes correspondem a Methionine, Phenylalanine e Serine.

Codões “STOP”

Repara que, na tabela acima, há três codões “STOP”. Se encontrares algum destes codões, ignora o resto da sequência: a proteína está completa.

Por exemplo, “AUGUUUUCUUAAAUG” contém um codão STOP (“UAA”). Assim que chegamos a esse ponto, deixamos de processar. Por isso, só consideramos a parte anterior a ele (ou seja, “AUGUUUUCU”), e não os codões que vêm depois (ou seja, “AUG”).

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

Memória reservada

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

Se quiseres, podes modificar a string de entrada no próprio local.

Formato da entrada

Os codões são entregues como uma string, concatenados e sem preenchimento.

Formato da saída

Produz a sequência de proteínas como uma string terminada em null, com um caráter de nova linha depois de cada proteína.

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

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


Fonte

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

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

Inscreve-te no Exercism para aprenderes e dominares WebAssembly com 87 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.