使用ProtParam模块分析蛋白质序列

时间:2018-03-12 18:22:13

标签: bioinformatics biopython

我是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;最后,但到目前为止,我还没有能够删除它。任何想法都将非常感激。

1 个答案:

答案 0 :(得分:1)

您的文件中确实不应该存在,但如果您无法获得干净的输入文件,则可以使用my_seq = str(record.seq).rstrip('\\')在运行时将其删除。