コンテンツに移動
AI & 機械学習

研究者向けの RAD Lab AlphaFold モジュール

2023年1月20日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 1 月 13 日に、Google Cloud blog に投稿されたものの抄訳です。

タンパク質の機能を理解するにはタンパク質の形状の理解が不可欠です。つまり、よりサステナブルな素材の作成からより効果的な病気の治療法の開発まで、幅広い画期的な研究プロジェクトにもタンパク質の形状の理解が不可欠であると言えます。このため「タンパク質の折りたたみ問題」は数十年間も生物化学の重要な課題として挙げられてきました。しかし、Google の DeepMind が開発した AlphaFold によって状況が変わりました。  

AlphaFold は DeepMind が開発した AI モデルで、タンパク質のアミノ酸の 1 次元配列情報に基づいて 3 次元構造を予測します。生物学的研究の突破口として幅広い分野で歓迎され、ワクチンや合成物質の開発を飛躍的に発展させると期待されています。DeepMind は 2021 年に科学コミュニティで AlphaFold のアルゴリズム、コード、手法をオープンソース化しました。現在 AlphaFold のタンパク質構造データベースには、科学の世界ですでに発見されているほぼすべてのタンパク質が登録されています。  

この投稿では、「プロジェクト」と呼ばれる Google Cloud 環境を研究者が迅速かつ簡単にスピンアップできるようにする RAD Lab の AlphaFold を取り上げます。この環境では Vertex AI API が有効化されており、AlphaFold コンテナ ノートブックが Vertex AI Workbench にデプロイされています。

Google Cloud で AlphaFold を使用するメリット

AlphaFold のライセンスは商用利用を許可しています。このため、研究者やバイオ医薬品企業は、創薬パイプラインの作成、試験用構造の決定、さらには全細胞および分子置換のトモグラムの生成などのユースケースに DeepMind のニューラル ネットワークのモデルの重み付けを利用できます。そのリリース以降、190 か国以上の 75 万人以上の研究者と生物学者が AlphaFold のデータベースを活用して数百万もの構造を確認してきました。

しかし、AlphaFold を実行するには、2.2 TB 以上あるデータベース ファイルをダウンロードし、サーバーのディスクに保存しなければなりません。また、CPU、メモリ、GPU の要件も満たす必要があるため、AlphaFold を長期間実行し続けるためのクラウド サーバーの構築と構成は負担の大きい作業となることが考えられます。このため、Google Cloud で AlphaFold を簡単に実行できるサービスを構築し、組織や研究者がシステムのインフラストラクチャの要件を満たせるようにしました。2022 年のブログ投稿では、AlphaFold の利用を迅速に開始するための情報をお伝えし、高性能な GPU アクセラレータをプロビジョニングした Vertex AI Workbench ノートブックで AlphaFold を実行し、あらゆる配列情報を素早く予測する方法について説明しました。

このソリューションを初めて利用するバイオ医薬品企業や研究者は、以下のような課題に直面することがよくあります。

  • Google Cloud を使用したいが、どこから、どのように手を付ければよいかわからない

  • 作業内容を複製して共同研究者やコミュニティと共有したいが、方法がわからない

これらのニーズに対応するために、Google Cloud は AlphaFold 向けの RAD Lab モジュールを開発しました。まず、RAD Lab の概要について見ていきましょう。

RAD Lab とは

RAD Lab は、Google Cloud を使用した研究を自動化によって迅速かつ容易にするためのソリューションです。Infrastructure as Code リソースを利用してデプロイを自動化する RAD Lab は、Google Cloud インフラストラクチャ管理のベスト プラクティスに基づいて構築されており、イノベーション ラボの構築、プロトタイプ アプリケーション開発、最新の DevOps プロセスの設計など、研究と組織のさまざまなニーズを満たすモジュールから構成されています。そのユースケースとして、以下のような例が考えられます。

  • 特許機関が、技術系チームによる新規申請の迅速な繰り返し処理を可能にするクラウド サンドボックス環境を構築して、審査プロセスを迅速化する。

  • 研究機関が、Google Cloud の優れた機能を利用して研究を行う科学者との科学的なコラボレーションのための環境を構築する。

  • システム インテグレータが、RAD Lab の柔軟性を活かして複数の部門とチームの間でテクノロジーを共有し、戦略的優先事項の達成を加速させる。

RAD Lab は全モジュールがオープンソースであり、Google Cloud の GitHub からアクセスできます。RAD Lab を使用するには、Gmail を使用して Google Cloud アカウントに登録するか、組織の請求 ID を使用して GitHub でデプロイするプロジェクトを開く必要があります。これにより、コンテナ、ノートブック、ストレージなど、特定のワークフローに必要なものがすべてスピンアップされます。RAD Lab はサブスクリプションによるデプロイが可能であるため、料金の請求がシンプルです。

RAD Lab を使用した AlphaFold による研究の迅速化

RAD Lab の AlphaFold を使用する研究者は、「プロジェクト」と呼ばれる Google Cloud 環境を迅速かつ簡単にスピンアップできます。これらのプロジェクトでは Vertex AI API が有効化されており、迅速かつ簡単にアクセスできるように AlphaFold コンテナ ノートブックが Vertex AI Workbench にデプロイされます。

モジュールは以下の処理を行います。

  1. 研究者向けの Google Cloud プロジェクトを作成します。

  2. Vertex AI API を有効化します。

  3. AlphaFold コンテナをノートブックとして Vertex AI Workbench にデプロイします。その際、Vertex AI Workbench でノートブック インスタンスを起動するためのパッケージや、AlphaFold を実行するための前提条件がプリインストールされた Artifact Registry のカスタマイズされた Docker イメージを使用します。

