文件格式说明 - mmCIF/CIF(晶体学与宏分子结构)

当你从 **蛋白质结构数据库(Protein Data Bank,PDB)**下载条目、或使用 AlphaFold 等管线导出结构时,文件名常为 .cif.mmcif。这类文本本质上是 **晶体学信息文件(Crystallographic Information File,CIF)**家族的一员;描述蛋白质/核酸/配体复合物时常采用 宏分子 CIF(macromolecular CIF,mmCIF),在 wwPDB 生态里也常被称为 PDBx/mmCIF。它比老式固定宽度 PDB 文本更易扩展:字段名自描述、表格行数不受列宽限制,适合多链、翻译后修饰、配体化学与大规模组装体。

段末注释:wwPDB 为全球 PDB 档案库的协作组织;mmCIF 基于 STAR 语法(键–值 + loop_ 表格);后文沿用 mmCIFCIF,必要时区分「小分子晶体 CIF」与「宏分子 mmCIF」。

字段全称与校验规则以 mmcif.wwpdb.orgPDBx/mmCIF 词典为准。


1. 语法骨架:像「标签笔记本」一样的 STAR/mmCIF

mmCIF 建立在 STAR(Self-defining Text Archive and Retrieval) 文本格式之上,可读性规律可以记成三条:

  1. data_名称:打开一个新数据块(data block),类似笔记本里新开一章;一个文件可有多个块,常见宏分子条目里主要用一个块承载整套结构。
  2. _类目.项目名 值:单行键–值,点号前是类目(category),点后是项目(item),对应词典里的定义与允许类型。
  3. loop_:下列若干行先列出本表有哪些列(同上形式的 _类目.项目,可无值),再跟多行数据行,列顺序与声明一致——像表格表头 + 逐行记录。

data 块与 loop 表格的直觉(科普手绘漫画风,非官方原图)

科学意义:晶体学与结构生物学需要同时存档「物理测量 metadata」「化学拓扑」「原子坐标」「衍射/冷冻电镜重构统计」等异质信息;键–值适合唯一项(如晶胞边长),loop_ 适合「每个原子一行」「每个键一行」的可变长度列表,避免 PDB 固定列被超长字段撑爆。


2. 生物学/化学语境里最先值得盯的几组类目

2.1 条目身份:_entry.id

对应 PDB ID(如 8ABC)。阅读批量下载文件时,用它做去重与数据库 API 关联。

2.2 晶胞与对称:_cell.*_symmetry.*_space_group_*

实验晶体结构里,原子坐标常描述在不对称单元(asymmetric unit)中,再通过空间群对称操作生成完整晶体;_cell.length_a/b/c_cell.angle_alpha/beta/gamma 给出**晶胞(unit cell)**几何——本质上是用三个边长与三个夹角,界定周期性重复排列的「最小盒子」,离子/小分子在盒子里堆积方式即晶体化学关心的堆垛与氢键网络。

晶胞边长、夹角与对称/空间群的直觉(科普手绘漫画风,非官方原图)

预测结构或冷冻电镜单颗粒重构条目仍可能出现晶胞字段(有时取占位或约定默认),解读时要结合 EXPDTA(实验方法)等说明:不必把「晶胞数字」一律当成真实衍射晶体的测量结果。

段末注释:**空间群(space group)**描述晶体对称操作的集合(平移、旋转、反演等的组合),决定如何从不对称单元复制出整块晶体。

2.3 原子坐标表:loop_ _atom_site.*

这是最常用的「逐原子清单」。典型列包括(具体条目未必全列齐):

常见 _atom_site 列(示意) 概念/科学意义
group_PDB ATOM(聚合物标准残基) vs HETATM(配体、离子、溶剂等)
type_symbol 元素符号(化学物种)
label_atom_id / auth_atom_id 原子名;label_*auth_* 分别对应标准化标注与作者/ deposited 习惯
label_comp_id / auth_seq_id 残基/组分名与序号,映射突变、修饰位点
label_asym_id 链 ID;沟通序列比对与分子界面分析
Cartn_x/y/z 笛卡尔坐标(Å),三维构象的直接载体
occupancy 占位率:无序或多构象时可见小于 1 的值
B_iso_or_equiv 各向同性 B-factor 或等效值;晶体学里反映热振动/无序;预测结构里常与置信度相关(视数据来源)

