Tracks
/
WebAssembly
WebAssembly
/
Ejercicios
/
Traducción de proteínas
Traducción de proteínas

Traducción de proteínas

Intermedia

Instrucciones

Tu tarea es traducir secuencias de ARN a proteínas.

Las hebras de ARN están formadas por secuencias de tres nucleótidos llamadas codones. Cada codón se traduce a un aminoácido. Cuando se unen, esos aminoácidos forman una proteína.

En el mundo real hay 64 codones, que a su vez corresponden a 20 aminoácidos. Sin embargo, para este ejercicio solo usarás unos pocos de los 64 posibles. Se listan a continuación:

Codón 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 ejemplo, la cadena de ARN «AUGUUUUCU» tiene tres codones: «AUG», «UUU» y «UCU». Estos corresponden a Methionine, Phenylalanine y Serine.

Codones «STOP»

Como verás en la tabla anterior, hay tres codones «STOP». Si te encuentras con alguno de estos codones, ignora el resto de la secuencia: la proteína está completa.

Por ejemplo, «AUGUUUUCUUAAAUG» contiene un codón «STOP» («UAA»). Una vez que llegamos a ese punto, dejamos de procesar. Por lo tanto, solo consideramos la parte anterior a él (es decir, «AUGUUUUCU»), y no los codones que vienen después (es decir, «AUG»).

Aprende más sobre la traducción de proteínas en Wikipedia.

Memoria reservada

Los bytes 1024-1279 de la memoria lineal están reservados para el string de entrada.

El string de entrada se puede modificar en el mismo lugar si lo deseas.

Formato de entrada

Los codones se entregan concatenados y sin relleno, como un string.

Formato de salida

Devuelve la secuencia de proteínas como un string terminado en nulo, con un carácter de salto de línea después de cada proteína.

Un ejemplo de salida sería "Methionine\nPhenylalanine\nSerine\n"

Si la entrada no es válida, devuelve un string vacío.


Fuente

Tyler Long
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
WebAssembly Exercism

¿Todo listo para empezar Traducción de proteínas?

Regístrate en Exercism para aprender y dominar WebAssembly con 87 ejercicios y mentoría humana real, todo gratis.

¡Profundiza en Traducción de proteínas!

Explora 11 formas diferentes de resolver este ejercicio, incluidas aproximaciones imperativas, ideas funcionales como la coincidencia de patrones, la recursión y las funciones de orden superior, y algo de código de bajo nivel en C++ y Assembly.