軽量仮想環境による再現性を担保したデータ解析ワークフローの構築とその共有
大田達郎1, 小笠原理2
1. ライフサイエンス統合データベースセンター 2. 国立遺伝学研究所 DDBJ センターt.ohta@dbcls.rois.ac.jp

acBackground
Increasing cost of translation from text to executable scripts
生命科学研究における一次データ (primary raw data) の公開とそのための公共データレポジトリの整備により，データの再利用と研究結果の再現実験が可能となった．しかし，公開されたデータを元にした研究結果は論文という形で出版されることはあっても，その結果を得る過程において行われたデータ解析については，bmaterials&methodsなどに自然言語で記述されるに留まることが多く，研究過程の正確な再現には未だ大きなコストを要する(Fig. 1.)．そこで我々は，より詳細にデータ解析の過程を記述し，かつ異なる計算機間で容易に共有・再実行が可能となるフレームワークを開発している．いわゆる次世代シーケンサー(High-Fig. 1. FANTOM5 (http://fantom.gsc.riken.jp/5/) におけ

throughput sequencing, HTS) から得られたデータとそのデータ解析に用いられたデータ解析ワークフロー

るデータ解析の過程の記述. (a) FANTOM5のメイン論文におけの記述を対象として，コンテナ型仮想技術として知られるDockerを技術のベースとして，遺伝学研究所のるデータ解析に関する記述. (b) FANTOMプロジェクトが提供するオンライン・プロトコルにおけるデータ解析に関する記

スーパーコンピューターシステム上でプロトタイプの開発，検証を行った．正確な記述と実行環境を選ばない

述．大型プロジェクトではこのように詳細なプロトコルを共共通フォーマットによって，生命科学分野における計算機科学的側面の再現性の向上とそれに伴うデータ利用有することが広まりつつあるが完全再現には十分ではない．の利便性向上が見込まれる．

(c) FANTOM5のデータから結果を再現するために利用されたスクリプト．このように結果の再現にはソフトウェアのバージョンや実行オプションなど多くの情報が必要である．

Docker containerfor Infrastructure as Codeuser
Push Dockerfiles toContainer Registry📄🔡
📄📄📄Dockerfiles

Building large-scale computing system for docker container

Data

Workflow.json

現在，多くの生命科学研究者によって主にゲノム解析分野で広く利用されている遺伝学研究所のスーパーコン

Push workflow
configuration to manager

📡Pass executer

ピューターシステムは，従来型のジョブ・スケジューリングシステムであるUniva

Transfer Data
via internet

GridEngineを採用している．Grid Engineをベースに計算機資源を効率よく活用するためには，どのような計算を行うか見積もることが求められる．しかし，特にHTSから得られたデータをリファレンスゲノム配列にマッピングする，もしくは新規ゲノム配列を得るためにde novo assembleを行うといった代表的な計算では，計算機資源や計算時間を正確にPull container & Run

workflowmanager📦📦📦Mesos! Mesos! Mesos! Mesos! Mesos!

MasterSlave

Slave

Slave

Slave

Node

Node

Node

Node

Node

Storage

見積もることが困難な場合も多いため，しばしば問題が起こる．例えば，計算の途中で計算機資源が不足しソフトウェアが異常終了することを防ぐため，実際に使用する量よりも多くの計算機資源を要求して実行されるジョブが多くなり，実行待ちのジョブが増えてしまう．また反対に，数日から数週間を要する計算が途中で計算機資源の不足によって終了してしまい，再度はじめから計算することを余儀なくされるなどの例も報告されている．

!
そのため，現在開発中のシステムでは，計算途中での一時停止や計算機資源の追加割当などの柔軟な計算機資源🔡

運用を可能とするため，オープンソースの大規模計算機センター用のリソース・マネジメント・フレームワーク

Mount Data Dir to containerであるApacheFig. 2. DockerおよびMesosをベースとしたプロトタイプ実装の概要. ユーザはデータ解析ワークフローで利用したソMesosを採用した．独自に設計したワークフロー・マネージャーに対して実行したいワークフ

ローを記述したファイルを送信すると，スケジューラはMesosからCPUやメモリなどの計算機資源を要求したの2.)．Dockerは軽量で環境に依存せず計算を実

フトウェアを個別にDockerfileとして記述し，公共のDocker Container Repositoryに登録しておく．ワークフローをち，Dockerをベースとした仮想環境を起動して計算を行う(Fig.

記述したファイルをワークフロー実行マネージャに送信することにより，Apache Mesos上で管理されたリソースから行できる仮想環境としての利点だけでなく，仮想環境をプログラムとして記述する”Dockerfile”という形式をサ必要なだけを確保し，コンテナとしてソフトウェアが実行される．

ポートしており，これにより異なるアーキテクチャを持つ計算機環境下でも，Dockerの実行がサポートされている限り，全く同じプログラムを実行することができる．さらに実行時に送信するワークフローを記述したファ🐳

イルを共有することで，他の計算機環境でも一次データから結果を得るまでのデータ解析の再実行が可能である．

Docker Container

ワークフローを共有し実行することで異なる計算機環境でも同じ計算結果を得られることは，統計数理研究所スー

🐳!
NFS

L2VPN

パーコンピューターシステム "C"やAmazon Web Serviceなどで確認している．今後，異なるシステムへの本フレームワークの導入を容易にするためのシステム構成の変更を行っていく(Fig. 3.)．

🐳!
Galaxy🐳!
Marathon🐳!
Mesos Master

🐳!
SCS

🐳
Mesos Slave🐳!
CLImanager

🐳samtools🐳BWA🐳Mesos Slave

Challenges
本プロジェクトにおける開発の過程で，データ解析の再現性を向上するために必要な条件を検討し，プロトタイプ実装によってフレームワークの性能検証が行われた．現在はテスト環境においてのみ運用されているが，これを多くのユーザによる利用に耐えるものにするためには，以下に挙げられるような問題を解決する必要がある．

!
ワークフロー記述フォーマットの世界標準化

Node

Node

Node

本プロジェクトにおいて実装されたシステムでは最低限ワークフロー実行に必要な情報を整理し，これを記述するフォーマットを提案しているが，真に共有可能でデータ解析の再現性を担保するためには，様々なワークフロー実行エンジンにおいてWorkflow

Fig. 3. 現在開発中のより可搬性の高いシステム構成． 現在の実装においては計算機システム上にApache Mesosが直共有可能なフォーマットを採用しなければならない．現在，オープンソースで開発が進められているCommon

接インストールされているが，クラウド型の計算機資源のように一時的に利用可能な計算機において素早く同様のシスLanguage (CWL)をその第一の候補としており，CWLへの対応と開発協力が今後必須となる．

テムを構築するため，Apache MesosをDockerコンテナ化する．さらに，Mesosによって管理されたリソースを利用しDocker実行時のセキュリティの担保て稼働するアプリケーションとレイヤーを分割することで，システムの迅速な構築と破棄が可能になり，より簡易に実

現在はDockerの実行システムに対するユーザによる直接アクセスを制限することで計算機システム全体のセキュリティの問行環境を用意することができるようになる．

題を運用でカバーしているが，様々なユーザが様々な計算を行うシステムとして妥当であるかのさらなる検証が必要である．