Parcours
/
Haskell
Haskell
/
Exercices
/
Traduction des protéines
Traduction des protéines

Traduction des protéines

Facile

Instructions

Traduis des séquences d'ARN en protéines.

L'ARN peut être découpé en séquences de trois nucléotides appelées codons, puis traduit en une protéine comme ceci :

ARN : "AUGUUUUCU" => se traduit en

Codons : "AUG", "UUU", "UCU" => qui donnent une protéine dont la séquence est la suivante =>

Protéine : "Methionine", "Phenylalanine", "Serine"

Il existe 64 codons qui correspondent à 20 acides aminés ; cependant, dans cet exercice, l'ensemble des séquences de codons et des acides aminés qui en résultent n'a pas d'importance. Si ton programme fonctionne pour un codon, il devrait fonctionner pour tous les autres. Cependant, n'hésite pas à compléter la liste de la suite de tests pour les inclure tous.

Il existe aussi trois codons terminaux (aussi appelés codons « STOP ») ; si l'un de ces codons est rencontré (par le ribosome), la traduction s'arrête et la protéine est terminée.

Tous les codons suivants sont ignorés, comme ceci :

ARN : "AUGUUUUCUUAAAUG" =>

Codons : "AUG", "UUU", "UCU", "UAA", "AUG" =>

Protéine : "Methionine", "Phenylalanine", "Serine"

Note que le codon stop "UAA" met fin à la traduction et que la Methionine finale n'est pas traduite dans la séquence de la protéine.

Voici les codons et les acides aminés correspondants dont tu as besoin pour cet exercice.

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

Pour en savoir plus sur la traduction des protéines sur Wikipédia.


Source

Tyler Long
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Haskell Exercism

Prêt à commencer Traduction des protéines ?

Inscris-toi sur Exercism pour apprendre et maîtriser Haskell avec 107 exercices, et un vrai mentorat humain, le tout gratuitement.

Analyse approfondie de Traduction des protéines !

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.