py-mmcif包解析蛋白质结构的装配信息
在 py-mmcif 包中,pdbx_struct_assembly
、pdbx_struct_assembly_gen
和 pdbx_struct_oper_list
是三种常用的 mmCIF 数据对象,主要用于处理蛋白质结构的装配(assembly)信息。这些对象可以帮助我们解析和获取与蛋白质结构中分子装配相关的数据,包括装配的详细信息、链、矩阵操作等。
使用示例:
from mmcif.io.PdbxReader import PdbxReader
import gzip
import numpy as np
# 定义解析函数
def parseAssemblies(data):
assemblies = []
# 获取装配信息
assembly_data = data.getObj("pdbx_struct_assembly")
assembly_gen = data.getObj("pdbx_struct_assembly_gen")
oper_list = data.getObj("pdbx_struct_oper_list")
if assembly_data is None or assembly_gen is None or oper_list is None:
return assemblies
# 保存所有基础变换
opers = {}
for k in range(oper_list.getRowCount()):
key = oper_list.getValue("id", k)
val = np.eye(4)
for i in range(3):
val[i, 3] = float(oper_lis