ナビゲーションをスキップする

Azure CycleCloud を使用した Galaxy 上でのゲノム解析

2022年2月7日 に投稿済み

Digital Advisor, Microsoft Industry Solutions

クラウド コンピューティングとデジタル トランスフォーメーションは、ゲノミクスを強力に後押ししています。ゲノミクスは 2025 年までにエクサベース規模のビッグ データ領域になると予想されており、他の主要なビッグ データ生成者と同様にデータの取得と保存に課題を抱えています。デジタル トランスフォーメーションを取り入れることで、研究機関と医療機関の両方において、ゲノム サイエンスの需要に対応する、実質的に無限の能力を利用することができます。Microsoft Azure のようなクラウドベースのコンピューティング プラットフォームの出現は、オンライン、スケーラブル、コスト効率、安全性、そして共有可能なビッグ データの永続化と解析への道を開き、多くの研究者や研究所が、ゲノミクスのビッグ データをクラウドベース サービス上で (公開そして非公開で) ホスティングするようになりました。

Microsoft は、ゲノム コミュニティが直面している課題を認識し、すべての人がゲノミクスを促進できるエコシステム (OSS と Microsoft の製品およびサービスに支えられた) の構築を続けています。ここでは、3 つの主要な分野: ゲノム データの研究と発見、大規模な自動化と分析を可能にするプラットフォームの構築、そして臨床レベルで最適化され安全なパイプラインについて焦点を当てます。Azure CycleCloud は、ハイ パフォーマンスのコンピューティング環境を活用してゲノム解析を行うことを可能にした、Azure の中核的なサービスの 1 つです。

Galaxy と Azure CycleCloud

Galaxy は、コンピューター プログラミングやシステム管理の経験がない研究者でも計算生物学にアクセスできるようにすることを目的とした、科学的ワークフロー、データ統合、データ解析の永続化と公開のためのプラットフォームです。当初はゲノム研究のために開発されましたが、ドメインにとらわれず、現在では一般的なバイオインフォマティクス ワークフロー管理システムとして使用されています。Galaxy システムは、アクセス可能で、再現性があり、透明性の高い計算研究のために使用されます。

  • アクセスしやすい: プログラミングの経験がなくても、データのアップロード、複雑なツールやワークフローの実行、結果の視覚化などを容易に行うことができます。
  • 再現性がある: Galaxy が情報を取得するため (ご自分では行う必要がありません)、どのようなユーザーでもツールのパラメーターから依存関係ツリーにいたるまで、完全な計算解析を繰り返し、理解することができます。
  • 透過的: ユーザーは履歴、ワークフロー、および視覚化を Web 経由で共有および公開します。
  • コミュニティ中心: インクルーシブで多様性に富むユーザー (開発者、教育者、研究者、臨床医など) が発見内容を共有することができます。

Azure CycleCloud は、Azure 上のハイ パフォーマンス コンピューティング (HPC) 環境を調整および管理するためのエンタープライズ向けツールです。Azure CycleCloud を使用すると、ユーザーは HPC システムのインフラストラクチャをプロビジョニングし、使い慣れた HPC スケジューラをデプロイし、インフラストラクチャを自動的にスケーリングして、あらゆる規模で効率的にジョブを実行することができます。Azure CycleCloud を使用すると、さまざまな種類のファイル システムを作成し、それをコンピューティング クラスター ノードにマウントして、HPC ワークロードをサポートすることができます。クラスターの動的スケーリングにより、ビジネスは必要なリソースを適切なタイミング、そして適切な価格で入手することができます。Azure CycleCloud の自動構成により、IT 部門はビジネス ユーザーへのサービス提供に集中することができます。

Azure CycleCloud を使用して Azure 上の Galaxy をデプロイする

Galaxy は、ゲノム研究を行うほとんどの学術機関で使用されています。ゲノム解析のための複数のツールが SaaS プラットフォームとして提供されているため、既に Galaxy を使用している機関の多くは、これを使い続けたいと考えています。また、ユーザーはカスタム ツールを Galaxy 上にデプロイすることもできます。

Galaxy のユーザーは通常、UseGalaxy リソースの一部として SaaS 版の Galaxy を使用しています。UseGalaxy サーバーには、一般的なコア ツールとリファレンス ゲノムが実装されており、誰でも自由に利用することができます。その利用に関するすべての情報は、Galaxy Platform Directory で公開されています。

