Exercice no 6


Bonjour trx337,
Si on écrit “ab” dans une expression régulière, on vérifie la présence de la sous-chaîne “ab” et non la présence de la sous-chaîne “a” et celle de la sous-chaîne “b”.
Pour cela, il faut utiliser “a|b”.
Tu devrais revoir ce qui a été fait dans le premier complément de la section 3.3 pour repérer les codons STOP.
Autre problème dans ton expression, le quantificateur + ne va s’appliquer qu’au caractère précédent, alors que l’on souhaite trouver toutes les occurrences d’une sous-chaîne de trois caractères.
Il faudrait utiliser des parenthèses.
Cela dit, il n’est pas nécessaire d’utiliser ce quantificateur ici. Si le motif écrit correspond bien aux différents codons de la sérine, l’exercice en trouvera toutes les occurrences.

merci Isabelle
j’ai écrit ceci et ça a marché donc ça doit être ça
motif_serine = “TCA|TCG|TCT|TCC|AGT|AGC”
il est dommage de ne pas pouvoir lire votre script pour la recherche des codons serine mais peut etre on doit l’imaginer soi même comme exercice car il doit ressembler à la recherche du codon stop ?

Bonjour Trx 337.
Pour ce qui est du script de l’exo 6, j’ai réussi à obtenir les résultats à l’aide de la fonction suivante:
def motif_serine(dna):
liste=[]
i=1
k=len(dna)
while i <k-2:
if dna[i]=='T':
if dna[i+1]=='C':
if dna[i+2]=='A':
liste.append('TCA')
elif dna[i+2]=='C':
liste.append('TCC')
elif dna[i+2]=='G':
liste.append('TCG')
elif dna[i+2]=='T':
liste.append('TCT')
if dna[i]=='A':
if dna[i+1]=='G':
if dna[i+2]=='T':
liste.append('AGT')
elif dna[i+2]=='C':
liste.append('AGC')
i+=1
return (liste)