Capacités :
Concevoir un algorithme de traduction d’une séquence d’ARN et éventuellement le programmer dans un langage informatique (par exemple Python)
Étape a – Concevoir un algorithme de transcription d’une séquence d’ADN et le programmer en Python.
Fichier Transcription_traduction_niveau_2.py
Éditeur
gene_1=’CCCGTTACAAAAACAAGATTTTTTTT’ # BRIN TRANSCRIT def transcription(message) : # définit un programme appelé transcription arn= » # indique la variable qui va être remplie par notre programme for caractere in message : # boucle bornée if caractere ==’A’ : # cette ligne teste si le caractère est A d’où == caractere=’U’ # cette ligne est une affectation : on ajoute U comme caractère dans arn d’où = elif caractere ==’T’ : caractere =’A’ elif caractere ==’G’ : caractere =’C’ else : caractere =’G’ arn=arn+caractere # à chaque tour un caractère est ajouté dans arn return arn arn_1=transcription(gene_1) # « message » de la ligne 2 est remplacé par la valeur de la variable (gene_1) de la ligne 1 et le programme est réalisé sur la valeur de gene_1 print(arn_1) # affiche dans la console le résultat du programme « transcription » |
Console
>>> GGGCAAUGUUUUUGUUCUAAAAAAAA >>> |
Étape b – Concevoir un algorithme de traduction d’une séquence d’ARNm et le programmer en Python.
Éditeur (suite de l’étape précédente)
codon_initiation=’AUG’ position_codon_initiation_arn_1=arn_1.find(codon_initiation) # cherche la position du codon d’initiation # nécessité de transformer la chaîne de caractères arn_1 en liste pour appliquer la fonction traduction à venir plus bas c’est-à-dire de lire la chaîne de caractères de 3 en 3 long_arn_1=len(arn_1) # calcule le nombre de caractères dans arn_1 liste_arn_1=arn_1[position_codon_initiation_arn_1:long_arn_1] # Transformation en liste de la chaîne de caractères arn_1 du premier caractère du codon d’initiation au dernier caractère def traduction(message): # définit un programme appelé traduction qui s’appliquera à la liste liste_arn_1 i=0 protein_1= » # indique la variable qui va être remplie par notre programme for i in range(0,long_arn_1,3): # boucle bornée où i prend les valeurs de 0 (premier caractère) à la valeur de la lg de la liste -1 (dernier caractère) avec un pas de 3 if liste_arn_1[i:i+3]== »UUU » or liste_arn_1[i:i+3]== »UUC »: protein_1=protein_1+ »Phe » # à chaque tour le nom de l’AA est ajouté dans protein_1 si c’est le codon correspondant qui est rencontré elif liste_arn_1[i:i+3]== »UUG » or liste_arn_1[i:i+3]== »UUA » or liste_arn_1[i:i+3]== »CUU » or liste_arn_1[i:i+3]== »CUC » or liste_arn_1[i:i+3]== »CUA » or liste_arn_1[i:i+3]== »CUG »: protein_1=protein_1+ »Leu » elif liste_arn_1[i:i+3]== »AUG »: protein_1=protein_1+ »Met » elif liste_arn_1[i:i+3]== »UAA » or liste_arn_1[i:i+3]== »UAG » or liste_arn_1[i:i+3]== »UGA »: # quand la boucle rencontre un des trois codons stop, elle s’arrête et renvoie la chaîne d’AA obtenue (ligne suivante return(protein_1) return(protein_1) protein_1=traduction(liste_arn_1) # « message » de la ligne 44 est remplacé par la valeur de la variable (liste_arn_1) de la ligne 42 et le programme est réalisé sur la valeur de liste_arn_1 print(protein_1) # affiche dans la console le résultat du programme « traduction » |
Console
>>> MetPheLeuPhe >>> |