teaching:progappchim:dictionaries_adn_arn_protein

Traduction ADN-ARN-protéine

Avec l'interface Tk. Voir aussi le programme Traduction de l'ADN en séquence d'acides aminés (protéine) : utilisation d'un dictionnaire (type Python)

<sxh python; title : dictionaries_adn_arn_protein.py> #!/usr/bin/env python # -*- coding: utf-8 -*- “”“ Traduction de codes ADN en ARN et protéine. Basé sur le travail de NR et CVDD, ba2 chimie 2013-2014 ”“” from Tkinter import * # permet d'importer et d'utiliser toutes les fonctions de la librairie Tkinter

# nous allons définir la fonction “traduction en AM1” def traduction_en_AM1():

  gencode1 = {                   
  'ATA':'Y', 'ATC':'STOP', 'ATT':'STOP', 'ATG':'Y',  
  'ACA':'C', 'ACC':'W', 'ACG':'C', 'ACT':'STOP',  
  'AAC':'L', 'AAT':'L', 'AAA':'F', 'AAG':'F',  
  'AGC':'S', 'AGT':'S', 'AGA':'S', 'AGG':'S',  
  'CTA':'D', 'CTC':'E', 'CTG':'D', 'CTT':'E',  
  'CCA':'G', 'CCC':'G', 'CCG':'G', 'CCT':'G',  
  'CAC':'V', 'CAT':'V', 'CAA':'V', 'CAG':'V',  
  'CGA':'A', 'CGC':'A', 'CGG':'A', 'CGT':'A',  
  'GTA':'H', 'GTC':'Q', 'GTG':'H', 'GTT':'Q',  
  'GCA':'R', 'GCC':'R', 'GCG':'R', 'GCT':'R',  
  'GAC':'L', 'GAT':'L', 'GAA':'L', 'GAG':'L',  
  'GGA':'P', 'GGC':'P', 'GGG':'P', 'GGT':'P',  
  'TCA':'S', 'TCC':'R', 'TCG':'S', 'TCT':'R',  
  'TTC':'K', 'TTT':'K', 'TTA':'N', 'TTG':'N',  
  'TAC':'M', 'TAT':'I', 'TAA':'I', 'TAG':'I',  
  'TGC':'T', 'TGT':'T', 'TGA':'T', 'TGG':'T',
  } # création d'un dictionnaire pr convertir chaque codon en acide aminé
  cha1 = entr1.get() # "cha1" va nous permettre d'exploiter les données (séquence d'ADN) entrées dans l'entrée "entr1"
  tex2='' # "tex2" correspond à la réponse correspondant à la commande "traduction en AM1"
  for n in range(0,len(cha1),3): # pour les entiers de la chaîne allant de 1 à 3 de la chaine "cha1"  
      if gencode1.has_key(cha1[n:n+3]) == True: # utilisation du dictionnaire gencode1, pour chaque codon (3 lettres), traduire en tex2
          tex2 += gencode1[cha1[n:n+3]]  
  text2.configure( text= "Résultat : "+tex2,fg='blue') # pour déterminer ce qui apparaitre dans la réponse 
  return tex2 # l'instruction return définit ce que doit être la valeur renvoyée par la fonction 

def traduction_en_ARNm():

  gencode2 = {
  'ATA':'UAU', 'ATC':'UAG', 'ATT':'UAA', 'ATG':'UAC',
  'ACA':'UGU', 'ACC':'UGG', 'ACG':'UGC', 'ACT':'UGA',
  'AAC':'UUG', 'AAT':'UUA', 'AAA':'UUU', 'AAG':'UUC',
  'AGC':'UCG', 'AGT':'UCA', 'AGA':'UCU', 'AGG':'UCC',
  'CTA':'GAU', 'CTC':'GAG', 'CTG':'GAC', 'CTT':'GAA',
  'CCA':'GGU', 'CCC':'GGG', 'CCG':'GGC', 'CCT':'GGA',
  'CAC':'GUG', 'CAT':'GUA', 'CAA':'GUU', 'CAG':'GUC',
  'CGA':'GCU', 'CGC':'GCG', 'CGG':'GCC', 'CGT':'GCA',  
  'GTA':'CAU', 'GTC':'CAG', 'GTG':'CAC', 'GTT':'CAA',  
  'GCA':'CGU', 'GCC':'CGG', 'GCG':'CGC', 'GCT':'CGA',  
  'GAC':'CUG', 'GAT':'CUA', 'GAA':'CUU', 'GAG':'CUC',  
  'GGA':'CCU', 'GGC':'CCG', 'GGG':'CCC', 'GGT':'CCA',  
  'TCA':'AGU', 'TCC':'AGG', 'TCG':'AGC', 'TCT':'AGA',  
  'TTC':'AAG', 'TTT':'AAA', 'TTA':'AAU', 'TTG':'AAC',  
  'TAC':'AUG', 'TAT':'AUA', 'TAA':'AUU', 'TAG':'AUC',  
  'TGC':'ACG', 'TGT':'ACA', 'TGA':'ACU', 'TGG':'ACC',
  }
  cha1 = entr1.get()
  tex2=''
  for n in range(0,len(cha1),3):  
      if gencode2.has_key(cha1[n:n+3]) == True:  
          tex2 += gencode2[cha1[n:n+3]]  
  text4.configure( text= "Résultat : "+tex2,fg='blue')

