Traduce secuencias de ARN a proteínas.
El ARN se puede dividir en secuencias de tres nucleótidos llamadas codones y luego traducirse a una proteína así:
ARN: "AUGUUUUCU" => se traduce a
Codones: "AUG", "UUU", "UCU"
=> que se convierten en una proteína con la siguiente secuencia =>
Proteína: "Methionine", "Phenylalanine", "Serine"
Hay 64 codones que, a su vez, corresponden a 20 aminoácidos; sin embargo, no todas las secuencias de codones y los aminoácidos resultantes son importantes en este ejercicio. Si funciona para un codón, el programa debería funcionar para todos ellos. No obstante, puedes ampliar la lista del conjunto de pruebas para incluirlos todos si lo deseas.
También hay tres codones de terminación (conocidos como codones 'STOP'); si el ribosoma se encuentra con alguno de estos codones, la traducción finaliza y la proteína queda terminada.
Todos los codones posteriores se ignoran, así:
ARN: "AUGUUUUCUUAAAUG" =>
Codones: "AUG", "UUU", "UCU", "UAA", "AUG" =>
Proteína: "Methionine", "Phenylalanine", "Serine"
Fíjate en que el codón de parada "UAA" termina la traducción y la metionina final no se traduce en la secuencia de proteína.
A continuación se muestran los codones y los aminoácidos resultantes necesarios para el ejercicio.
| 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 |
Aprende más sobre la traducción de proteínas en Wikipedia.
Regístrate en Exercism para aprender y dominar Haskell con 107 ejercicios y mentoría humana real, todo gratis.
Explora 11 formas distintas de resolver este ejercicio, como enfoques imperativos, 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 ensamblador.