高点密度在 PyMOL 中产生负相互作用区域

问题描述 投票:0回答:0

我正在计算蛋白质和配体之间的相互作用区域(在本例中,PDB ID = 1r0r),并正在尝试不同的点密度。我正在使用的文件已使用 PDBFixer 修复,并且给出的结果与您可以从 PDB 下载的文件略有不同。

我在 PyMOL 中执行以下操作来计算交互面积:

remove solvent
set dot_density, x
create 'sel1', E// #First selection is chain E
create 'sel2', * and not E// #Second selection is everything else, in this case chain I
create 'whole', * #To get the entire surface

print cmd.get_area('sel1') + cmd.get_area('sel2') - cmd.get_area('whole')

理论上,这应该给出作为独立对象的链的面积减去它们复合在一起的面积,从而留下它们之间相互作用的面积。这对于点密度 1 和 2 来说效果很好(尽管给了我截然不同的答案),但是当我将其提高到点密度 3 时,我开始得到负数,但我无法弄清楚这是为什么。这是分子的可视化(选择 1 为粉色,选择 2 为青色,整个选择为淡绿色):

整个建筑群

互动区


使用我自己的固定文件:

[in]
set dot_density, 1
print cmd.get_area('sel1') + cmd.get_area('sel2') - cmd.get_area('whole')
[out]
6462.04248046875

[in]
set dot_density, 2
print cmd.get_area('sel1') + cmd.get_area('sel2') - cmd.get_area('whole')
[out]
2663.0439453125

[in]
set dot_density, 3
print cmd.get_area('sel1') + cmd.get_area('sel2') - cmd.get_area('whole')
[out]
-357.0478515625

[in]
set dot_density, 4
print cmd.get_area('sel1') + cmd.get_area('sel2') - cmd.get_area('whole')
[out]
-152.4716796875

使用直接从PDB获取的文件:

[in]
set dot_density, 1
print cmd.get_area('sel1') + cmd.get_area('sel2') - cmd.get_area('whole')
[out]
14053.78369140625

[in]
set dot_density, 2
print cmd.get_area('sel1') + cmd.get_area('sel2') - cmd.get_area('whole')
[out]
2272.84228515625

[in]
set dot_density, 3
print cmd.get_area('sel1') + cmd.get_area('sel2') - cmd.get_area('whole')
[out]
-735.10107421875

[in]
set dot_density, 4
print cmd.get_area('sel1') + cmd.get_area('sel2') - cmd.get_area('whole')
[out]
124.2021484375

我希望这些数字至少相似(所有这些数字之间的差异超过 14,000 平方埃),如果它们也都是正值,那就太好了。更高的点密度应该可以提供更准确的测量,但我现在不买它:P

最终目标是使用一个 Python 脚本,它可以获取 PDB 代码列表并一次性完成所有这些操作,并且脚本全部写出来,我只需要弄清楚应该使用哪些 PyMOL 设置来获得结果可靠。我也希望使用

set dot_solvent, on
并比较这些结果,但显然我还没有达到那个阶段!

非常感谢,

艾米

python bioinformatics interaction pymol
© www.soinside.com 2019 - 2024. All rights reserved.