Ton travail consiste à traduire des séquences d'ARN en protéines.
Les brins d'ARN sont constitués de séquences de trois nucléotides appelées codons. Chaque codon se traduit par un acide aminé. Lorsqu'ils sont assemblés, ces acides aminés forment une protéine.
Dans la réalité, il existe 64 codons, qui correspondent à 20 acides aminés. Cependant, dans cet exercice, tu n'utiliseras que quelques-uns de ces 64 codons possibles. Ils sont listés ci-dessous :
| Codon | Acide aminé |
|---|---|
| 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 |
Par exemple, la string d'ARN « AUGUUUUCU » contient trois codons : « AUG », « UUU » et « UCU ». Ils correspondent à Methionine, Phenylalanine et Serine.
Tu remarqueras dans le tableau ci-dessus qu'il existe trois codons « STOP ». Si tu rencontres l'un de ces codons, ignore le reste de la séquence : la protéine est complète.
Par exemple, « AUGUUUUCUUAAAUG » contient un codon STOP (« UAA »). Une fois que l'on arrive à ce point, on arrête le traitement. On ne considère donc que la partie qui précède (c'est-à-dire « AUGUUUUCU »), et non les codons qui suivent (c'est-à-dire « AUG »).
Pour en savoir plus sur la traduction des protéines sur Wikipédia.
Inscris-toi sur Exercism pour apprendre et maîtriser Pyret avec 66 exercices, et un vrai mentorat humain, le tout gratuitement.
Explore 11 façons différentes de résoudre cet exercice, notamment des approches impératives, des idées fonctionnelles comme le filtrage par motif, la récursivité et les fonctions d'ordre supérieur, ainsi que du code de bas niveau en C++ et en assembleur.