Bio.PDB.ResidueDepth 模块

使用命令行工具 MSMS 计算残基深度。

此模块使用 Michel Sanner 的 MSMS 程序进行表面计算。参见:http://mgltools.scripps.edu/packages/MSMS

残基深度是残基原子到溶剂可及表面的平均距离。

残基深度

from Bio.PDB.ResidueDepth import ResidueDepth
from Bio.PDB.PDBParser import PDBParser
parser = PDBParser()
structure = parser.get_structure("1a8o", "Tests/PDB/1A8O.pdb")
model = structure[0]
rd = ResidueDepth(model)
print(rd['A',(' ', 152, ' ')])

直接 MSMS 接口,典型用法

from Bio.PDB.ResidueDepth import get_surface
surface = get_surface(model)

表面是一个包含所有表面顶点的 NumPy 数组。

到表面的距离

from Bio.PDB.ResidueDepth import min_dist
coord = (1.113, 35.393,  9.268)
dist = min_dist(coord, surface)

其中 coord 是表面边界内原子(即原子深度)的坐标。

要计算残基深度(残基中所有原子的平均原子深度)

from Bio.PDB.ResidueDepth import residue_depth
chain = model['A']
res152 = chain[152]
rd = residue_depth(res152, surface)
Bio.PDB.ResidueDepth.get_surface(model, MSMS='msms')

将分子表面表示为顶点列表数组。

返回一个 NumPy 数组,该数组表示分子表面的顶点列表。

参数
  • model - BioPython PDB 模型对象(用于获取输入模型的原子)

  • MSMS - msms 可执行文件(用作 subprocess.call 的参数)

Bio.PDB.ResidueDepth.min_dist(coord, surface)

返回 coord 和表面之间的最小距离。

Bio.PDB.ResidueDepth.residue_depth(residue, surface)

残基深度作为其所有原子平均深度。

返回残基中所有原子到表面的平均距离,即残基深度。

Bio.PDB.ResidueDepth.ca_depth(residue, surface)

返回 CA 深度。

class Bio.PDB.ResidueDepth.ResidueDepth(model, msms_exec=None)

基类:AbstractPropertyMap

计算所有残基的残基深度和 CA 深度。

__init__(model, msms_exec=None)

初始化类。