atom_site 循环表:一行一个原子(科普手绘漫画风,非官方原图)

表中 occupancyB_iso_or_equiv(B-factor)在晶体学里的理化含义、与预测结构「借用 B 列存置信度」的区别,已作为知识补充写在同目录 fileformat-pdb.md§2.2,并配有示意插图,可与本节对照阅读。

小分子配体/对接侧常用的 Molfile/SDF/MOL2 文本格式说明见 fileformat-molfile.mdfileformat-sdf.mdfileformat-mol2.md(与 chem_comp/对接工作流互补)。

2.4 聚合物实体与小分子:entity / entity_poly vs chem_comp

  • entity / entity_poly:描述「这条聚合物实体」是什么——例如蛋白质一条链的序列类型、长度、是否为 polymer生物学叙事(结构域划分、翻译后修饰标注)常先要理清 entity 与链的对应。
  • chem_comp:词典式列出文件中出现的化学组分(标准氨基酸三字码、辅因子、抑制剂、离子等),连接 PubChem/内部组分 ID,承载化学识别信息。

聚合物实体 entity_poly 与化学组分 chem_comp 分工(科普手绘漫画风,非官方原图)

化学意义:同一晶体里既有 又有 底物类似物 时,entity_poly 告诉你「哪段序列是酶」,_chem_comp / _atom_site 告诉你「配体原子如何命名与键合」;解析对接与药效团分析时,二者缺一不可。


3. 与 PDB 文本的对照(何时优先 mmCIF)

场景 更合适的格式
极长链、多链复合物、复杂配体 mmCIF(字段长度与表格行数灵活)
老脚本、部分可视化仅认 PDB PDB
AlphaFold DB、最新 wwPDB 分发 常见 mmCIF 为主或双格式

同目录下的 PDB 说明见:fileformat-pdb.md


4. 极简虚构示例(教学用,非真实条目)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
data_demo
_entry.id DEMO
_cell.length_a 50.0
_cell.length_b 50.0
_cell.length_c 100.0
_cell.angle_alpha 90.0
_cell.angle_beta 90.0
_cell.angle_gamma 90.0
loop_
_atom_site.group_PDB
_atom_site.type_symbol
_atom_site.label_atom_id
_atom_site.label_comp_id
_atom_site.label_asym_id
_atom_site.auth_seq_id
_atom_site.Cartn_x
_atom_site.Cartn_y
_atom_site.Cartn_z
_atom_site.occupancy
_atom_site.B_iso_or_equiv
ATOM N N GLY A 1 10.0 20.0 30.0 1.0 25.3
ATOM C CA GLY A 1 11.2 20.5 30.1 1.0 24.8

真实文件还包含对称、struct_asymentity 等大量关联信息;应用层应用 gemmiBiopython MMCIFiotbx 等库解析,避免手写字符串切片。


5. 解析与校验工具(实践入口)

  • gemmi(C++/Python):读写 mmCIF、晶胞对称、结构编辑常用。
  • Biopython MMCIF2Dict / 结构对象:与序列、链对象衔接。
  • wwPDB 校验服务:提交前检查类目完备性与化学一致性。

6. 小结 Checklist

  1. data_ 定位数据块;loop_ 读作「表」。
  2. _cell / 对称相关:晶体周期性几何;预测条目需结合实验类型解读。
  3. _atom_site:坐标与 B-factor/占位率;链与序列号用 label_* / auth_* 时注意数据库约定。
  4. entity_poly vs chem_comp:分清「生物聚合物身份」与「化学组分词典」。
  5. 需要与 PDB 对照或衔接 AlphaFold 导出时,优先确认下载的是 mmCIF 还是 PDB,再选解析栈。

参考链接

-------------本文结束感谢您的阅读-------------