Bio.PDB.SASA 模块

计算 Bio.PDB 实体的溶剂可及表面积。

使用 Shrake & Rupley 开发的“滚动球”算法,该算法使用一个球体(半径等于溶剂分子)来探测分子的表面。

参考文献

Shrake, A; Rupley, JA. (1973). J Mol Biol “Environment and exposure to solvent of protein atoms. Lysozyme and insulin”.

class Bio.PDB.SASA.ShrakeRupley(probe_radius=1.40, n_points=100, radii_dict=None)

基类:object

使用 Shrake-Rupley 算法计算 SASA。

__init__(probe_radius=1.40, n_points=100, radii_dict=None)

初始化类。

参数::
  • probe_radius (float) – 探针的半径,单位为 A。默认值为 1.40,大约是水分子半径。

  • n_points (int) – 每个原子表面的分辨率。默认值为 100。点数越多,测量越精确,但计算速度也会变慢。

  • radii_dict (dict) – 用户提供的原子半径字典,用于计算。这些值将替换/补充默认 ATOMIC_RADII 字典中的值。

>>> sr = ShrakeRupley()
>>> sr = ShrakeRupley(n_points=960)
>>> sr = ShrakeRupley(radii_dict={"O": 3.1415})
compute(entity, level='A')

计算实体的表面可及表面积。

生成的原子表面可及性值将附加到每个实体(或原子)的 .sasa 属性,具体取决于级别。例如,如果级别为“R”,则所有残基将具有 .sasa 属性。原子将始终被分配一个 .sasa 属性,其中包含它们各自的值。

参数::
  • entity (Bio.PDB.Entity) – 输入实体。

  • level – 为其分配 ASA 值的级别,可以是“A”(原子),“R”(残基),“C”(链),“M”(模型)或“S”(结构)之一。实体的 ASA 值是其所有子级 ASA 值的总和。默认值为“A”。

>>> from Bio.PDB import PDBParser
>>> from Bio.PDB.SASA import ShrakeRupley
>>> p = PDBParser(QUIET=1)
>>> # This assumes you have a local copy of 1LCD.pdb in a directory called "PDB"
>>> struct = p.get_structure("1LCD", "PDB/1LCD.pdb")
>>> sr = ShrakeRupley()
>>> sr.compute(struct, level="S")
>>> print(round(struct.sasa, 2))
7053.43
>>> print(round(struct[0]["A"][11]["OE1"].sasa, 2))
9.64