Retour à Première Spécialité

L’expression du patrimoine génétique

Capacités :
Concevoir un algorithme de traduction d’une séquence d’ARN et éventuellement le programmer dans un langage informatique (par exemple Python)

Difficulté : Niveau 1

La séquence du gène fournie (brin transcrit) commence par le codon d’initiation et finit à un codon stop.

Étape a – Concevoir un algorithme de transcription d’une séquence d’ADN et le programmer en Python.

Fichier Transcription_niveau_1.py

Éditeur

gene_1=’TACAAAAACAAGATT’ # 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

>>> 

AUGUUUUUGUUCUAA

>>> 

Étape b – Concevoir un algorithme de traduction d’une séquence d’ARNm et le programmer en Python.

Fichier Transcription_traduction_niveau_1.py (ndp : seuls les codons et leur acide aminé correspondant utiles pour cette séquence sont listés dans le programme)

Éditeur (début identique au fichier précédent sans print(arn_1))

# 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[0:long_arn_1] # Transformation en liste de la chaîne de caractères arn_1 du caractère 0 (qui correspond en fait au premier caractère de la chaîne) 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 23 est remplacé par la valeur de la variable (liste_arn_1) de la ligne 21 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

>>>