def traduction_en_AM2():

  gencode3 = {                   
  'ATA':'TYR-', 'ATC':'STOP-', 'ATT':'STOP-', 'ATG':'TYR-',  
  'ACA':'CYS-', 'ACC':'TRP-', 'ACG':'CYS-', 'ACT':'STOP-',  
  'AAC':'LEU-', 'AAT':'LEU-', 'AAA':'PHE-', 'AAG':'PHE-',  
  'AGC':'SER-', 'AGT':'SER-', 'AGA':'SER-', 'AGG':'SER-',  
  'CTA':'ASP-', 'CTC':'GLU-', 'CTG':'ASP-', 'CTT':'GLU-',  
  'CCA':'GLY-', 'CCC':'GLY-', 'CCG':'GLY-', 'CCT':'GLY-',  
  'CAC':'VAL-', 'CAT':'VAL-', 'CAA':'VAL-', 'CAG':'VAL-',  
  'CGA':'ALA-', 'CGC':'ALA-', 'CGG':'ALA-', 'CGT':'ALA-',  
  'GTA':'HIS-', 'GTC':'GLN-', 'GTG':'HIS-', 'GTT':'GLN-',  
  'GCA':'ARG-', 'GCC':'ARG-', 'GCG':'ARG-', 'GCT':'ARG-',  
  'GAC':'LEU-', 'GAT':'LEU-', 'GAA':'LEU-', 'GAG':'LEU-',  
  'GGA':'PRO-', 'GGC':'PRO-', 'GGG':'PRO-', 'GGT':'PRO-',  
  'TCA':'SER-', 'TCC':'ARG-', 'TCG':'SER-', 'TCT':'ARG-',  
  'TTC':'LYS-', 'TTT':'LYS-', 'TTA':'ASN-', 'TTG':'ASN-',  
  'TAC':'MET-', 'TAT':'ILE-', 'TAA':'ILE-', 'TAG':'ILE-',  
  'TGC':'THR-', 'TGT':'THR-', 'TGA':'THR-', 'TGG':'THR-',
  }
  cha1 = entr1.get()
  tex2=''
  for n in range(0,len(cha1),3):  
      if gencode3.has_key(cha1[n:n+3]) == True:  
          tex2 += gencode3[cha1[n:n+3]]  
  text3.configure( text= "Résultat : "+tex2,fg='blue')

fen1 = Tk() # pour créer et nommer la fenêtre fen1.title(“Traduction d'une séquenced'ADN en acides aminés”) fen1.geometry('800×450') fen1.configure(bg='white')

text1 = Label (fen1, text = “Veuillez introduire la séquence d'ADN :”,fg='red', background='White') text2 = Label (fen1, text = “”,background='white') text3 = Label (fen1, text = “”,background='White') text4 = Label (fen1, text = “”,background='White') text01 = Label (fen1, text = “”,background='White') text02 = Label (fen1, text = “”,background='White') text03 = Label (fen1, text = “”,background='White') text04 = Label (fen1, text = “”,background='White') text05 = Label (fen1, text = “”,background='White') text5 = Label (fen1, text = “ Vous pouvez consulter La DataBank regroupant toutes les protéines afin de voir si votre protéine est déja répertoriée : ”, background='white',fg='green') text6 = Label (fen1, text = “http://www.rcsb.org/pdb/home/home.do”,background='white',fg='green') entr1 = Entry(fen1, background='grey') button1 = Button(fen1, text='Structure primaire de la protéine', command =traduction_en_AM1) button2 = Button(fen1, text='Structure primaine de la protéine (code 3 lettres)', command =traduction_en_AM2) button3 = Button(fen1, text='Traduire ADN en ARNm', command =traduction_en_ARNm) button4 = Button(fen1, text='Quitter', command=fen1.destroy) text1.grid(row=2, column=2) text01.grid(row=3, column=2) text02.grid(row=5, column=2) text03.grid(row=8, column=2) text04.grid(row=11, column=2) text05.grid(row=14, column=2) text2.grid(row=13, column=2) text3.grid(row=10, column=2) text4.grid(row=7, column=2) text5.grid(row=15, column=2) text6.grid(row=16, column=2) entr1.grid(row=4, column=2) button1.grid(row=12, column=2) button2.grid(row=9, column=2) button3.grid(row=6, column=2) button4.grid(row=17, column=2)

fen1.mainloop() # lance la boucle principale </sxh>

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus
  • teaching/progappchim/dictionaries_adn_arn_protein.txt
  • Dernière modification: 2016/03/04 16:14
  • de villersd