BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

36
BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築 Itoshi NIKAIDO, PhD <[email protected]> Unit Leader, Bioinformatics Research Unit RIKEN Advanced Center for Computer and Communication http://bit.accc.riken.jp/ (Version: 1.0)

Transcript of BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

Page 1: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築Itoshi NIKAIDO, PhD <[email protected]> Unit Leader, Bioinformatics Research Unit RIKEN Advanced Center for Computer and Communication http://bit.accc.riken.jp/ (Version: 1.0)

Page 2: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

1. Cloud Computing 3つのCloud Computing

3つの仮想化技術

!

2. Infrastructure as Code ハードウェア・ソフトウェア管理をプログラムする chef, vagrant !

3. Bayes Linux: Bioinformatics Analysis Environment System BioDevOps.org RIKEN Cloud System

Page 3: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

林崎研@RIKEN GSC Mouse full-length cDNA sequencing FANTOM1-2 cDNA microarray, imprinted genes

上田研@RIKEN CDB ChIP-seq Single-Cell RNA-seq (Quartz-Seq)

Research

Outreach & Community

Knoppix for Bio KNOBKGB

自己紹介実験生物学の側で研究・オープンソースコミュニティとの関わり

RIKEN ACCC Single-Cell RNA-Seq Epigenome BioDevOp

Bioinformatics-jp

Page 4: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

バイオインフォマティクス研究開発ユニットAdvanced Center for Computing and Communication

Informatics Biology

1. DNAシーケンサーデータ解析手法・実験手法の開発

2. 理研内外の実験研究者との共同研究・教育

3. 理研のバイオインフォマティクス研究の方向性を議論・ロールモデルになる

xi

θi

G

G0γ

σ-­‐

a b

10#pg#total#RNA�

Amplified#cDNA�

Amplified#cDNA�

Sequence#Library#DNA�

1細胞RNA-Seq・新規エピゲノム実データ解析と実験技術の開発

Page 5: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

データサイエンスとバイオインフォマティクスIT・統計・ドメイン知識の三位一体

• データを活かすことがビジネスでは必須に

• 統計と計算機、ドメイン知識の3つを兼ね備えることが必須

• バイオインフォとスキルが重複

• バイオインフォの博士新卒は企業へ

• アカデミアとの待遇に格差が大きい

http://www.ibm.com/developerworks/jp/opensource/library/os-datascience/figure1.png

Page 6: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

人材に関するアンケート調査結果 (2013)わが国におけるバイオインフォマティクス人材を取り巻く現状

https://www.jstage.jst.go.jp/article/johokanri/56/11/56_782/_pdf

データ解析を誰がしているか? バイオインフォ研究者との共同は必要か?

必要な人材は?

Page 7: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

エバンジェリストモデルによるBioinformatics Infrastructureの整備 多くの研究者を救い、バイオインフォ研究も捗るモデル

Sequencing Core

Research Team/UnitResearch Team/UnitResearch Team/Unit

Bioinformatics Evangelist

Bioinformatics Research Unit Preventive medicine and applied genomics unit

Bioinformatics Research Group, RIKEN ACCC

Research Center• ひとりのバイオインフォ研究者あたり多くて2,3件程度の共同研究!

• 理研では、解析の専門性にローカル性がある (CLSTは転写、IMSはゲノムなど)!

• センターでバイオインフォを支える人間を積極的にサポートする

Page 8: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

エンジニアリングで解決できる問題を ソーシャルに解決したら負け

Page 9: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

Providing bioinformatics analysis environmentVirtual machine with NGS Data analysis tools and pipelines

Bioinformatics Research Unit

User (inside/outside RIKEN)

Browser, tools, Pipelines Install and setup tools (BioDevOps) Development of tools

Browser & PipelinesSSH, HTTPS

Calc.Result

Browser & Pipeline

Consultation TutorialUser’s tools

Sequencing Facility

Cloud Computer

sequence data

Sample

Page 10: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

Introduction of Bioinformatics research activity in RIKEN ACCC

Bioinformatics: 研究とエンジニアリング

• バイオインフォマティクス研究に集中したい • データ解析環境を構築することは手間がかかる

•計算機の調達や管理、保守の手間がかかる

• NGS解析はたくさんのツールの組み合わせ

• ツールのアップデートが速い • たくさんのバイオデータベースを使う

• 解析の再現性担保 • 論文のマテメソは記載が不足しており解析が再現できない

Page 11: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

IT インフラ

アプリケーション開発・リリース

ビジネスアイディア マーケット

http://ja.wikipedia.org/wiki/DevOps. modified

DevOps = Development + OperationsITインフラとアプリケーション開発の一体化

