J'essaie de calculer la teneur en GC (en%) d'une séquence d'ADN pour une question de Rosalind. J'ai le code suivant, mais il renvoie 0, ou seulement le nombre de G seul ou C seul (pas de pourcentage).Script débutant en Python pour calculer la teneur en GC dans la séquence d'ADN
x = raw_input("Sequence?:").upper()
total = len(x)
c = x.count("C")
g = x.count("G")
gc_total = g+c
gc_content = gc_total/total
print gc_content
J'ai aussi essayé, juste pour obtenir un nombre de G et C de, et non le pourcentage, mais il retourne juste un compte de la chaîne entière:
x = raw_input("Sequence?:").upper()
def gc(n):
count = 0
for i in n:
if i == "C" or "G":
count = count + 1
else:
count = count
return count
gc(x)
EDIT: Je fixe la typo dans l'instruction print dans le premier exemple de code. Ce n'était pas le problème, j'ai juste collé le mauvais extrait de code (il y avait beaucoup de tentatives ...)
Le premier est peut-être une faute de frappe, mais vous avez dit 'cg_content' au lieu de 'gc_content'. L'instruction else n'est pas nécessaire dans le second exemple. – squiguy
Je l'ai corrigé dans un montage. Ce n'était pas la racine du problème, je viens de coller le mauvais bloc de code de mes nombreuses tentatives d'essayer différentes choses. – jstewartmitchel