
AlphaFold 蛋白质结构可视化 3 分钟上手从序列到可交互 3D 图【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold你刚跑完一轮预测磁盘上的输出是一堆 PDB 和 JSON 文本但你真正想要的是一张能旋转、能缩放、能直接截图贴进汇报的结构图。这篇文章把 AlphaFold 仓库里的蛋白质结构可视化全链路走一遍从序列校验、置信度判读到 py3Dmol 交互画布最后落到可导出的 PNG 与交互 HTML 四种产出物上。三分钟先跑通蛋白质结构可视化最小闭环画图之前先确认输入是干净的——一个非法字符就足以让整个流程报错。仓库自带现成的校验函数直接调用即可from alphafold.notebooks import notebook_utils # 去空白、转大写含非标准氨基酸或长度不在 16~2500 时抛 ValueError clean_sequence notebook_utils.clean_and_validate_single_sequence( input_sequenceMAQAAKAVKAVTAVKGVAVKAVKAKAVIAAVK, min_length16, # 下限太短直接报错 max_length2500 # 上限太长报错并提示评估显存 ) print(clean_sequence)运行后你拿到的是干净的大写序列失败方式是前置报错比预测跑到一半崩溃强得多。值得调的旋钮是这两个长度阈值显存紧张时调低 max_length长蛋白建议先跑短的同源片段验证流程。预测的结构能不能信MSA 保守性与 pLDDT 两把尺子结构出来第一件事是问哪些区域能信哪些是模型在猜。AlphaFold 给了两把尺子。第一把是 MSAMultiple Sequence Alignment多序列比对把数据库里的同源序列堆叠起来显示目标序列哪些位置在进化上被保守。仓库提供了画保守性曲线的函数from alphafold.notebooks import notebook_utils # single_chain_msas 是数据库搜索返回的 Msa 对象列表sequence_index 指定第几条链 notebook_utils.show_msa_info( single_chain_msas[msa], sequence_index0 )曲线画的是每个残基位置上的非间隙氨基酸计数曲线高说明该位置有充足同源证据曲线低的区段更依赖共进化信息通常没那么稳。第二把尺子是 pLDDTpredicted local distance difference test逐残基 0~100 的置信度分数90 以上可靠70~90 良好50~70 谨慎50 以下多为无序区。show_msa_info的源码在 alphafold/notebooks/notebook_utils.py想看曲线怎么画的可以直接翻。旋钮在数据库搜索一侧参与比对的同源序列数量max_hits直接决定 MSA 曲线的整体高度曲线普遍偏低时先怀疑检索条件是否过严。把结构转到眼前py3Dmol 交互式 3D 展示PDB 文本是坐标清单只有把它变成眼前的 3D 模型才算看到结构。这一步用 py3Dmol 完成渲染from alphafold.common import protein import py3Dmol # features 和 result 是预测步骤的输入与输出 prot protein.from_prediction(features, result) pdb_str protein.to_pdb(prot) # 结构转成 PDB 字符串 view py3Dmol.view(width800, height600) # 画布尺寸 view.addModel(pdb_str, pdb) # 载入结构 view.setStyle({cartoon: {color: spectrum}}) # cartoon丝带渲染彩虹着色 view.zoomTo() view.show()show()之后 Notebook 里会出现交互画布左键旋转、滚轮缩放、右键平移彩虹丝带能一眼看出多肽链从 N 端到 C 端的走向。下面是官方 demo 在 CASP14 预测结果上的渲染效果 旋钮是width/height汇报演示时放大到 1200x900截图会更清晰。让结构图会说话按 pLDDT 置信度着色与标注彩虹配色好看但审稿人关心的是置信度和关键残基。官方 Notebook 的做法是先把每个残基的 pLDDT 写进 PDB 的 B-factor 列再把 B-factor 映射成颜色——置信度就长在结构上了# B-factor此处即 pLDDT离散映射为四档颜色低置信度橙红高置信度深蓝 color_map {0: #FF7D45, 50: #FFDB13, 70: #65CBF3, 90: #0053D6} view.setStyle({cartoon: {colorscheme: {prop: b, map: color_map}}}) # 第 10~20 号残基改画成 stick显示侧链原子并染红 view.addStyle({resi: list(range(10, 20))}, {stick: {color: red}}) # 在第 15 号残基处加文字标签 view.addLabel(活性位点, {position: below}, {resi: 15}) view.show()此时图会自己讲故事哪段可靠、活性位点在哪个转角、突变残基离口袋多远。需要观察结合口袋形状时再加一行view.addSurface(py3Dmol.VDW, {opacity: 0.4})即可VDW范德华表面是沿原子半径包络画的分子表面。旋钮在colorscheme的map它是B-factor 取值 → 颜色的离散映射改这四个十六进制色值就能换整套图的色调。一对多对比与成果导出野生型 vs 突变体做点突变时最有说服力的对比是把野生型和突变体并排摆在一起。py3Dmol 的网格布局可以把多个结构放进同一窗口# 1 行 2 列网格左边野生型右边突变体 view py3Dmol.view(width800, height800, grid(1, 2)) view.addModel(wt_pdb, pdb, viewer(0, 0)) view.addModel(mut_pdb, pdb, viewer(0, 1)) view.setStyle({cartoon: {color: spectrum}}, viewer(0, 0)) view.setStyle({cartoon: {color: grey}}, viewer(0, 1)) view.show() # 导出保留交互的版本浏览器打开即可旋转缩放 with open(protein_view.html, w) as f: f.write(view._make_html())这一步产出两种成果物浏览器里可交互的 HTML以及view.png()直接落盘的 PNG——论文、PPT、网页各取所需。旋钮是grid的两个数字改成 (2, 1) 变上下排布对比四个构象时用 (2, 2)。高频疑问速答问手头只有从别处下载的 PDB没跑过预测能这样展示吗答可以addModel直接接受文件路径或 PDB 字符串py3Dmol 部分不依赖结构来源。问结构里一大片 pLDDT 50还能信吗答低置信度区段多为内在无序区别拿它做对接或残基互作分析高置信度结构域照常解读即可。问必须用 Notebook 渲染吗普通脚本行不行答行用_make_html()导出 HTML 再交给浏览器打开交互能力完整保留。问pLDDT 原始值从哪取答预测结果里每帧的plddt字段alphafold/common/confidence.py 里的compute_plddt()是它的原始实现。问展示前要先跑 Relax能量最小化吗答建议跑run_alphafold.py默认包含这一步用 AMBER 力场消除原子间碰撞图和后续分析都更可靠。想看完整流程与更多示例官方样本在 notebooks/AlphaFold.ipynbpLDDT 等指标的定义见 docs/technical_note_v2.3.0.md。从一条序列到一张能直接进报告的蛋白质结构图三分钟就够——下一步把它指给你最关心的那条蛋白吧。【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考