しかし、研究機関によっては、Galaxy をオンプレミス型やクラウド型ソリューションとして自社でデプロイしようと考えているところもあります。この記事の後半部分では、Azure CycleCloud とグリッド エンジン クラスターを使用して、Microsoft Azure 上で Galaxy をデプロイして実行する方法について説明します。このソリューションは、Microsoft ハッカソン (2021 年 10 月 12 日~ 14 日) において、Azure HPC スペシャリストの Jerry Morey のコード実装支援を受けて構築されました。以下に説明するアーキテクチャ パターンは、組織が CycleCloud と任意のスケジューラーを使用して Azure 環境に Galaxy をデプロイするのに役立ちます。

Azure CycleCloud とグリッドエンジンクラスターを使用した Galaxy on Azure のアーキテクチャ図。

前提条件として、ゲノム データがクラウドまたはオンプレミスのストレージに用意されていることが必要です。Azure CycleCloud は、「Marketplace イメージを使用した CycleCloud のインストール」ドキュメントに記載されている手順でデプロイする必要があります。

クラウド上の Galaxy で真にサポートされるクラスター デプロイは、ユニファイド方式と呼ばれます。この方法では、アプリケーション サーバー上の Galaxy のコピーは、クラスター ノード上のものと同じコピーになります。これを行う最も一般的な方法は、アプリケーション サーバーとクラスター ノードからアクセス可能なネットワーク ファイル システム (NFS) のどこかに Galaxy を配置することです。これは Galaxy の最も一般的なデプロイ方法です。

管理者ユーザーは、Azure CycleCloud 仮想マシンまたは Galaxy サーバー仮想マシンに SSH 接続して、管理者関連のアクティビティを実行できます。運用環境では、SSH ポートを閉じることをお勧めします。あるノード上で Galaxy サーバーが稼働すると、エンド ユーザー (研究者) は自分のエンド デバイスにポータルを読み込んで、データの読み込み、インストール、ツールのアップロードなどの分析タスクを実行できます。

機能へのアクセス (ツールのインストールや削除、解析のためのツールの使用など) は、Galaxy サーバーに存在する galaxy.yml に定義されたパラメータによって制御されます。ユーザーが機能にアクセスすると、それがジョブに変換され、グリッド エンジン クラスターに送信され、さらに実行されます。

デプロイを容易にするために、デプロイ スクリプトが用意されています。これらのスクリプトを使用して、Azure CycleCloud 上に最新バージョンの Galaxy をデプロイすることができます。
デプロイ スクリプトを実行するには、次の手順を実行します。

  • このプロジェクトを Git clone する (プロジェクトはアクティブに開発中なので、最新のリリースを複製することをお勧めします)。

git clone –b release_21.09 https://github.com/themorey/galaxy-gridengine.git

  • プロジェクトを CC ロッカーにアップロードする。

cd galaxy-gridengine

ファイルを変更する (必要な場合)

cyclecloud locker list

Azure サイクル ロッカー (az://mystorageaccount/cyclecloud

cyclecloud project upload "Azure cycle Locker"

  • クラスター テンプレートを CC にインポートする。

cyclecloud import_cluster <cluster-name> -c <galaxy-folder-name> -f templates/gridengine-galaxy2.txt

注: <cluster-name> には、クラスターの名前を入れてください。すべて小文字で、スペースなしです。

  • CC ポータルに移動して、クラスターを構成し、開始します。

Galaxy サーバーがインストールされるまで 30 ~ 45 分待ちます。

サーバーが正しくインストールされているかどうかを確認するには、Galaxy サーバー ノードに SSH 接続し、/shared/home/<galaxy-folder-name> ディレクトリの galaxy.log を確認します。

このデプロイは、米国に拠点を置く大手学術医療センターで採用されました。Microsoft Industry Solutions チームは、このソリューションのお客様の Azure テナントへのデプロイを支援しました。同センターの研究者は、オンプレミスの HPC 環境における既存の Galaxy のデプロイとこのソリューションの同等性を評価するためのテストを行いました。その結果、Azure CycleCloud をジョブ オーケストレーションに使用する Galaxy サーバーのデプロイを正常にテストすることができました。bedtools、fastqc、bcftools、picard、snpeff などの一般的なバイオインフォマティクス ツールがインストールされ、テストされました。Galaxy は既定でローカル ユーザーをサポートしています。このエンゲージメントの一環として、企業の Active Directory を統合するソリューションがテストされ、デプロイされました。このソリューションは、オンプレミスのデプロイと同レベルであることが確認されました。実行ノードの数とサイズが増えたことで、ジョブがより短時間で実行されるようになったことがわかりました。

このブログの内容に関する詳細、サポート、ガイダンスについては、Microsoft の営業担当者に問い合わせることをお勧めします。

さらに学ぶ

Microsoft Genomics ソリューションの詳細についてご確認ください。