# data[].attributes.body
On peut utiliser une liste pour entrer le code génétique dans le programme

# data[].attributes.headline
Ouverture, lecture et écriture dans un fichier texte

# data[].attributes.subject
Ouverture, lecture et écriture dans un fichier texte

# data[].attributes.headline
Aide variable type String pour le parcours de la séquence ARN

# data[].attributes.subject
Aide variable type String pour le parcours de la séquence ARN

# data[].attributes.headline
Aide pour les tuples et le code génétique

# data[].attributes.subject
Aide pour les tuples et le code génétique

# data[].attributes.headline
Aide cœur du programme, appel de fonction

# data[].attributes.subject
Aide cœur du programme, appel de fonction

# data[].attributes.attachment_link.readable_text
# coding: utf-8
##########
########## Section 1 Système de correspondance et fonctions: on crée le code génétique (c'est un tableau(tuple) qui contient des tableaux), et deux fonctions, une pour chercher le codon start et une autre pour la traduction.
##########

code = [["Phe","UUU","UUC"],["Leu","UUA","UUG","CUU","CUC","CUA","CUG"],["Ile","AUU","AUC","AUA"],["Met","AUG"],["Val","GUU","GUC","GUA","GUG"],["Ser","UCU","UCC","UCA","UCG","AGU","AGC"],["Pro","CCU","CCC","CCA","CCG"],["Thr","ACU","ACC","ACA","ACG"],["Ala","GCU","GCC","GCA","GCG"],["Tyr","UAU","UAC"],["His","CAU","CAC"],["Gln","CAA","CAG"],["Asn","AAU","AAC"],["Lys","AAA","AAG"],["Asp","GAU","GAC"],["Glu","GAA","GAG"],["Cys","UGU","UGC"],["Trp","UGG"],["Arg","CGU","CGC","CGA","CGG","AGA","AGG"],["Gly","GGU","GGC","GGA","GGG"]]

def codonStart(sequence): # Fonction de recherche du codon start
        codon_start = -1
        for i in range(len(sequence)-2):
                if (sequence[i] == 'A') and (sequence[i+1] == 'U') and (sequence[i+2] == 'G'):
                        codon_start = i
                        break

        return codon_start

def traduction(sequence,position):  # Fonction de traduction
        proteine = []
        if (position != -1): # Si il y a un codon start on lance la traduction
                codon=''
                for i in range(position,len(sequence)-3,3):
                        codon = sequence[i]+sequence[i+1]+sequence[i+2]       # on avance codon par codon et on vérifie si le codon est dans le code génétique
                        for aa in range(len(code)):
                                if codon in code[aa]:                                    # si le codon signifie un acide aminée, on ajoute celui-ci à la séquence de la protéine (on ajoute à le fin du tableau)
                                        proteine.append(code[aa][0])
        else:   # On indique s'il n'y a pas de codon start et on ne crée pas de nouveau fichier
                print('\nLa séquence "A_arn.txt" ne code pas pour une proteine')

        return proteine  # on retourne la proteine

##########
########## Section 2 Programme
##########

# On ouvre le fichier contenant la séquence à traduire
fichier = open('sequences/A_arn.txt','r')
sequence_arn = fichier.read() # On lit la ligne contenant la séquence
fichier.close() # On ferme le fichier

# Cœur du programme
position_depart = codonStart(sequence_arn)  # on cherche la position du codon start
sequence_pro = traduction(sequence_arn,position_depart) # On crée la variable qui contiendra les acides aminés de la protéine, cette variable sera un tableau et on lance la traduction

# si il y a une protéine alors on enregistre la séquence d'acides aminés
if (sequence_pro): 
	fichier = open('sequences/A_trad.txt','w')
	fichier.write('Protéine synthétisée:'+'-'.join(sequence_pro)) # la fonction join() met le tableau d'acide aminés sous forme de liste et les sépare d'un tiret
	fichier.close()
	print('-'.join(sequence_pro))# (optionnel) On affiche la séquence d'acides aminés si l'on souhaite
	print('\nLa séquence ARN "A_arn.txt" a été traduite, le résultat se trouve dans le fichier : "A_trad.txt"')

# data[].attributes.body
Le programme ci-dessus va lire et créer des fichiers dans un dossier appelé "sequences". Ce dossier doit être dans le même dossier que le programme:

DOSSIER PARENT
|
|______ programme python
|______ sequences
|
|________ A_arn.txt
|________ ...
|________ ...