将值从结构存储到文件

2024-10-02 02:35:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用以下代码存储两个残留物之间的距离:

f = open('%s.txt' % fileName, 'w')
print(residue1,residue2,distance)
f.write(line)

“打印”命令显示以下输出:

<Residue   U het=  resseq=63 icode= > <Residue   A het=  resseq=11 icode= > 66.809425
<Residue   G het=  resseq=64 icode= > <Residue   A het=  resseq=11 icode= > 71.63533
<Residue   C het=  resseq=65 icode= > <Residue   A het=  resseq=11 icode= > 76.931366
<Residue   G het=  resseq=66 icode= > <Residue   A het=  resseq=11 icode= > 81.664375
<Residue   A het=  resseq=67 icode= > <Residue   A het=  resseq=11 icode= > 84.5027
<Residue   U het=  resseq=68 icode= > <Residue   A het=  resseq=11 icode= > 87.20471
<Residue   A het=  resseq=69 icode= > <Residue   A het=  resseq=11 icode= > 82.4701
<Residue   A het=  resseq=70 icode= > <Residue   A het=  resseq=11 icode= > 76.94348
<Residue   G het=  resseq=71 icode= > <Residue   A het=  resseq=11 icode= > 76.04107
<Residue   C het=  resseq=72 icode= > <Residue   A het=  resseq=11 icode= > 82.2956
<Residue   C het=  resseq=73 icode= > <Residue   A het=  resseq=11 icode= > 87.42678
<Residue   A het=  resseq=74 icode= > <Residue   A het=  resseq=11 icode= > 92.075035
<Residue   U het=  resseq=75 icode= > <Residue   A het=  resseq=11 icode= > 94.59299
<Residue   G het=  resseq=76 icode= > <Residue   A het=  resseq=11 icode= > 94.36213

编辑代码以添加行以将输出存储到文件中时:

f = open('%s.txt' % fileName, 'w')
print(residue1,residue2,distance)
line = str(residue1)+','+str(residue2)+','+str(distance)
f.write(line)
f.close()

我得到以下错误:

    model = structure[0]
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/Bio/PDB/Entity.py", line 41, in __getitem__
    return self.child_dict[id]
KeyError: 0

如何解决

更新:

f = open('%s.txt' % fileName, 'w')
print(residue1.get_id(),',',residue2.get_id(),',',distance)
line = f"{residue1.get_id()}, {residue2.get_id()}, {distance}"
f.write(line)
f.close()

此行运行一次,输出文件中有以下输出:

(' ', 122, ' '), (' ', 11, ' '), 144.1501007080078

然后以错误终止


Tags: txtidgetlineopenfilenamewritedistance

热门问题