Bjr cher tous,
Merci pour ce cours. Il permet à nous débutant de découvrir et de comprendre que c’est que la bioinformatique.
Ma question se trouve au niveau de l’exercice 1 du cours de la semaine 1.
Il s’agit du calcul de la valeur de %GC et %AT
je ne retrouve nulle part la séquence initiale a partir de la quelle le calcul doit être fait et je ne sais comment calculer les valeurs de %GC et %AT en utilisant le langage Python.
La solution avec la fonction display (display “%AT=” ((nbA+nbT)/TotalNb)*100, “%GC=“, ((nbC+nbG)/TotalNb))*100) est bien claire et très bien comprise mais avec le langage Phyton, c’est pas du tout compris.
Merci de m’orienter
Calcul de la valeur de %GC et %AT


Bonjour JUDESSE,
Il s’agit ici d’écrire un programme qui doit pouvoir s’appliquer à n’importe quelle séquence.
L’instruction display est du pseudo-code, qu’il faut maintenant traduire en langage Python.
Je t’invite à reprendre les exemples donnés dans les compléments notebook, par exemple la fonction display_freq_bases_v1 du complément de la section 1.5


Ce que tu proposes ici est encore du pseudo-code, et non des instructions python.
As-tu consulté l’exemple que je t’indique dans la réponse précédente ?
Ou même plutôt la version finale count_bases
au bas du complément ?

Bonjour,
l’instruction ‘display’ correspond à ‘print’ en python
Cordialement.

Bonjour Mickael
ok merci

Bonjour Isabelle
L’exemple a été consulté et maintenant je comprend mieux.
Merci

Bonjour edunam,
As-tu essayé d’exécuter ta fonction pour une chaîne ne comportant pas le caractère ‘C’ ?
Par ailleurs, au lieu d’une série de “if”, tu pourrais ici utiliser des clauses “elif” :
if x == 'A':
nA = nA + 1
elif x == 'T':
nT = nT + 1
elif x == 'G':
...
Cela éviterait de faire des comparaisons inutiles, une fois que le caractère est trouvé.

One more question. Should I upload the answer for the exercises’ Semaine 1 in this forum?

These exercices aren’t taken into account for the attestation.
If you want to check whether your program is correct, you can write it directly in the notebook “Exercice 1/4 en Python” and test it.
By the way, your function doesn’t exactly do what it is expected to, as it returns frequency of all nucleotides, whereas we’re expected to group ‘G’ and ‘C’, and ‘A’ and ‘T’.
For exercices in pseudo-code, you will find some solution in second to last tab of this section.

Bonjour,
Comment peut- on savoir si c’est la séquence que nous avons là?
Moi j’utilise le langage R, et c’est maintenant que je commence avec Python.
sequence : character string [1:*] , en écrivant cela, cela revient-il a considéré que nous avons importé la séquence dans Python?

Bonjour Dany452,
sequence : character string [1:*] est une instruction écrite en pseudo-code, ce n’est pas une instruction Python.
Mais effectivement, cela signifie que la variable sequence
contient une chaîne de caractères, correspondant à la séquence.
Dans cet exercice, on nous demande d’écrire une fonction qui prendra comme paramètre la séquence.
Celle-ci est donc supposée connue dans le corps de la fonction.
Mais il faudra ensuite appeler la fonction en lui passant la séquence voulue en paramètre.
Si je prends l’exemple de la fonction AT_GC de edunam, dans les instructions qui la définissent, la variable ‘seq’ correspond à une séquence.
Il faut, lorsqu’on appelle la fonction, lui passer une séquence en argument :
print(AT_GC(‘ATTTGGGGAAA’))
J’espère que cela répond à ton interrogation et que ce n’est pas plus confus.

Merci bien Isabelle, c’est plus clair pour moi et je comprends mieux.

bonjour à tous,
ne serait-il pas mieux d’apprendre les notions de basede “python” avant de réaliser cette exercice?
Je vois que “EDUNAN” a coder une fonction en python qui nebug pas, mais avant ça il lui a fallut connaitre les variables, les conditions et les boucles.
Pourquoi pas ecrire un petit tuto d’intro à python pour les nouveaux qui viendront?

Bonjour Henrytita,
Il me semble que ce petit tuto est présent
Voir le complément de la section 1.4.

Merci Isabelle,
Je viens de voir le cours “Rudimentaire” , on aurais pu faire mieux

display() et print() sont identiques.

Bonjour,
Je m’excuse à l’avance, ce post est très long.
Voilà, j’ai peut-être raté un passage qui indique qu’il faut un pré-requis sur les algorithmes dans la présentation du cours. En tout cas, étant biologiste par la formation, je ne sais encore rien au code, pseudo-code, etc… et j’ai cru que j’allais y voir plus clair en allant sur le forum. Ben non, j’ai l’impression que les participants qui y discutent ont déjà des connaissances sur les algorithmes
J’avoue que je suis tombé des nues quand j’ai vu qu’il fallait écrire un code (ou pseudo-code ?) dans l’exercice de la semaine. Cela étant dit, je voudrais faire l’exercice par moi-même, est-ce que quelqu’un pourrait m’indiquer des sites ou des tutos à voir ou des lectures à faire pour commencer la programmation depuis le niveau 0 ?
Merci déjà de vos réponses (:

Bonjour @Razafindrakoto,
Sur cette même plateforme FUN, il y a cet excellent MOOC sur Python 3.
Mais il ne faut pas être intimidé(e) par les discussions sur le forum. N’hésite pas à poser toute question ou à demander de l’aide ici.

Bonjour Isabelle,
Merci, j’ai vu le cours proposé, en effet il a l’air intéressant.