Python:读取文件和计算DNA质量

时间:2017-06-21 19:28:34

标签: python file mass

我无法创建读取文件的代码,并使用以下细节计算该文件的DNA质量:A = 313.2 C = 289.2 G = 329.2 T = 304.2

所以它是这样的: ACCGAA = 1847.2

代码也需要将结果保存在新文件中。

该文件只是一个带有dna字符串的.txt,如:ACCGTACGT

2 个答案:

答案 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质量。