在 Hugging Face Spaces 上可视化蛋白质

Hugging Face 引入了一种在 Hugging Face Spaces 中直接可视化 3D 蛋白质结构的方法。此集成使开发者能够将蛋白质机器学习模型与交互式浏览器查看器相结合,从而对预测或重新设计的蛋白质结构进行定性验证。

机器学习中的蛋白质可视化

蛋白质结构对于理解蛋白质功能至关重要。在蛋白质机器学习领域——包括 AlphaFold2、OmegaFold 和 OpenFold 等模型——蛋白质通常以坐标、图或一维序列的形式表示。由于氨基酸的三维排列决定了蛋白质的功能,可视化这些结构对于研究人员解释模型输出是必不可少的。

将 3Dmol.js 与 Gradio 集成

要在 Hugging Face Space 中可视化蛋白质,开发者可以使用 3Dmol.js,这是一款用于分子可视化的 JavaScript 库,可通过 Gradio HTML 块进行集成。

实现方法

由于 Gradio 没有原生的 3Dmol 块,集成是通过返回包含 HTML 文档的 iframe 来实现的。此方法是为了符合现代浏览器的安全规则。

  1. 数据获取:应用程序可以接受一个 4 位的 PDB(蛋白质数据银行)代码,以从 RCSB Protein Databank 检索文件,或接受直接的 PDB 文件上传。
  2. HTML 设置:HTML 文档的 head 加载 3Dmol.js 库和 jQuery。
  3. 渲染:HTML 文档的 body 定义了一个容器 div,在其中初始化 3Dmol 查看器。PDB 文件内容被传入查看器,进行样式设置(例如使用 whiteCarbon 配色方案),并通过 viewer.render()viewer.zoomTo() 方法进行渲染。

现代替代方案:Molecule3D 自定义组件

截至 2024 年 5 月,Hugging Face 推荐使用 Molecule3D Gradio Custom Component 来替代手动 iframe 方法。该组件简化了流程,并允许用户实时修改蛋白质可视化。可通过 pip 安装:

pip install gradio_molecule3d

实际应用:ProteinMPNN

此可视化流水线在实际生产中的示例是 ProteinMPNN space。在该工作流中,用户上传蛋白质主链,ProteinMPNN 逆折叠模型预测最佳序列,随后使用 AlphaFold2 验证这些序列是否采用初始输入的主链。AlphaFold2 的高 pLDDT 分数,加上结构与输入主链匹配的定性视觉确认,表明重新设计成功,需在实验室环境中进行测试。

Sources