この RAD Lab モジュールはバックグラウンドでデータサイエンス モジュールを利用し、AlphaFold 構成を Vertex AI Workbench にデプロイします。
https://storage.googleapis.com/gweb-cloudblog-publish/images/1_RAD_Lab_AlphaFold_v1.max-900x900.jpg

上のアーキテクチャ図からわかるように、RAD Lab には 2 つのペルソナが関連しています。

  • RAD Lab 管理者は GCP 環境と RAD Lab AlphaFold モジュールを設定します。

  • RAD Lab ユーザーは、管理者によって作成された RAD Lab AlphaFold 環境にアクセスします。

モジュールがデプロイされると、研究者やユーザーは管理者によって作成された GCP プロジェクトを使用できるようになります。GCP プロジェクトで Vertex AI Workbench に移動し、AlphaFold モジュールのテストを開始したり、BigQuery と Google Cloud Storage にアクセスして配列データを保存し、スケーラブルに変換したりできます。

RAD Lab 経由での AlphaFold のデプロイ

詳細な設定手順については、こちらの動画をご覧ください。

RAD Lab 環境を設定する方法

1. 公開 RAD Lab リポジトリに移動します。

2. すべての IAM ロール / ポリシーの前提条件を満たしていることを確認します。

3. [Open in Google Cloud Shell] をクリックします。

  • 公開リポジトリのクローンが GCP Cloud Shell に作成されます。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/2_RAD_Lab_AlphaFold.gif

RAD Lab ランチャーの前提条件となっているファイルをインストールする方法

4. radlab-launcher フォルダに移動します。

5. python3 installer_prereq.py を実行してライブラリをインストールします。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/3_RAD_Lab_AlphaFold.gif

RAD Lab モジュールのデプロイのガイド付きセットアップをトリガーする方法

6. python3 radlab.py を実行してランチャーをトリガーします。

7. ガイド付きセットアップに従って以下を選択または設定します。

  • モジュールをスピンアップするユーザー ID(すべての必要な IAM ロールを設定済み)

  • GCP プロジェクト(RAD Lab マネジメント プロジェクト)

  • デプロイする RAD Lab モジュール

  • 対応する RAD Lab モデルに対して実行するアクションを選択する

  • デプロイの Terraform の状態を保存する GCS バケットを選択または作成する

  • 組織 ID

  • フォルダ ID

  • 請求先アカウント ID

8. デプロイの出力(新規に作成された RAD Lab プロジェクト ID など)を保存します。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/4_RAD_Lab_AlphaFold.gif

デプロイしたプロジェクトを操作する方法

9. https://console.cloud.google.com/ に移動し、RAD Lab プロジェクトにアクセスする RAD Lab プロジェクト ID を選択または設定します。

10. デプロイしたモジュールに応じて、特定のリソースに移動します。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/5_RAD_Lab_AlphaFold.gif

タンパク質の折りたたみの実行例

AlphaFold モデルの基本的な使い方を確認するために、Vertex AI Workbench のこちらのノートブックにタンパク質配列を入力し、3 次元のタンパク質を出力してみます。

ここでは、ユビキチン様タンパク質の折りたたみ方法をご紹介します。このタンパク質は、標的タンパク質との結合(ISGylation)を介して、または非結合タンパク質としての働きを介して、ウイルス感染に対する先天的な免疫反応で重要な役割を果たします。

1. ワークベンチで AlphaFold.ipynb を開き、「Download AlphaFold Data」と「Configure GPU Acceleration」のセルを実行します。

2. 「Making a prediction」セクションで以下のタンパク質配列を入力し、セルを実行します。配列を 1 つだけ入力すると、単量体モデルが使用されます。複数の配列を入力すると、多量体モデルが使用されます。ここではタンパク質配列を 1 つ使用し、単量体モデルを折りたたみます。タンパク質フォルダの例として IG15 タンパク質を使用します。以下のタンパク質配列をコピーしてノートブックのセルに貼り付け、セルを実行します。

# 入力配列(型: 文字列)

sequence_1 = "MGWDLTVKMLAGNEFQVSLSSSMSVSELKAQITQKIGVHAFQQRLAVHPSGVALQDRVPLASQGLGPGSTVLLVVDKCDEPLSILVRNNKGRSSTYEVRLTQTVAHLKQQVSGLEGVQDDLFWLTFEGKPLEDQLPLGEYGLKPLSTVFMNLRLRGGGTEPGGRS"

3. 次にノートブックの「Search against genetic database」のセルを実行します。以下のような応答が返されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/6_RAD_Lab_AlphaFold_v1.max-1600x1600.jpg

4. 次の手順はノートブックの「Run AlphaFold」セクションです。このセルを実行すると、取得した予測を含む zip アーカイブされた「prediction.zip」が VM に保存され、サイドバーからお使いのパソコンにダウンロードできるようになります。以下に、IG15 タンパク質の折りたたまれた 3 次元タンパク質構造を示します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/7_RAD_Lab_AlphaFold_v1.max-700x700.jpg

次のステップ

この投稿では、RAD Lab ソリューションを使用して AlphaFold モジュールを研究者向けに迅速に設定する方法をご紹介しました。次世代の RAD Lab には、技術的な知識をあまり持たないユーザーが Google Cloud リソースをデプロイするための最新のインターフェースである RAD Lab UI が含まれます。

Google Cloud の GitHub リポジトリはこちらです。皆様のご意見とご協力をお待ちしております。今回の投稿に協力してくれた Michelle Holko に感謝します。


- AI / ML カスタマー エンジニア Mona Mona
ソリューション デベロッパー Mukul Gupta
投稿先