下午好。我目前正在使用 Python 学习生物信息学,但遇到了障碍。
我正在尝试正确的代码来计算字符串中的核苷酸数量。这是我到目前为止使用过的代码:
DNA = "ACgttGTcgtTTgaCCGacACCGGTTAACCGGTACGGTAACAAGGTTTAGGTA"
DNA_nucs = {'A':0, 'C':0, 'G':0, 'T':0}
for nucs in DNA:
DNA_nucs[nucs]+=1
print(DNA_nucs)
我还得数小写字母。试图弄清楚如何在此处使用 .upper 属性。谢谢你。
不要手动计算字符数,使用
collections.Counter
(这在一开始就很好学,Pythonic 的做事方式):
from collections import Counter
DNA = "ACgttGTcgtTTgaCCGacACCGGTTAACCGGTACGGTAACAAGGTTTAGGTA"
c = Counter(DNA.upper())
print(c)
打印:
Counter({'G': 15, 'T': 14, 'A': 13, 'C': 11})