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