我是Biopython的新手。现在,我试图用fasta格式从几个蛋白质序列(超过100个)计算蛋白质参数。但是,我发现很难正确解析序列。 这是我使用的代码:
from Bio import SeqIO
from Bio.SeqUtils.ProtParam import ProteinAnalysis
input_file = open ("/Users/matias/Documents/Python/DOE.fasta", "r")
for record in SeqIO.parse(input_file, "fasta"):
my_seq = str(record.seq)
analyse = ProteinAnalysis(my_seq)
print(analyse.molecular_weight())
但我收到此错误消息:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site- packages/Bio/SeqUtils/__init__.py", line 438, in molecular_weight
weight = sum(weight_table[x] for x in seq) - (len(seq) - 1) * water
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/Bio/SeqUtils/__init__.py", line 438, in <genexpr>
weight = sum(weight_table[x] for x in seq) - (len(seq) - 1) * water
KeyError: '\\'
将每个序列打印为字符串显示每个seq都有一个&#34; \&#34;最后,但到目前为止,我还没有能够删除它。任何想法都将非常感激。
答案 0 :(得分:1)
您的文件中确实不应该存在,但如果您无法获得干净的输入文件,则可以使用my_seq = str(record.seq).rstrip('\\')
在运行时将其删除。