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 深度。