Il tuo compito è tradurre sequenze di RNA in proteine.
I filamenti di RNA sono composti da sequenze di tre nucleotidi chiamate codoni. Ogni codone si traduce in un amminoacido. Quando si uniscono, questi amminoacidi formano una proteina.
Nel mondo reale esistono 64 codoni, che a loro volta corrispondono a 20 amminoacidi. Tuttavia, per questo esercizio userai solo alcuni dei 64 possibili. Sono elencati di seguito:
| Codone | Amminoacido |
|---|---|
| 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 |
Per esempio, la stringa di RNA «AUGUUUUCU» ha tre codoni: «AUG», «UUU» e «UCU». Questi corrispondono a Methionine, Phenylalanine e Serine.
Noterai dalla tabella qui sopra che ci sono tre codoni «STOP». Se incontri uno di questi codoni, ignora il resto della sequenza: la proteina è completa.
Per esempio, «AUGUUUUCUUAAAUG» contiene un codone «STOP» («UAA»). Una volta raggiunto quel punto, interrompiamo l'elaborazione. Consideriamo quindi solo la parte che precede (cioè «AUGUUUUCU»), non gli eventuali codoni successivi (cioè «AUG»).
Scopri di più sulla traduzione delle proteine su Wikipedia.
Iscriviti a Exercism per imparare e padroneggiare Lean con 100 esercizi e il mentoring di persone reali, tutto gratis.
Esplora 11 modi diversi di risolvere questo esercizio, tra cui approcci imperativi, idee funzionali come il pattern matching, la ricorsione e le funzioni di ordine superiore, e un po' di programmazione a basso livello in C++ e Assembly.