2017-10-18 4 views
-1

problèmenucleotides d'ADN de comptage python

Une chaîne est simplement une collection ordonnée de symboles choisis dans un alphabet et formé en un mot; la longueur d'une chaîne est le nombre des symboles qu'elle contient.

Un exemple d'une longueur de 21 chaîne d'ADN (dont l'alphabet contient les symboles 'A', 'C', 'G' et 'T') est "ATGCTTCAGAAAGGTCTTACG."

suivant: Une chaîne d'ADN s

de longueur au plus 1000 nt

retour: quatre entiers (séparés par des espaces) compter le nombre respectif de fois où les symboles 'A', 'C', 'G', et 'T' se produit à l'art

Sample dataset

AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC 

Exemple de sortie

20 12 17 21 

Quelqu'un peut-il m'aider à comprendre ce code pour python 3 sur un mac? Je suis désolé je ne suis pas totalement habitué avec python

+0

'collections d'importation; counts = collections.Counter (s); print (compte ['A'], compte ['C'], compte ['G'], compte ['T']) ' –

+0

Veuillez essayer au moins de google avant de demander. C'est l'une des tâches les plus faciles que vous pouvez faire dans une ligne de code. – ForceBru

Répondre

1

Assez facile.

from collections import Counter 
s = 'AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC' 
a = Counter(s) 
print (a) 

compteur ({ 'T': 21, 'A': 20, 'G': 17, 'C': 12})

+0

Tout d'abord, '[* s]' est totalement inutile, les objets '' str' sont directement itérables *. Deuxièmement, il s'agit clairement d'un doublon, veuillez voter pour fermer en double plutôt que de répondre. –