Hugging Face Spacesでタンパク質を可視化

Hugging Face は、Hugging Face Spaces 内で 3D タンパク質構造を直接可視化する方法を導入しました。この統合により、開発者はタンパク質機械学習モデルとインタラクティブなブラウザベースのビューアを組み合わせ、予測または再設計されたタンパク質構造の定性的な検証を可能にします。

機械学習におけるタンパク質の可視化

タンパク質構造は、タンパク質機能を理解する上で重要です。AlphaFold2、OmegaFold、OpenFold などのモデルを含むタンパク質機械学習の分野では、タンパク質はしばしば座標、グラフ、または 1 次元配列として表現されます。アミノ酸の 3D 配列がタンパク質の機能を決定するため、これらの構造を可視化することは、研究者がモデルの出力を解釈する上で不可欠です。

3Dmol.js と Gradio の統合

Hugging Face Space でタンパク質を可視化するには、開発者は 3Dmol.js(分子可視化用の JavaScript ライブラリ)を Gradio の HTML ブロックを介して統合して使用できます。

実装方法

Gradio にはネイティブな 3Dmol ブロックがないため、統合は HTML ドキュメントを含む iframe を返すことで実現されます。この方法は、最新のブラウザセキュリティ規則に準拠するために必要です。

  1. Data Retrieval: アプリケーションは、4 桁の PDB(Protein Data Bank)コードを受け取り、RCSB Protein Databank からファイルを取得するか、直接 PDB ファイルのアップロードを受け付けることができます。
  2. HTML Setup: HTML ドキュメントの head が 3Dmol.js ライブラリと jQuery をロードします。
  3. Rendering: HTML ドキュメントの body が、3Dmol ビューアを初期化するコンテナ div を定義します。PDB ファイルの内容はビューアに渡され、(例として whiteCarbon カラースキームを使用)スタイルが適用され、viewer.render()viewer.zoomTo() メソッドで描画されます。

現代的代替手段: Molecule3D カスタムコンポーネント

2024 年 5 月時点で、Hugging Face は手動の iframe 方法の代わりに Molecule3D Gradio Custom Component の使用を推奨しています。このコンポーネントはプロセスを簡素化し、ユーザーがリアルタイムでタンパク質の可視化を変更できるようにします。pip でインストールできます:

pip install gradio_molecule3d

実用例: ProteinMPNN

この可視化パイプラインが実際に使用されている例として、ProteinMPNN スペースがあります。このワークフローでは、ユーザーがタンパク質のバックボーンをアップロードし、ProteinMPNN 逆折りたたみモデルが最適な配列を予測し、AlphaFold2 を用いてそれらの配列が元の入力バックボーンを採用しているかを検証します。AlphaFold2 の高い pLDDT スコアと、構造が入力バックボーンと一致するという定性的な視覚的確認が組み合わさることで、実験室でのテストが推奨される成功した再設計であることが示されます。

Sources