ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

AlphaFold 蛋白质结构可视化:5 行 Python 出 3D 结构图,免费完整指南

AlphaFold 蛋白质结构可视化:5 行 Python 出 3D 结构图,免费完整指南 AlphaFold 蛋白质结构可视化5 行 Python 出 3D 结构图免费完整指南【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold用官方开源的 AlphaFoldv2 的开放实现把一段氨基酸序列喂进去就能拿到一张可旋转、可缩放、可着色的 3D 结构图。本文不绕弯子先让你看到成品长什么样再给你一条最短跑通路径最后按置信度着色、活性位点高亮、野生 vs 突变体对比三个场景把图做有信息量。读完你会独立跑通渲染并知道每个 pLDDT 阈值到底代表什么。先看图这就是几行代码的产物左边是实验测得的真实结构右边是模型预测出来的结构两幅几乎重叠——这张对比图背后的渲染就是后面用py3Dmol十几行代码能复现的东西。它不是渲染软件的手工作品是预测结果的直接可视化。跑通最小示例从序列到 3D 结构图整条链路只有三步清洗序列 → 预测结构 → 渲染下面给你能跑通的最少代码。先把序列洗干净。AlphaFold 只认 20 种标准氨基酸序列里不能有空格、不能太短from alphafold.notebooks import notebook_utils seq notebook_utils.clean_and_validate_single_sequence( input_sequenceMAAHKGAEHHHKAAEHHEQAAK..., # 换成你的序列 min_length16, max_length2500)跑完它会原样返回干净序列一旦混进非氨基酸字符或长度越界直接抛ValueError。接下来做结构预测。真实环境需要下好模型参数和数据库这里只写核心调用from alphafold.model import model, config, data cfg config.model_config(model_1) runner model.RunModel(cfg, data.get_model_haiku_params(model_1, params/)) pred runner.predict(runner.process_features(features, 0))这一步会把氨基酸坐标算出来产物里最关键的是plddt——每个残基的预测置信度。最后把坐标交给py3Dmol变成可交互的 3D 图import py3Dmol from alphafold.common import protein prot protein.from_prediction(features, pred) view py3Dmol.view(width800, height600) view.addModel(protein.to_pdb(prot), pdb) view.setStyle({cartoon: {color: spectrum}}) view.zoomTo(); view.show()上面这条彩虹丝带图就是view.show()后浏览器里能拖来拖去的那个窗口。把cartoon换成stick骨架棒状或sphere空间填充球你看到的就是同一种结构的三种画法。让图更有信息量三个实用场景默认渲染只能看个大概真正干活时要靠下面三招。① 按置信度着色pLDDT 染色。AlphaFold 把每个残基的plddt写进了 PDB 的 B 因子所以直接按b属性映射四档颜色即可bands {0: orange, 1: gold, 2: lightblue, 3: darkblue} view.setStyle({cartoon: {colorscheme: {prop: b, map: bands}}})深蓝色区域pLDDT 90最可信橙色pLDDT 50基本是柔性无序区看结果时先盯深蓝部分。② 高亮活性位点。想强调某几个残基用addStyle指定残基号区间把它从卡通里挑出来view.addStyle({resi: (10, 19)}, {stick: {color: red, radius: 0.3}})③ 野生型 vs 突变体并排。用grid参数开两个子图同屏对比构象差异g py3Dmol.view(width800, height400, grid(1, 2)) g.addModel(wild_pdb, pdb, viewer(0, 0)) g.addModel(mut_pdb, pdb, viewer(0, 1)) g.setStyle({cartoon: {color: spectrum}}, viewer(0, 0)) g.zoomTo(); g.show()导出时记住一条view.png()存的是静态死图适合塞论文view._make_html()存的是保留交互的网页适合发给同事自己拖。两者别混用。踩坑速查表 现象 / 疑问实际原因与对策ValueError: too short / too long单链16~2500残基多链模型上限4000越界先截断或换模型图上一段是橙色糊的那是pLDDT 50的低置信区别当真是柔性无序区结构有细小原子重叠AMBER relax 偶尔引入立体化学瑕疵不介意的话关掉run_relax预测卡很久MSA 数据库搜索按分钟到小时计序列越长越久属正常导出图不能转png()是静态图要可交互得导_make_html()配色不对pLDDT 藏在B 因子里染色务必用prop: b拿走就用序列先过clean_and_validate_single_sequence长度守住 16~2500渲染前确认plddt已写进 B 因子染色用prop: b论文用png()分享交互用_make_html()高置信区pLDDT 90优先解读低置信区 50只做参考官方完整示例见 notebooks/AlphaFold.ipynb技术细节见 docs/technical_note_v2.3.0.md【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表