Avertissement : ce n’est pas une séquence pédagogique qui est proposée ici, mais une explication sur la manière de présenter la traduction de l’ARN sous la forme d’un algorithme. Il est souhaitable d’avoir quelques bases en algorithmique et en python pour pouvoir comprendre les programmes présentés.
Professeur
- Stanislas Dorey - Lycée Albert Camus Bois Colombes (92)
LIAISON AVEC LE PROGRAMME | |
---|---|
Niveau concerné | Première : enseignement de spécialité |
Partie du programme : | La Terre, la vie et l’organisation du vivant Transmission, variation et expression du patrimoine génétique |
PLACE DANS LA PROGRESSION |
---|
Dans le thème « La Terre, la vie et l’organisation du vivant », dans le point « Transmission, variation et expression du patrimoine génétique », dans la partie sur « L’expression du patrimoine génétique », lors de l’explication de la traduction de l’ARN messager en protéines, il est demandé de concevoir un algorithme de traduction d’une séquence d’ARN et éventuellement de le programmer dans un langage informatique (par exemple Python). |
Cadre de référence des compétences numériques (CRCN) | |
---|---|
Communication et collaboration |
|
Création de contenus |
|
Environnement numérique |
|
Informations et données |
|
NOTIONS, SAVOIR-FAIRE, COMPETENCES | |
---|---|
NOTIONS | Extraits du Bulletin officiel spécial n° 1 du 22 janvier 2019 Chez les eucaryotes, la transcription a lieu dans le noyau et certains des ARN formés, après maturation éventuelle, sont exportés dans le cytoplasme. Parmi ceux-ci se trouvent les ARN messagers qui dirigent la synthèse de protéines lors d’un processus dénommé traduction. Le code génétique est un système de correspondance, universel à l’ensemble du monde vivant, qui permet la traduction de l’ARN messager en protéines. L’information portée par une molécule d’ARN messager (le message génétique) est ainsi convertie en une information fonctionnelle (la séquence des acides aminés de la protéine). |
SAVOIR-FAIRE | Concevoir un algorithme de traduction d’une séquence d’ARN et éventuellement le programmer dans un langage informatique (par exemple Python). |
COMPETENCES |
|
Outils numériques et ressources |
---|
Si on souhaite faire fonctionner le programme Python, il faut un environnement pour faire fonctionner Python. 3 solutions sont envisageables :
|
Proposition d’un algorithme de traduction d’une séquence ARN
Dans un premier temps, on considère une séquence ARN qui commence directement avec un codon initiateur et qui se termine avec un codon STOP.
Dans ce cas simplifié, il suffit de faire une boucle (en algorithme et en programmation, une boucle permet de répéter plusieurs fois un bloc d’instructions). Dans cette boucle, on regarde à chaque itération 3 nucléotides de la séquence ARN afin d’identifier l’acide aminé correspondant. Ainsi, il est possible d’écrire un algorithme comme celui-ci :
On considère maintenant une séquence ARN qui ne commence pas nécessairement par un codon initiateur et qui ne finit pas forcément par un codon STOP. Il faut alors faire une première boucle pour déterminer le codon initiateur. Puis, il faut faire une deuxième boucle similaire à celle vue dans le cas précédent, sauf qu’en plus il faudra arrêter la boucle si l’acide aminé identifié est un codon STOP. Ainsi, il est possible d’écrire un algorithme comme celui-ci présenté dans le document ci-dessous.
Proposition d’un programme en Python de traduction d’une séquence ARN
Il est possible de programmer en Python l’algorithme précédent.
Afin de pouvoir bien comprendre le code proposé ici, il serait préférable de connaitre les notions suivantes en Python :
- les types de données int, string et list,
- la structure conditionnelle if et elif,
- la boucle while
- et les fonctions print() et len().
Il aurait été possible de programmer cet algorithme de manière plus élégante, mais cela aurait été plus technique (utilisation du type de données dictionnaire par exemple).
Le programme ci-dessous peut s’ouvrir dans n’importe quel éditeur de texte. Pour le faire fonctionner voir la section Outils numériques et ressources.
Lecture commentée du programme (mettre en plein écran) :
Programmer la réplication et la transcription d’une séquence ADN
Même si ce n’est pas demandé par le programme de SVT de Première, si on fait la programmation de la traduction en Python, il peut être intéressant de faire également la réplication et la transcription.
En effet, programmer la réplication est plus facile que la traduction, il pourrait peut-être même être intéressant de commencer par programmer la réplication avant de faire la traduction. Enfin, la programmation de la transcription revient au même que la programmation de la réplication. Voici, par exemple un algorithme de réplication de l’ADN :
Ci-dessous 2 propositions de programme en Python de réplication et de transcription d’une séquence ADN. Dans un cas avec des boucles While comme dans l’algorithme ci-dessus et dans l’autre cas avec des boucles For qui se prêtent particulièrement bien à parcourir une séquence.
Il est aussi possible de combiner dans un seul programme, la réplication, la transcription et la traduction.
Ressources complémentaires
- Le service Capytale pour faciliter la programmation en Python en SVT
- La formation PAF INITIATION A LA PROGRAMMATION AVEC PYTHON EN SVT sera reconduite en 2020-2021. Pour plus d’informations et inscriptions, consulter le Plan Académique de Formation. Vous trouverez les noms des formateurs et d’autres informations dans l’article Noms des professeurs formateurs DAFOR et formations SVT et EDD - PAF 2020/2021.
- Un autre exemple de programmation dans la console Vittascience permettant de construire et visualiser avec Python et Turtle un schéma d’une molécule d’ADN, pour travailler la complémentarité des bases. Adaptable pour travailler la transcription et la traduction.
- Le concours « Yes we code ! » est ouvert aux inscriptions. Plus d’informations sur le site cgenial.org et dans le document PDF ci-dessous.