二级结构-mkdssp:蛋白二级结构注释工具介绍与使用指南

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 序列、尚无结构,应使用 PSIPREDSPOT-1D序列二级结构预测工具;若已有 PDB/mmCIFAlphaFold 等预测结构,则用 mkdssp 做标准化注释。

段末注释DSSP 解决的是“给定坐标,如何一致地标注 $\alpha$-螺旋、$\beta$-折叠等”;序列预测解决的是“无坐标时,从序列推断可能折叠”——二者问题层级不同。

与系列内其他文档的关系:算法细节、FAIR 数据原则、全库统计与性能评估见 二级结构-DSSP4:FAIR 注释原理、数据流与性能评估


2. 算法概要

DSSP 判定逻辑由 Kabsch & Sander (1983) 确立,DSSP 4 对除 $\kappa$-螺旋 外的类型保持原判据不变:

  1. 氢键识别:根据骨架 N–H…O=C 模式计算氢键能量,识别氢键转角与 $\beta$-桥
  2. 螺旋:连续重叠的转角组成螺旋——3-转角 $\rightarrow$ $3_{10}$-螺旋(G);4-转角 $\rightarrow$ $\alpha$-螺旋(H);5-转角 $\rightarrow$ $\pi$-螺旋(I)
  3. $\beta$-折叠:连续 $\beta$-桥 形成梯(ladder)与 $\beta$-片;孤立桥标 B,参与梯的伸展链标 E
  4. 其余残基:按 C$\alpha$ 几何标 弯曲(S)转角(T)无明确二级结构(loop,空白)
  5. 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/PSIKAPPAACC(Ų)、$\beta$-桥 伙伴残基、C$\alpha$ 坐标等,便于下游特征工程。


5. 安装

5.1 包管理器(推荐)

1
2
3
4
# Debian / Ubuntu
sudo apt install dssp
# 可执行文件名为 mkdssp
mkdssp --version

CCP4 晶体学套件亦已集成 DSSP 4

5.2 源码编译

依赖 C++20 编译器、CMakelibcifpp

1
2
3
4
5
git clone https://github.com/PDB-REDO/dssp.git
cd dssp
cmake -S . -B build
cmake --build build
sudo cmake --install build

5.3 Python 模块(≥ 4.5.2)

1
2
cmake -S . -B build -DBUILD_PYTHON_MODULE=ON
cmake --build build && sudo cmake --install build
1
2
3
4
5
6
7
8
9
10
11
from mkdssp import dssp
import gzip

with gzip.open("structure.cif.gz", "rt") as f:
content = f.read()

result = dssp(content)
print("残基数:", result.statistics.residues)

for res in result:
print(res.asym_id, res.seq_id, res.compound_id, res.type)

6. 命令行用法

6.1 基本示例

1
2
3
4
5
6
7
8
9
10
11
# mmCIF 输入 → 注释 mmCIF 输出(默认)
mkdssp -i structure.cif -o structure_annotated.cif

# PDB 输入 → legacy DSSP 格式
mkdssp --input structure.pdb --output structure.dssp --output-format=dssp

# 计算溶剂可及表面积
mkdssp -i structure.cif -o out.cif --calculate-accessibility

# 调整 κ-螺旋(PPII)最小长度
mkdssp -i structure.cif -o out.cif --min-pp-stretch=3

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
2
3
4
flowchart LR
A[PDB / mmCIF 结构文件] --> B[mkdssp]
B --> C[注释 mmCIF 或 legacy DSSP]
C --> D[逐残基二级结构标签 / 特征管道]

适用于:PDB 实验条目、AlphaFold / ESMFold 预测结构、分子动力学轨迹取代表象等。

7.2 仅有氨基酸序列

mkdssp 无法直接处理序列。 常见两阶段流程:

1
2
3
4
5
flowchart LR
S[FASTA 序列] --> F[AlphaFold2 / ESMFold / ColabFold]
F --> M[预测结构 PDB/mmCIF]
M --> D[mkdssp]
D --> L[二级结构标签]

注意:预测结构上的 DSSP 标签反映的是模型坐标下的注释,与实验结构或纯序列预测器(PSIPRED)在 loop 比例、$\beta$ 含量上可能存在系统差异;训练与评估数据集应统一结构来源与 DSSP 版本。

7.3 在线服务与预计算库

无需本地安装时:


8. 与序列预测工具的对照

维度 mkdssp(DSSP 4) PSIPRED / SPOT-1D 等
输入 三维坐标(PDB/mmCIF) 氨基酸序列(常需 MSA)
任务 结构注释 二级结构预测
氢键/几何 基于实际坐标计算 基于序列模式与统计/深度学习
典型场景 结构已知的特征提取、与 PDB 注释对齐 无结构时的初筛或模板-free 预测
速度 千残基级 $<1$ 秒(普通 PC) 依赖 MSA,单条序列亦需秒~分钟级

在酶/聚合酶工程中:定向进化筛选阶段若只有序列,先用 PSIPRED 等;结构建模或突变体结构解析后,用 mkdssp 提取与 PDB 一致的 DSSP8 标签供图神经网络或稳定性分析使用。


9. 聚合酶场景下的使用注意

  1. 版本统一DSSP 4 新增 P(PPII) 标签,旧版注释中常被标为 loop;重跑训练集时须固定 mkdssp 版本。
  2. 柔性区域:聚合酶 linker、无序 loop 在实验结构中常未建模,在 AlphaFold 模型中则可能被折叠并赋予 H/E;解读组成统计时需结合 pLDDT 或实验方法。
  3. ACC 特征:依赖溶剂暴露度的管道(如 DeepEnzyme 类方法)须在 mmCIF 输出时显式开启 --calculate-accessibility
  4. 链 IDmmCIF 支持多字符链 ID;legacy 格式对超长链 ID 有限制,超大复合物优先用 mmCIF 输出。

10. 引用与资源

软件与文档

请引用

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.


小结

  • mkdsspDSSP 4 的命令行入口,对三维蛋白结构做标准化二级结构注释从序列直接预测。
  • 输入mmCIF/PDB 坐标;输出:注释 mmCIF(默认)或 legacy DSSP 文本;可选 ACCPPII(P) 识别。
  • 安装apt install dsspCCP4 集成,或 GitHub 源码编译;支持 Python 模块。
  • 仅有序列时:先 结构预测AlphaFold 等)再 mkdssp;纯序列场景用 PSIPRED 等预测器。
  • 酶/聚合酶建模管道中,DSSP8 标签常与结构特征联用;注意 DSSP 4 与旧版、实验结构 vs 预测结构之间的系统性差异。
-------------本文结束感谢您的阅读-------------