1. 工具定位:注释,而非序列预测
mkdssp 是 蛋白质二级结构定义程序(Define Secondary Structure of Proteins,DSSP)第 4 代的命令行可执行程序,由 PDB-REDO 团队用 C++20 重写,核心算法库为 libdssp。官方文档明确说明:
mkdssp does not predict secondary structure.
也就是说,mkdssp 不能仅凭氨基酸序列给出二级结构;它读取的是已有三维原子坐标(实验结构或结构预测模型),依据主链氢键能量与几何判据,为每个残基分配二级结构类型。在结构生物学领域,DSSP 长期被视为二级结构**注释(assignment/annotation)**的事实标准之一,而非“预测器”。
若手头只有 FASTA 序列、尚无结构,应使用 PSIPRED、SPOT-1D 等序列二级结构预测工具;若已有 PDB/mmCIF 或 AlphaFold 等预测结构,则用 mkdssp 做标准化注释。
段末注释:DSSP 解决的是“给定坐标,如何一致地标注 $\alpha$-螺旋、$\beta$-折叠等”;序列预测解决的是“无坐标时,从序列推断可能折叠”——二者问题层级不同。
与系列内其他文档的关系:算法细节、FAIR 数据原则、全库统计与性能评估见 二级结构-DSSP4:FAIR 注释原理、数据流与性能评估。
2. 算法概要
DSSP 判定逻辑由 Kabsch & Sander (1983) 确立,DSSP 4 对除 $\kappa$-螺旋 外的类型保持原判据不变:
- 氢键识别:根据骨架 N–H…O=C 模式计算氢键能量,识别氢键转角与 $\beta$-桥。
- 螺旋:连续重叠的转角组成螺旋——3-转角 $\rightarrow$ $3_{10}$-螺旋(G);4-转角 $\rightarrow$ $\alpha$-螺旋(H);5-转角 $\rightarrow$ $\pi$-螺旋(I)。
- $\beta$-折叠:连续 $\beta$-桥 形成梯(ladder)与 $\beta$-片;孤立桥标 B,参与梯的伸展链标 E。
- 其余残基:按 C$\alpha$ 几何标 弯曲(S)、转角(T) 或 无明确二级结构(loop,空白)。
- DSSP 4 新增:左手 poly-Proline II(PPII) 构象,单字母码 P($\kappa$-螺旋),由二面角 $\phi$、$\psi$ 容差判定(Mansiaux 等, 2011)。
3. 单字母二级结构代码
| 代码 | 含义 | mmCIF 类型 |
|---|---|---|
| H | $\alpha$-螺旋 | HELX_RH_AL_P |
| G | $3_{10}$-螺旋 | HELX_RH_3T_P |
| I | $\pi$-螺旋 | HELX_RH_PI_P |
| E | $\beta$-伸展链(参与 $\beta$-梯) | STRN |
| B | 孤立 $\beta$-桥 | STRN |
| T | 氢键转角 | TURN_TY1_P |
| S | 弯曲 | BEND |
| P | $\kappa$-螺旋(PPII) | HELX_LH_PP_P |
| 空白 | loop / coil | OTHER |
机器学习管道中常将 8 类归并为 DSSP3(H/E/C)或保留 DSSP8;与图神经网络节点特征、Rosetta 结构特征对齐时,需统一注释版本与归并规则(参见本系列「图神经网络-蛋白结构编码」)。
4. 输入与输出
4.1 输入要求
| 项目 | 要求 |
|---|---|
| 文件格式 | mmCIF(首选)或 PDB;支持 gzip/bzip2 压缩 |
| 必需信息 | 标准氨基酸主链原子(N, CA, C, O 等)的三维坐标 |
| 格式规范 | PDB 输入需含 CRYST1 等合法记录;文件须格式正确 |
| 化学组分 | 默认使用 libcifpp 安装的 components.cif;非标准残基可用 --components / --extra-compounds 覆盖 |
| 不需要 | 仅序列的 FASTA、MSA、进化信息或电子密度图 |
4.2 输出格式
- 默认:带注释的 mmCIF,二级结构写入
_struct_conf及_dssp_*等类别(FAIR 主格式)。 - legacy:加
--output-format=dssp可输出经典固定列 DSSP 文本格式(含逐残基氢键、二面角、溶剂可及表面积等);超大结构可能无法生成 legacy 文件。 - mmCIF 默认不算溶剂可及表面积(ACC);需要暴露度时须加
--calculate-accessibility。
legacy 格式每残基一行,除单字母码 S 外,还含 PHI/PSI、KAPPA、ACC(Ų)、$\beta$-桥 伙伴残基、C$\alpha$ 坐标等,便于下游特征工程。
5. 安装
5.1 包管理器(推荐)
1 | # Debian / Ubuntu |
CCP4 晶体学套件亦已集成 DSSP 4。
5.2 源码编译
依赖 C++20 编译器、CMake 与 libcifpp:
1 | git clone https://github.com/PDB-REDO/dssp.git |
5.3 Python 模块(≥ 4.5.2)
1 | cmake -S . -B build -DBUILD_PYTHON_MODULE=ON |
1 | from mkdssp import dssp |
6. 命令行用法
6.1 基本示例
1 | # mmCIF 输入 → 注释 mmCIF 输出(默认) |
6.2 常用选项
| 选项 | 作用 |
|---|---|
--output-format=[dssp|mmcif] |
强制输出格式 |
--calculate-accessibility |
在 mmCIF 中写入 ACC |
--min-pp-stretch |
$\kappa$-螺旋 最小残基数 |
--no-dssp-categories |
写 mmCIF 时不输出 _dssp_* 类别 |
--write-other |
写入 OTHER 组分的结构信息 |
--components / --mmcif-dictionary |
覆盖默认化学组分或 mmCIF 字典 |
未指定输出文件时,结果写入 stdout;输出文件名以 .gz / .bz2 结尾则自动压缩。
7. 典型工作流
7.1 仅有实验结构或预测结构
1 | flowchart LR |
适用于:PDB 实验条目、AlphaFold / ESMFold 预测结构、分子动力学轨迹取代表象等。
7.2 仅有氨基酸序列
mkdssp 无法直接处理序列。 常见两阶段流程:
1 | flowchart LR |
注意:预测结构上的 DSSP 标签反映的是模型坐标下的注释,与实验结构或纯序列预测器(PSIPRED)在 loop 比例、$\beta$ 含量上可能存在系统差异;训练与评估数据集应统一结构来源与 DSSP 版本。
7.3 在线服务与预计算库
无需本地安装时:
- DSSP 服务器:https://pdb-redo.eu/dssp — 上传模型、下载注释;API:https://pdb-redo.eu/dssp/api-doc
- DSSP 数据库:覆盖全 PDB,每周更新;单条目例如
https://pdb-redo.eu/dssp/db/{PDBID}/mmcif - rsync:
rsync://rsync.pdb-redo.eu/dssp/
8. 与序列预测工具的对照
| 维度 | mkdssp(DSSP 4) | PSIPRED / SPOT-1D 等 |
|---|---|---|
| 输入 | 三维坐标(PDB/mmCIF) | 氨基酸序列(常需 MSA) |
| 任务 | 结构注释 | 二级结构预测 |
| 氢键/几何 | 基于实际坐标计算 | 基于序列模式与统计/深度学习 |
| 典型场景 | 结构已知的特征提取、与 PDB 注释对齐 | 无结构时的初筛或模板-free 预测 |
| 速度 | 千残基级 $<1$ 秒(普通 PC) | 依赖 MSA,单条序列亦需秒~分钟级 |
在酶/聚合酶工程中:定向进化筛选阶段若只有序列,先用 PSIPRED 等;结构建模或突变体结构解析后,用 mkdssp 提取与 PDB 一致的 DSSP8 标签供图神经网络或稳定性分析使用。
9. 聚合酶场景下的使用注意
- 版本统一:DSSP 4 新增 P(PPII) 标签,旧版注释中常被标为 loop;重跑训练集时须固定 mkdssp 版本。
- 柔性区域:聚合酶 linker、无序 loop 在实验结构中常未建模,在 AlphaFold 模型中则可能被折叠并赋予 H/E;解读组成统计时需结合 pLDDT 或实验方法。
- ACC 特征:依赖溶剂暴露度的管道(如 DeepEnzyme 类方法)须在 mmCIF 输出时显式开启
--calculate-accessibility。 - 链 ID:mmCIF 支持多字符链 ID;legacy 格式对超长链 ID 有限制,超大复合物优先用 mmCIF 输出。
10. 引用与资源
软件与文档
- 源码:https://github.com/PDB-REDO/dssp(BSD-2-Clause)
- 官网与字段说明:https://pdb-redo.eu/dssp、About DSSP
- 手册:
doc/mkdssp.md
请引用
Hekkelman ML, Salmoral DÁ, Perrakis A, Joosten RP. DSSP 4: FAIR annotation of protein secondary structure. Protein Science. 2025;34(8):e70208. doi:10.1002/pro.70208
算法根基:
Kabsch W, Sander C. Dictionary of protein secondary structure: pattern recognition of hydrogen-bonded and geometrical features. Biopolymers. 1983;22(12):2577-2637.
小结
- mkdssp 是 DSSP 4 的命令行入口,对三维蛋白结构做标准化二级结构注释,不从序列直接预测。
- 输入:mmCIF/PDB 坐标;输出:注释 mmCIF(默认)或 legacy DSSP 文本;可选 ACC 与 PPII(P) 识别。
- 安装:
apt install dssp、CCP4 集成,或 GitHub 源码编译;支持 Python 模块。 - 仅有序列时:先 结构预测(AlphaFold 等)再 mkdssp;纯序列场景用 PSIPRED 等预测器。
- 酶/聚合酶建模管道中,DSSP8 标签常与结构特征联用;注意 DSSP 4 与旧版、实验结构 vs 预测结构之间的系统性差异。