Niveau
1ère Spécialité
Compétences (BO)
Communiquer et utiliser le numérique
Compétences du CRCN (cadre de référence des compétences numériques)
Domaine 3 : Création de contenus; compétence 3.4: Programmer
Connaissances et capacités associées
La Terre, la vie et l’organisation du vivant
Transmission, variation et expression du patrimoine génétique
L’expression du patrimoine génétique
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).
Objectifs de l’activité et sa place dans la démarche
- Le no-code utilise la programmation déclarative : vous dites au système ce que vous voulez qu'il fasse, et vous le construisez. En no-code, le créateur de l'application définit ce que l'application fait plutôt que la manière dont elle le fait. Le chatbot Copilot (ou chatGPT) permet de créer des programmes informatiques pouvant être utiles en SVT. L’IA permet de réaliser facilement un algorithme pour coder une séquence d'acides aminés à partir d'une séquence d'ARNm afin de comprendre le principe de la traduction.
- Cette activité présente l’intérêt de faire découvrir le code génétique au travers de la lecture et/ou de l’exécution d’un programme informatique. Il précise comment sont obtenues « automatiquement », sans justification, les séquences peptidiques proposées par les outils numériques classiquement utilisés en classe comme Genigen2 ou Anagène.
Description de l’activité
Les élèves cherchent à comprendre comment la séquence en acides aminés est déterminée à partir d’une séquence d’ARNm.
Cette activité peut être proposée aux élèves dont les préacquis suivants sont nécessaires :
- L’ADN est le support de l’information génétique
- L’ARNm est un vecteur d’information dans la cellule
- La protéine est formée d’acides aminés (20 au total) à partir de la traduction d’un ARN messager
Pour comprendre le code génétique, le professeur propose aux élèves :
- de construire un programme informatique permettant de coder une séquence d'acides aminés à partir d'une séquence d'ARN.
- de tester ce programme afin de vérifier sa validité (le professeur donne alors une séquence en ARN et la séquence en acides aminés correspondante)
- d’expliquer le principe de la traduction de l'ARNm à partir de l’algorithme généré et de tests du programme.
Voici un exemple de prompt utilisé avec le chatbot Copilot (accessible via Bing ou téléchargeable sur Smartphone) et le résultat obtenu :
Prompt : « je veux construire un programme python permettant de coder une séquence d'acides aminés, nomenclature en français, à partir d'une séquence d'ARN proposée par l'utilisateur »
Résultat généré par Copilot :
# Dictionnaire de codons ARN vers acides aminés
codon_to_aa = {
'UUU': 'Phénylalanine', 'UUC': 'Phénylalanine', 'UUA': 'Leucine', 'UUG': 'Leucine',
'UCU': 'Sérine', 'UCC': 'Sérine', 'UCA': 'Sérine', 'UCG': 'Sérine',
'UAU': 'Tyrosine', 'UAC': 'Tyrosine', 'UAA': 'Stop', 'UAG': 'Stop',
'UGU': 'Cystéine', 'UGC': 'Cystéine', 'UGA': 'Stop', 'UGG': 'Tryptophane',
'CUU': 'Leucine', 'CUC': 'Leucine', 'CUA': 'Leucine', 'CUG': 'Leucine',
'CCU': 'Proline', 'CCC': 'Proline', 'CCA': 'Proline', 'CCG': 'Proline',
'CAU': 'Histidine', 'CAC': 'Histidine', 'CAA': 'Glutamine', 'CAG': 'Glutamine',
'CGU': 'Arginine', 'CGC': 'Arginine', 'CGA': 'Arginine', 'CGG': 'Arginine',
'AUU': 'Isoleucine', 'AUC': 'Isoleucine', 'AUA': 'Isoleucine', 'AUG': 'Méthionine',
'ACU': 'Thréonine', 'ACC': 'Thréonine', 'ACA': 'Thréonine', 'ACG': 'Thréonine',
'AAU': 'Asparagine', 'AAC': 'Asparagine', 'AAA': 'Lysine', 'AAG': 'Lysine',
'AGU': 'Sérine', 'AGC': 'Sérine', 'AGA': 'Arginine', 'AGG': 'Arginine',
'GUU': 'Valine', 'GUC': 'Valine', 'GUA': 'Valine', 'GUG': 'Valine',
'GCU': 'Alanine', 'GCC': 'Alanine', 'GCA': 'Alanine', 'GCG': 'Alanine',
'GAU': 'Acide aspartique', 'GAC': 'Acide aspartique', 'GAA': 'Acide glutamique', 'GAG': 'Acide glutamique',
'GGU': 'Glycine', 'GGC': 'Glycine', 'GGA': 'Glycine', 'GGG': 'Glycine'
}
def traduire_arn(arn):
# Vérifie que la séquence d'ARN est divisible par 3
if len(arn) % 3 != 0:
return "La séquence d'ARN n'est pas divisible par 3."
# Traduit la séquence d'ARN en acides aminés
acides_amines = []
for i in range(0, len(arn), 3):
codon = arn[i:i+3]
if codon in codon_to_aa:
acides_amines.append(codon_to_aa[codon])
else:
return "Codon non reconnu: " + codon
return acides_amines
# Demande à l'utilisateur d'entrer une séquence d'ARN
arn = input("Veuillez entrer une séquence d'ARN : ")
print(traduire_arn(arn))
Le programme peut alors être testé sur le site CAPYTALE https://capytale2.ac-paris.fr/web/c-auth/list disponible via les ENT dont Atrium.
D'autres sites permettent ce même test comme, https://notebook.basthon.fr/
(coller le code généré, puis cliquer sur « Exécuter »).
Ci-dessous un exemple de capture d’écran :
Analyse de la séance / du scénario avec un retour d’expérience
Les élèves sont parvenus à écrire des lignes de code sans pour autant maîtriser au préalable le langage de programmation Python. L'IA apporte ainsi un intérêt certain dans la conception de programmes informatiques. Outre cet aspect technique dépassé, les élèves ont pu tester des hypothèses à partir de l'analyse du code généré par l'IA et grâce à l'exécution du programme. En cela, l'utilisation de l'IA pour coder un programme de traduction et l'exécuter pour en voir des résultats d'encodage de séquences peptidiques apporte une valeur ajoutée par rapport à une simple utilisation de Geniegen2 par exemple dont le programme d'exécution est invisible pour les élèves.
Points de vigilance
La procédure de mise en forme du programme avant son exécution nécessite de faire quelques tests préalables. De plus, il convient de préciser dans le prompt que la nomenclature des acides aminés soit celle utilisée en français. A défaut, les acides aminés sont nommés par un code avec des lettres majuscules. Il est également conseillé de demander à l'IA de ne pas justifier le code généré, ce qui est fait par défaut dans Copilot.
Enfin, il peut être utile d'apporter des compléments au programme pour introduire des boucles permettant de réitérer des requêtes afin de tester le programme de façon approfondi.
Exemple : reproduire la requête deux autres fois en ajoutant à la fin du code :
Ressources
D'autres sites permettent ce même test comme, https://notebook.basthon.fr/
En complément de cette activité, la lecture de l’article suivant peut s’avérer utile :
https://www.pedagogie.ac-aix-marseille.fr/jcms/c_10708001/fr/proposition-dun-contexte-pour-la-programmation-en-python-dun-traducteur-arn-ou-adn-/-proteine-en-premiere-specialite-svt?preview=true
D'autres activités produites dans le cadre du TraAM : "Éthique et formations à l’esprit critique dans les usages des outils d’IA en SVT"
Nom de l'auteur et mail :
Mathieu Goirand : prenom.nom@ac-aix-marseille.fr