蛋白质符合体结构中包含旋转矩阵和平移向量信息。要从 .mmCIF
文件中提取变换矩阵,可以解析文件中存储的 struct_oper
列表。.mmCIF
文件通常包含变换矩阵用于描述不同生物学组装、对称操作等。变换矩阵的信息通常存储在 _pdbx_struct_oper_list
标签下,例如 _pdbx_struct_oper_list.matrix[1][1]
对应矩阵的某个元素。
下面是一个解析 .mmCIF
文件中变换矩阵的代码示例:
from Bio.PDB import MMCIF2Dict
import numpy as np# 解析变换矩阵
def parse_transformation_matrices(file_path):# 使用 MMCIF2Dict 解析 mmCIF 文件cif_dict = MMCIF2Dict.MMCIF2Dict(file_path)# 提取变换矩阵信息matrices = []# 如果 mmCIF 文件包含变换矩阵,则从 _pdbx_struct_oper_list 中提取if '_pdbx_struct_oper_list.matrix[1][1]' in cif_dict:n_matrices = len(cif_dict['_pdbx_struct_oper_list.matrix[1][1]']) # 矩阵数量for i in range(n_matrices):# 提取矩阵元素,按行存储matrix = np.array([[float(cif_dict[f'_pdbx_s