Voir le flux RSS

danielhagnoul

Python. Traducteur de bases azotées (ARN ou ADN) en protéines.

Noter ce billet
par , 08/06/2020 à 10h41 (193 Affichages)
Traducteur

Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#! python3
# coding: utf-8
 
""" Python. Traducteur de bases azotées (ARN ou ADN) en protéines. """
 
 
import requests
 
 
def traducteur_basesAzotees__proteine(sequence="ATTGCCTTACAAGTATACGGGTTACTAAA"):
    """
        Traducteur de bases azotées (ARN ou ADN) en protéines 
        Dans ce programme la variable "sequence" est répliquée, transcrite puis traduite.
    """
    replique = ""
    transcrite = ""
    traduite = ""
 
    dict_repliquer = {
        "A": "T",
        "T": "A",
        "G": "C",
        "C": "G",
    }
 
    for nucleotide in sequence:
        replique += dict_repliquer[nucleotide]
 
    dict_transcrire = {
        "A": "U",
        "T": "A",
        "G": "C",
        "C": "G",
    }
 
    for nucleotide in replique:
        transcrite += dict_transcrire[nucleotide]
 
    """ Trouver le codon initiateur (s'il y en a un) """
    numero = 0
    numbis = 0
    while numero < len(transcrite)-2:
        if transcrite[numero:numero+3] == "AUG":
            numbis = numero
            break
        numero += 1
 
    dict_traduire = {
        'GCU': 'Ala', 'GCC': 'Ala', 'GCA': 'Ala', 'GCG': 'Ala',
        'CGU': 'Arg', 'CGC': 'Arg', 'CGA': 'Arg', 'CGG': 'Arg',
        'AGA': 'Arg', 'AGG': 'Arg', 'AAU': 'Asn', 'AAC': 'Asn',
        'GAU': 'Asp', 'GAC': 'Asp', 'UGU': 'Cys', 'UGC': 'Cys',
        'CAA': 'Gln', 'CAG': 'Gln', 'GAA': 'Glu', 'GAG': 'Glu',
        'GGU': 'Gly', 'GGC': 'Gly', 'GGA': 'Gly', 'GGG': 'Gly',
        'CAU': 'His', 'CAC': 'His', 'AUU': 'Ile', 'AUC': 'Ile',
        'AUA': 'Ile', 'UUA': 'Leu', 'UUG': 'Leu', 'CUU': 'Leu',
        'CUC': 'Leu', 'CUA': 'Leu', 'CUG': 'Leu', 'AAA': 'Lys',
        'AAG': 'Lys', 'AUG': 'Met', 'UUU': 'Phe', 'UUC': 'Phe',
        'CCU': 'Pro', 'CCC': 'Pro', 'CCA': 'Pro', 'CCG': 'Pro',
        'UCU': 'Ser', 'UCC': 'Ser', 'UCA': 'Ser', 'UCG': 'Ser',
        'AGU': 'Ser', 'AGC': 'Ser', 'ACU': 'Thr', 'ACC': 'Thr',
        'ACA': 'Thr', 'ACG': 'Thr', 'UGG': 'Trp', 'UAU': 'Tyr',
        'UAC': 'Tyr', 'GUU': 'Val', 'GUC': 'Val', 'GUA': 'Val',
        'GUG': 'Val', 'UAG': 'Stop', 'UGA': 'Stop', 'UAA': 'Stop',
    }
 
    """ Traduire la séquence en protéine """
    if numbis < len(transcrite)-2:
        list_item = [transcrite[i:i+3]
                     for i in range(numbis, len(transcrite), 3)]
        for item in list_item:
            if len(item) == 3:
                traduite += dict_traduire[item]
    else:
        print("Il n'y a pas de codon initiateur")
    return (sequence, replique, transcrite, traduite)
 
 
def lecture_fichier_fasta(chemin="https://danielhagnoul.developpez.com/blog/bases_azotees.fasta",
                          code="utf-8", erreur="ignore"):
    page = requests.get(chemin)
    dict_sequence = {}
    sequence_id = ""
    for line in page.iter_lines():
        ligne = line.decode(encoding=code, errors=erreur)
        if ligne.startswith(">"):
            sequence_id = ligne[1:].split()[0]
            dict_sequence[sequence_id] = ""
        else:
            dict_sequence[sequence_id] += ligne.strip()
    return dict_sequence
 
 
sequences = lecture_fichier_fasta()
 
for id in sequences:
    print("Séquence : ", id)
    t = traducteur_basesAzotees__proteine(sequences[id])
    print("Bases azotées : ", t[0])
    print("Protéines : ", t[3])
    print("===================")

Liste des protéines et leurs abréviations

Nom : acides_amines.png
Affichages : 23
Taille : 47,6 Ko

Fichier FASTA


Exemple, l'insuline sur GenBank :



Documentation Wiki

  1. Base azotée
  2. Protéine
  3. Biosynthèse des protéines
  4. Code génétique


Licence Creative Commons Attribution 2.0 Belgique

Envoyer le billet « Python. Traducteur de bases azotées (ARN ou ADN) en protéines. » dans le blog Viadeo Envoyer le billet « Python. Traducteur de bases azotées (ARN ou ADN) en protéines. » dans le blog Twitter Envoyer le billet « Python. Traducteur de bases azotées (ARN ou ADN) en protéines. » dans le blog Google Envoyer le billet « Python. Traducteur de bases azotées (ARN ou ADN) en protéines. » dans le blog Facebook Envoyer le billet « Python. Traducteur de bases azotées (ARN ou ADN) en protéines. » dans le blog Digg Envoyer le billet « Python. Traducteur de bases azotées (ARN ou ADN) en protéines. » dans le blog Delicious Envoyer le billet « Python. Traducteur de bases azotées (ARN ou ADN) en protéines. » dans le blog MySpace Envoyer le billet « Python. Traducteur de bases azotées (ARN ou ADN) en protéines. » dans le blog Yahoo

Commentaires