文件格式说明 - SDF(Structure-Data File)

SDFStructure-Data File,扩展名常用 .sdf)是在 Molfile(MDL MOL)连接表基础上扩展出的格式:每条分子记录可在 M END 之后附加任意多行键–值式数据,并用 $$$$ 作为记录结束符;同一文件内可串联多条分子。高通量化合物库、虚拟筛选命中表、酶学 IC50/Ki 与结构一并存档时极其常见。底层「坐标 + 拓扑」仍是一段 Molfile CTAB,详见 fileformat-molfile.md;需要原子类型分段表达时另见 fileformat-mol2.md

段末注释:IC50 为半数抑制浓度;Ki 为抑制常数。

插图约定:示意图见 ./fileformat-sdf/文件名.png


1. SDF 记录如何拼接

典型结构为:

  1. 一段完整 Molfile(至 M END);
  2. 可选:若干 > <字段名> 下一行写字段内容(实现细节依导出软件);
  3. 一行 $$$$:本条分子记录结束;
  4. 可紧接下一条 Molfile,重复以上。

SDF:多条分子记录与 $$$$ 分隔、属性字段(科普示意,非官方原图)


2. 酶改造与注释场景

  • 批量抑制剂/底物类似物:每条对应一个化合物 ID + Ki、筛选批次等,便于与突变体酶活性表 join。
  • 立体化学:相对 SMILES,三维 SDF 常更适合保留导出时的构象与手性展示(仍以具体流水线为准)。
  • 对接:常见组合为「受体 PDB/mmCIF + 配体 SDF」批量对接。

3. 极简虚构示例(概念)

1
2
3
4
5
6
7
8
(此处为一个完整 Molfile 块 … 至 M  END)
> <compound_id>
HIT-042
> <Ki_uM>
0.35
$$$$
(下一条分子的 Molfile 块 …)
$$$$

具体 > < 语法与是否允许多行数值以实现为准。


4. 解析工具

RDKitSDF 多记录遍历支持成熟;Open Babel 亦可互转 Molfile/MOL2/PDB 等。


5. 小结 Checklist

  1. SDF = Molfile + 可选数据块 + $$$$;一条记录至少含一个 Mol 块。
  2. 单分子、无附加字段时,用裸 .mol 即可(见 fileformat-molfile.md)。
  3. 需要 sybyl 类型/电荷列 时考虑 MOL2fileformat-mol2.md)。

参考与延伸阅读

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