Comme d'habitude avec les notebooks, vous devez évaluer les cellules de code avec les touches Maj-Entrée ou Shift-Enter.
# on charge l'exercice
from corrections.w1e1_count_gc_at import exo_count_gc_at
Nous vous proposons d'écrire en python une fonction très simple, puisqu'il s'agit de calculer les pourcentages de GC
et de AT
dans une séquence d'ADN.
Plus précisément, vous devez écrire une fonction qui renvoie deux nombres, qui représentent dans cet ordre, d'abord le ratio en GC
, puis le ratio en AT
, d'un brin d'ADN, qui comme dans les notebooks du cours est une simple chaine python ne contenant que ces 4 lettres.
Si vous évaluez la cellule suivante, vous verrez un exemple de ce qui est demandé :
exo_count_gc_at.example()
Vous devez à présent modifier la cellule suivante pour y écrire votre code. Évaluez la cellule lorsque vous avez terminé (vous pourrez recommencer aussi souvent que vous voulez) :
# votre code
def count_gc_at(dna):
dic = {'A': 0, 'T': 0, 'C': 0, 'G': 0}
for base in dna:
dic[base] += 1
gc_ratio = (dic['G'] + dic['C'])/ len(dna)
at_ratio = (dic['A'] + dic['T'])/ len(dna)
return gc_ratio, at_ratio
count_gc_at('CCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAA')
(0.4, 0.6)
À présent, vous pouvez évaluer la cellule suivante pour faire tourner votre code avec des entrées que nous fournissons, et comparer vos résultats avec ce qui est attendu. Chaque ligne du tableau sera verte ou rouge, selon que votre fonction renvoie un résultat correct ou non avec cette entrée.
Et donc lorsque le tableau est entièrement vert, c'est que vous pouvez considérer votre code comme correct.
# évaluez cette cellule pour vérifier votre implémentation
exo_count_gc_at.correction(count_gc_at)
Pour recommencer, il vous suffit de modifier votre cellule de code, puis de réévaluer les deux cellules dans le bon ordre, le tableau de correction sera mis à jour.
Bien entendu vous pouvez parler de votre solution sur le forum ; à ce sujet n'oubliez pas que vous pouvez utiliser le menu File -> Share static version pour publier une copie instantanée de votre travail via une URL sur le forum.