製薬、BioTech のパターン
ゲノム データの変異解析(二次解析)
解決する課題・使い所
ゲノム データの解析は、マシンパワーが必要です。
データ量が大きいため、ストレージ容量が枯渇するという問題があります。
サーバーやストレージ、ソフトウェアのインストールなどの準備作業に時間がかかります。
ゲノム データの変異解析フロー
以下の図は、ゲノム データの変異解析の全体フローを示しています。主に、図中に記載されている二次解析(Secondary Analysis)におけるアラインメントやバリアント コールのアーキテクチャについて説明します。
Cromwell のアーキテクチャ
以下の図は、Cromwell と Cloud Life Sciences API で GATK のベスト プラクティス ワークフローを実行するための一般的なアーキテクチャを示しています。
Identity-Aware Proxy
ウェブサイトへのリクエストをインターセプトし、リクエストを送信したユーザーを認証して、認証されたユーザーにのみサイトへのアクセスを許可するという一連の処理を行うサービスです。
Cloud Firewall Rules
指定した構成に基づいて、仮想マシン(VM)インスタンスとの接続を許可または拒否できます。また、ファイアウォール ルールはネットワーク レベルで定義されますが、接続はインスタンスごとに許可または拒否されます。
Compute Engine
Google Cloud のインフラ上に、VM を立ち上げることができるサービスです。
Cloud SQL
Google Cloud 上のリレーショナル データベースの設定、維持、運用、管理を支援するフルマネージドのデータベース サービスです。
Cloud Life Sciences
コンテナ化されたワークフローで、大規模なゲノム データや生物医学データを処理、分析、アノテーション付けなどに利用できるサービスです。
DeepVariant のアーキテクチャ
以下の図は、Google Cloud で DeepVariant パイプラインを実行するためのアーキテクチャを示しています。
Cloud Life Sciences
コンテナ化されたワークフローで、大規模なゲノム データや生物医学データを処理、分析、アノテーション付けなどに利用できるサービスです。
Compute Engine
Google Cloud のインフラ上に VM を立ち上げることができるサービスです。
Cloud Storage
Google Cloud のオブジェクト ストレージ サービスです。保存するデータ量に制限はなく、マルチリージョンまたはデュアル リージョンにデータを保存することで、地理的な冗長性を構成することができます。
利点
Google Cloud Life Sciences に最適化された解析ツールを利用することができます。例えば、Cloud Life Sciences API は、Cromwell、Nextflow、Galaxy などのオープンソースのワークフロー エンジンと統合されています。
また、Nextflow と Galaxy は、Compute Engine や Cloud Storage との直接統合が可能で、Google Cloud でのコンピューティングがサポートされています。DeepVariant は、Google が開発したディープ ラーニングをベースとする変異解析のためのオープンソース ソフトウェアです。PrecisionFDA Truth Challenge では高い精度で変異検出できることが証明され、Google Cloud 上で容易に実行することができます。
特定のリージョンだけで、ゲノムデータの処理を実行することができます。
ワークフローを可能な限り並列処理することにより、全体の実行速度を高速化することができます。
必要なコンピュート リソースをスケールして実行し、終了とともに自動削除できます。
費用は、実行に要したリソース分のみなので経済的です。
ゲノム データの変異解析(三次解析)
解決する課題・使い所
ゲノムの変異データ(VCF ファイル)は、解析が困難です。
解析の際に、参照するためのデータセットをダウンロードしたり、保存したりしておくためのストレージやサーバーが必要です。
必要なサーバーやツールのインストールなど、準備のために時間がかかります。
Variant Transforms を利用することで、VCF ファイルを BigQuery にインポートできるため、標準 SQL で容易に解析できるようになります。
ゲノム データの変異解析フロー
以下の図は、ゲノム データの変異解析の全体フローを示しています。主に、図中に記載されている三次解析(Tertiary Analysis)において、VCF ファイルを BigQuery に格納するためのアーキテクチャについて説明します。
Container registry Docker
コンテナ イメージの一元的な管理と脆弱性分析を行えるサービスです。
Cloud Storage
Google Cloud のオブジェクト ストレージ サービスです。保存するデータ量に制限はなく、マルチリージョンまたはデュアル リージョンにデータを保存することで、地理的な冗長性を構成することができます。
Life Sciences
コンテナ化されたワークフローで、大規模なゲノム データや生物医学データを処理、分析、アノテーション付けなどに利用できるサービスですす。
Dataflow
フルマネージドでデータを処理することができ、自動プロビジョニングや、高速で費用対効果の高い、統合されたストリーミング処理とバッチ処理ができるサービスです。
BigQuery
サーバーレスでスケーラビリティと費用対効果に優れたマルチクラウド データ ウェアハウスです。標準 SQL を使用して、ペタバイト規模のデータを高速に分析でき、運用のオーバーヘッドも発生しません。
利点
BigQuery は標準の SQL を使用して、ゲノムの変異データを解析できます。
変異データと参照用のデータセットのテーブルとを結合して解析することが可能です。
Variant Transforms により BigQuery のパーティショニング機能が適用されるため、データ量が増えても高速な解析が可能です。
BigQuery のデータセットを共有することで、共同作業の環境を容易に整備することができます。
HPC (High Performance Computing) を使ったゲノム データ解析
解決する課題・使い所
HPC ワークロードは、一時的に大規模なマシン パワーが必要です。
データ量が大きいため、ストレージ容量が枯渇するという問題があります。
ゲノム データの変異解析フロー
クラスタ コンピューティングには、主に 2 つのタイプがあります。
クラスタは通常、1 つのヘッド ノード(マスター ノードともいう)と複数のコンピューティング ノードから構成されます。
一般的なクラスタ コンピューティングのアーキテクチャは、以下のとおりです。
Compute Engine
Google Cloud のインフラ上に VM を立ち上げることができるサービスです。
Cloud Storage
Google Cloud のオブジェクト ストレージ サービスです。保存するデータ量に制限はなく、マルチリージョンまたはデュアル リージョンにデータを保存することで、地理的な冗長性を構成することができます。
Slurm のアーキテクチャ
SchedMD の Slurm は、HPC の領域でよく使われているオープンソースのジョブ スケジューラです。
Compute Engine
Google Cloud のインフラ上に VM を立ち上げることができるサービスです。
利点
高品質のクラスタ環境を数分で起動できます。
プリエンプティブル VM や長期使用割引、動的スケーリングによりトータルコストを削減できます。
異なる組織の複数の担当者がクラスタ環境にアクセスし、共同作業が可能になります。また、IAM(Identity and Access Management)を利用することで、アクセスを適切に制御することができます。
SchedMD から Google Cloud 上に Slurm をデプロイするための専用の Terraform スクリプトが提供されているため、容易に Slurm クラスタ環境を構築でき、すぐに利用を開始できます。
Hail を使ったゲノム データ解析
解決する課題・使い所
オープンソースのデータ分析ライブラリである Hail は、Apache Spark を基盤として、大規模なゲノム データを処理するために利用されています。
Apache Spark を動かすためのインフラストラクチャの設定や準備には時間がかかります。
大量のデータを保存するためのストレージやサーバーが必要です。
アーキテクチャ
Cloud Dataproc
Apache Spark、Apache Flink、Presto をはじめ、30 以上のオープンソース ツールやフレームワークを実行するための、フルマネージドでスケーラビリティの高いサービスです。
Compute Engine
Google Cloud のインフラ上に VM を立ち上げることができるサービスです。
利点
Hail の管理コマンド(hailctl)は、Google Cloud Dataproc をネイティブでサポートしています。 そのため、Dartaproc クラスタの立ち上げや停止、Spark ジョブの Submit、Notebook への接続などを、すべて hailctl コマンドのみで実行できます。
Dataproc はマネージドの Apache Spark を提供するので、Spark のインストールや設定などの作業は不要です。