我只是迈出了尝试学习一点 Python 的第一步。目前正在学习旨在教授生物信息学 python 技能的 Rosalind 在线课程。(顺便说一句,非常好,请参阅:rosalind.info)
我正在努力解决一个特定问题。我有一个 FASTA 格式的文件,其格式如下:
>Sequence_Header_1
ACGTACGTACGTACGTACGT
ACGTACGTACGTACGTACGT
>Sequence_Header_2
ACGTACGTACGTACGTACGT
ACGTACGTACGTACGTACGT
我需要计算文件每个条目(不包括标题)中 G 和 C 的百分比并返回这个数字,例如:
>Sequence_Header_1
48.75%
>Sequence_header_2
52.43%
到目前为止,我的代码是:
file = open("input.txt" , "r")
for line in file:
if line.startswith(">"):
print(line.rstrip())
else:
print ('%3.2f' % (line.count('G')+line.count('C')/len(line)*100))
file.close()
这几乎是我需要它做的事情。我只是在序列数据跨越多行时遇到了麻烦。目前我得到文件中每一行的 % GC 内容,而不是为每个条目返回一个数字,例如:
>Sequence_Header_1
48.75%
52.65%
>Sequence_header_2
52.43%
50.25%
如何将我的公式应用于跨越多行的数据?
提前致谢,