我无法创建读取文件的代码,并使用以下细节计算该文件的DNA质量:A = 313.2 C = 289.2 G = 329.2 T = 304.2
所以它是这样的: ACCGAA = 1847.2
代码也需要将结果保存在新文件中。
该文件只是一个带有dna字符串的.txt,如:ACCGTACGT
答案 0 :(得分:0)
我认为这会让你开始。
它的作用是,读取dna.txt
文件并将文本保存在txt文件中dna
然后对每个char检查是否等于特定的char,如果是,则将值添加到total。这是否适用于文件中的所有字符。
with open('dna.txt', 'r') as f:
dna = f.read()
total = 0
for each in dna:
if each == "A":
total = total + 313.2
elif each == "C":
total = total + 289.2
elif each == "G":
total = total + 329.2
elif each == "T":
total = total + 304.2
file = open('output.txt', 'w')
file.write(str(total))
file.close()
答案 1 :(得分:0)
如果您对@mtkilic的更多pythonic方式感兴趣,可以试试这个:
dna = open('dna.txt', 'r').read()
d = {'A':313.2, 'C':289.2, 'G':329.2, 'T':304.2}
total = sum([d.get(each, 0.0) for each in dna])
file = open('output.txt', 'w')
file.write(str(total))
file.close()
我们使用dict来存储每个组件的DNA质量。然后,我们用列表理解来评估总和。我们使用get
方法访问键值。如果字符键无法识别字符,它允许返回0.0质量。