ビジネスアイディアを素早くマーケットに出すための ITに関する思想とその技術

Page 12: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

データ解析用PCクラスターのセットアップ

データ解析ツールやパイプラインシステムの開発

Bioinformatics Data analysis

BioDevOps

データ解析やソフト、データベースの品質管理

研究アイディア 実験データ 論文出版

BioDevOps = Bioinfomatics + Development + Operationsバイオインフォマティクス解析とITインフラとアプリケーション開発の一体化

データ解析の実施

研究アイディアを素早く論文として出すための バイオインフォに関する思想とその技術

Page 13: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

• バイオインフォマティクス研究に集中したい • データ解析環境を構築することは手間がかかる

•計算機の調達や管理、保守の手間がかかる

• NGS解析はたくさんのツールの組み合わせ

• ツールのアップデートが速い • たくさんのバイオデータベースを使う

• 解析の再現性担保 • 論文のマテメソは記載が不足しており解析が再現できない

解析環境をコードとして管理し仮想計算機で利用する

BioDevOps = 2つの技術

Cloud computing

Infrastructure as Code

Page 14: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

1. Cloud Computing 3つのCloud Computing

3つの仮想化技術

!

2. Infrastructure as Code ハードウェア・ソフトウェア管理をプログラムする chef, vagrant !

3. Bayes Linux: Bioinformatics Analysis Environment System BioDevOps.org RIKEN Cloud System

Page 15: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

Providing bioinformatics analysis environmentVirtual machine with NGS Data analysis tools and pipelines

Bioinformatics Research UnitCloud Computer

User (inside/outside RIKEN)

BioDevOps Install and setup tools Development of tools

Browser & PipelinesSSH, HTTPS

Calc.Result

Browser & Pipeline

Consultation TutorialUser’s tools

Page 16: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

• たくさんのコンピュータリソースがプールされている • このリソースから、ネットワーク、サーバー、ストレージ、アプリケーション、サービスを構築できる

• このプールから便利かつオンデマンドにアクセスし、リソース提供を受けられる

解析環境をコードとして管理し仮想計算機で利用する

Cloud computing

NIST Cloud Computing Reference Architectureより

Page 17: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

• Saas (Software as a Service, さーす)

• アプリケーションを提供

• DropBox, Gmail, iCoudなど

• PaaS (Platform as a Service, ぱーす)

• アプリケーションを実行できるコンピュータリソースを提供

• Amazon Web Service, Google App Engine, Microsoft Azure, Heroku

• IaaS(Infrastructure as a Service, イアース/ アイアス)

• コンピュータシステムを構築できるリソースを提供

• Amazon EC2

解析環境をコードとして管理し仮想計算機で利用する

3つのCloud computing

Page 18: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

CPU、メモリ、ストレージ、ネットワークとして振る舞うソフトウェア仮想計算機

OS X上でWindow 8が実行されている

Page 19: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

Hypervisor OSやハードウェア上に仮想化するためのソフトウェアが動く。さらにその上でOSが動作する (VirtualBox, Xen, VMware)

!

Container OS上にプロセス空間やネットワーク、ユーザID空間を区切って、独立したOSのように動作する (dockerなど)

Page 20: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

CPU、メモリ、ストレージ、ネットワークとして振る舞うソフトウェア3つの仮想計算機

http://thinkit.co.jp/sites/default/files/articles/545601.jpg

Page 21: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

1. Cloud Computing 3つのCloud Computing

3つの仮想化技術

!

2. Infrastructure as Code ハードウェア・ソフトウェア管理をプログラムする chef, vagrant !

3. Bayes Linux: Bioinformatics Analysis Environment System BioDevOps.org RIKEN Cloud System

Page 22: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

Chef: プログラムを管理するプログラム3つのツール: chef, knife, Vegrant

http://www.getchef.com/chef/

User

仮想計算機へアクセス

chef cookbookを 実行しプログラムを 自動セットアップ

3. chef cookbookを 配信するサーバー

1. chef cookbookを実装し コード共有レポジトリで管理

2. chef cookbookを 配信サーバーへ提供

0. vegrantでマシンを管理

Page 23: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

Chef recipe and Integration TestExample: Installing NCBI BLAST by chef

debian, Ubuntuの場合は”ncbi-blast+”というパッケージをインストール

CentOSの場合はNCBIからRPMパッケージを取ってきてインストール

Page 24: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

Chef recipe and Integration TestExample: Installing NCBI BLAST by chef

blastpを実行できたらテスト成功

Page 25: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

deploy: ソフトウェア環境を利用可能なように配置するVagrant: どのようなクラウドコンピュータでも簡単に環境をインストールできる

2. VMイメージ を取得

3. deploy

ローカル

