AlphaFold 跑完还剩一堆文件?6 步把 PDB/MMCIF 输出和 pLDDT 分数吃透
【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold
刚跑完 AlphaFold,输出目录里躺着一堆名字很像的文件:该看哪个 PDB?pLDDT(predicted Local Distance Difference Test,预测局部距离差异测试)分数存在哪里?这是一份关于 AlphaFold 结果解析与 PDB(Protein Data Bank)/ MMCIF(Macromolecular Crystallographic Information File)文件处理的实操教程:从打开输出目录开始,6 步走完"挑对结构文件 → 提取 pLDDT → 查看 PAE → 可视化 → 格式转换"的完整链路,读完你就能写出可复现的解析脚本。示例代码可直接运行,只需要装biopython、numpy、matplotlib。
一、打开输出目录:AlphaFold 输出文件速览
运行 run_alphafold.py 后,--output_dir下会按序列名(即 FASTA 文件名)建一个子目录。单体默认 5 个模型副本,一次跑完会写出几十个文件,但按用途分其实就三类:
| 类别 | 文件 | 什么时候用得上 |
|---|---|---|
| 结构 | ranked_N.pdb/ranked_N.cif、unrelaxed_model_N.pdb、relaxed_model_N.pdb | 要上报的最终结构、对接、可视化 |
| 置信度 | confidence_model_N.json、pae_model_N.json、ranking_debug.json | 质量评估、判断该信哪个模型 |
| 可复现性 | features.pkl、result_model_N.pkl、msas/、timings.json | 重跑、调试、复用 MSA |
先打开目录扫一眼,第二条命令能直接看到"模型编号 → 排名"的映射:
ls output_dir/<你的序列名>/ cat output_dir/<你的序列名>/ranking_debug.jsonranking_debug.json里只有两个字段:各模型的排序置信度(plddts字段)和排序结果(order)。所以当你想回答"ranked_0 到底对应哪个 model"时,看它就行。多聚体的文件名会多一个_pred_M后缀(例如model_1_pred_0),写脚本做文件名匹配时别漏了这一点。.cif文件与.pdb一一对应,想省磁盘就只留一种,但对外提交流程两种都建议保留。
下面这张图是仓库自带的 CASP14 预测示例:蓝色是计算预测、绿色是实验结果,两者几乎完全重合——这就是 AlphaFold 在建模顺利的目标上能达到的水平。
文件在哪知道了,下一步是搞清楚该打开哪一个。
二、该看哪个 PDB:ranked、relaxed、unrelaxed 怎么选
看结构之前,先理清三套文件的关系:unrelaxed_model_N.pdb是模型的直接输出;经过 Amber 局部能量优化后得到relaxed_model_N.pdb;ranked_*系列则是前两者的排序副本。默认参数(--models_to_relax=best)只优化置信度最高的一个模型,所以另外 4 个模型的ranked_N.pdb其实是未松弛内容。
✅ 实践建议:对外上报、对接、可视化,一律默认用ranked_0.pdb;只有想对比"能量优化改了什么"时才去看unrelaxed版本。如果你只是想基于模型原始输出重新导出结构文件(比如自己算一遍其他指标),直接pickle.load读result_model_N.pkl即可,里面存着 pLDDT、PAE 等原始数组,不用重跑整个流程。
三、PDB 文件 Python 解析:用 Biopython 拿坐标和残基 🔍
现在把ranked_0.pdb打开看看里面长什么样。PDB 格式是定宽文本,每行 ATOM 记录的列位置都是固定的,几个关键列如下:
| 列号(从 1 计) | 内容 | 在你场景下的含义 |
|---|---|---|
| 1–6 | 记录类型 | ATOM是标准原子,HETATM是水等 |
| 13–16 | 原子名 | CA、N、C、O等 |
| 18–20 | 残基三字母码 | ALA、GLY等 |
| 22 | 链标识 | A、B等 |
| 23–26 | 残基序号 | 沿序列从 1 开始 |
| 31–54 | x / y / z 坐标 | 单位 Å |
| 61–66 | B 因子 | AlphaFold 把该残基的 pLDDT( |
【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考