Bonjour, Alors voilà je suis très embêter car je suis pas très douée en info et que j'ai un DM en python a faire j'en ai reussi une bonne partie mais y a certaine fonction que j'ai du mal a faire, dont une qui me pose pb:
l'enonce c'est:
Vous devez écrire la fonction ribosome_translation qui, dans un premier temps, recherche dans
l’ARN messager le codon d’initialisation et qui ensuite démarre la traduction à partir de celui-ci. La
traduction se fait à l’aide de la fonction translate_till_stop_rec. Si la fin de la séquence est
atteinte (aucun codon d’initialisation n’a été trouvé), la fonction ribosome_translation doit s’arrêter
et retourner une liste vide. Cette fonction doit être récursive.
Le nombre de caractères du paramètre mrna ne sera pas nécessairement un multiple de 3. De plus
vous devez impérativement utiliser le dictionnaire genetic_code qui contient les correspondances
entre les codons (3 caractères) et les acides aminés.
Les codons d’initialisation sont : UUG, AUG et GUG. Dans le dictionnaire genetic_code ils sont
associés à la valeur "Start".
la fonction translate_till_stop_rec je l'ai faite :
def translate_till_stop_rec(mrna):
if mrna[0:3]=="" or genetic_code[mrna[0:3]]=="Stop":
return []
else:
return [genetic_code.get(mrna[0:3],"")]+translate_till_stop_rec(mrna[3:])
du coup pour la fonction ribosome_translation j'ai fait ca:
def ribosome_translation(mrna):
if mrna[0:3]=="" or len(mrna)%3==1:
return []
if genetic_code[mrna[0:3]]=="Start":
return [genetic_code.get(mrna[0:3],"")]+translate_till_stop_rec(mrna[3:])
mais ça ne marche pas pour tout les cas quand je n'ai pas de codon start ça me retourne "none" alors que ca devrait retourner [] et aussi quand le codon start n'est pas au debut de la chaine ça ne marche pas non plus s'il vous plait aidez moi !!!!![]()
Partager