我尝试使用以下代码存储两个残留物之间的距离:
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
然后以错误终止
目前没有回答
相关问题 更多 >
编程相关推荐