クラウド

ユーザ

仮想計算イメージレポジトリ

開発者

a. 仮想計算機 イメージ開発

1. VM構築を指示

b. VMイメージ登録

4. VMを利用 (SSH, HTTPなど)

VMが実行される計算機

Page 26: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

1. Cloud Computing 3つのCloud Computing

3つの仮想化技術

!

2. Infrastructure as Code ハードウェア・ソフトウェア管理をプログラムする テストと継続的インテグレーション ソーシャルソースコードレボジトリ !3. Bayes Linux: Bioinformatics Analysis Environment System BioDevOps.org RIKEN Cloud System

Page 27: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

Bayes Linux: Bioinformatics Analysis EnvironmentVirtual machine with NGS Data analysis tools and pipelines

Page 28: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

Bioinformatics Analysis Environment as Codeバイオインフォ解析環境が完備されたLinuxを仮想マシンとして提供する

http://www.getchef.com/chef/

•解析環境セットアップ情報はすべてコード

•ソースコード管理システムでバージョン管理

•コードのテスト

• Zabbixによる計算リソースの監視

•データベースミラー

User

Zabbix

Page 29: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

BioDevOps.orgバイオインフォ解析ツールのレシピをテスト付きで提供する

http://BioDevOps.org/

Page 30: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

Bayes Linux on RIKEN Cloud SystemVirtual machine with NGS Data analysis tools and pipelines

Bioinformatics Research Unit

User (inside/outside RIKEN)

Browser, tools, Pipelines Install and setup tools (BioDevOps) Development of tools

Browser & PipelinesSSH, HTTPS

Calc.Result

Browser & Pipeline

Consultation TutorialUser’s tools

Sequencing Facility

Cloud Computer

sequence data

Sample

Page 31: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

• Cloud system is located at Wako campus

• You can access your virtual machine (Ubuntu 14.04 LTS)

• with root privileges

• via SSH and HTTP

• from only Wako, Yokohama, Kobe and Tsukuba

• We provide

• over 125 tools on Galaxy, 900 R/Bioconductor Packages and 600 command line tools (DebianMed)

• one virtual machine per one research group

• 10 virtual machines at drawing logs

• 8 CPU cores (2GHz), 64 GB RAM and 3 TB strage/VM

• NFS for mouse/human reference genome/transcriptome

Spec. of virtual machineBioinformatics Analysis Environment for Your Laboratory Use

Page 32: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

WFその1: FastqMcf > Bowtie2 >

eXpress

WFその2: FastqMcf > Sailfish

共通: 実体パスの取得

共通: カウントデータのマージテーブル作成 > edgeR > gene Symbol付加

1)RNA-seq~DEG解析WFを作成

Page 33: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

世界情勢と類似のサービスBioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

• illumina

• BaseSpace: クラウドでのデータ解析環境。アプリ実装や共有ができる

• CloudBioLinux

• X年続く老舗。CloudManなど自前のクラスタ構築ツールもある

• Knoppix for Bio

• Bioinformatics向けLiveCD/LiveDVD Linuxの先駆け。書籍化された。メン終了

• パッケージ集・管理ツール

• DebianMed

• LPM

Page 34: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

問題点から考える将来BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

• 計算が遅い

• コンテナ仮想化が主流に

• コンテナ仮想の分散計算環境の発展

• 複数VMから構成される計算環境のオーケストレーションが難しい

• 分散計算環境を自動的に構築しテストする

• パイプラインシステムが未熟である

• 大量データを処理しやすいパイプラインシステム

• 解析パイプラインのセマンティクスと共有

• 対話型統計解析ツールとの統合

• ipython, RStudio など

Page 35: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

1. Cloud Computing 3つのCloud Computing

3つの仮想化技術

!

2. Infrastructure as Code ハードウェア・ソフトウェア管理をプログラムする テストと継続的インテグレーション ソーシャルソースコードレボジトリ !3. Bayes Linux: Bioinformatics Analysis Environment System BioDevOps.org RIKEN Cloud System

Page 36: BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築

BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築Itoshi NIKAIDO, PhD <[email protected]> Unit Leader, Bioinformatics Research Unit RIKEN Advanced Center for Computer and Communication http://bit.accc.riken.jp/

• RIKEN ACCC

• BiT

• Manabu Ishida (DevOps)

• Mika Yoshimura, PhD (Galaxy & pipeline)

• Akihiro Matsushima (Infrastructure)

• Koki Tsuyuzaki, PhD (Pipeline for RNA-Seq)

• Preventive medicine and applied genomics unit

• Wako unit & RIKEN Cloud Team

• Fujitsu SSL

• Yamamoto Go

• RIKEN President's Discretionary Fund