見出し画像

Pitagora Network+Workflow Meetup

西田孝三
当時 理化学研究所生命機能科学研究センター
現在 東京農工大学
石井学
株式会社ゲノムアナリティクスジャパン
丹生智也
当時
 国立情報学研究所クラウド基盤研究開発センター
現在
 国立遺伝学研究所 生命情報・DDBJ センター
大田達郎
ライフサイエンス統合データベースセンター

Pitagora NetworkとWorkflow Meetupの目的

 Pitagora NetworkとWorkflow Meetupは、今や研究者が独学するには手に負えないほどに膨れ上がったワークフロー関連技術の学習をピアサポートで解決することを目的としたコミュニティである。本稿におけるワークフローという言葉の定義には、バイオインフォマティクスのプログラムの実行手順を想定していただきたい。ある程度バイオインフォマティクスの経験のある読者は「Taverna(Oinn et al. 2004)やmyExperiment(Goble et al. 2010)といったワークフローに関するソフトウェアやウェブサイトを昔見かけたことがあるなあ(詳しくは知らないが)。」と思われたのではなかろうか。その通り、ワークフローの概念とその活用(共有)のためのツールは10年以上前から存在している。しかしその頃と比較して「今」はソフトウェア技術や計算環境が進歩し、ワークフロー関連技術も新たなものに変わっているのだ。

「今」のワークフロー関連技術を学ぶ意義

 前述の「進歩」は大別すると「コンテナ、クラウド、ワークフロー記述言語」の3つになる。ここで読者は「それらは生命科学の“研究”ではない、学習コストが高すぎる、どのように役立つかがわからない」と思われる方が多いかと思う。しかしこれら「今」の技術の学習は「自分以外の人にワークフローを実行してもらう必要がある」場合、必ずあなたの役に立つ。具体的には、そのワークフローを「論文読者に使ってもらう」「共同研究者に使ってもらう」「研究室を離れた後も残ったメンバーに使ってもらう」場合などだ。なぜ前述の3つがそういった「再現性」を担保するかを1つずつ説明していこう。

 1つ目のコンテナとは「ソフトウェアのセットアップがすべて完了した状態の計算機環境」のことだ。この技術を使いこなすことができれば、読者もご経験されたであろう「セットアップ完了に至るまでの疲弊」が無くなり、コマンド一発でそのセットアップ済み環境中での計算が可能となる。

 2つ目のクラウドとは「大学・研究所外のインターネット越しの計算機資源」のことである。前述のコンテナはソフトウェア中で実現される機能であり計算機資源(つまりサーバ)を提供するものではない。クラウドでコンテナを用いれば、所属・所在地にかかわらず同じ計算機環境を複数人で共用することが可能となる。

 3つ目のワークフロー記述言語とは「複数の計算ステップからなるワークフローの実行をコンテナやクラウドの連携と共に一気通貫で行う」ことを支援するものである。ワークフローの新しい記述はGalaxy(Afgan et al. 2018)、Snakemake(Köster and Rahmann2012)、Nextflow(Di Tommaso et al. 2017)、Common Workflow Language(以下CWL)(Amstutz et al. 2016)で行うのが現在の主流となっている。ワークフロー記述言語は、コンテナ(Singularity、Docker等)やクラウド(AWS、Azure、Google Cloud等)の違いを吸収し、それらが異なる環境でも同じワークフロー動作を実現する機能を持つ。またクラウドだけではなくローカルでも動作し、ジョブスケジューラソフト(SGE、SLURM、PBS等)の違いも吸収する。ワークフロー記述言語にはこのような環境差異の吸収以外にも例外処理などのその場限りの手作業を排除する仕組みがあり、ワークフローの再現性の改善に役立つ。

活動内容と特色

 Pitagora Networkはウェット研究者、ドライ研究者の両方を対象としたワークフロー関連技術についての勉強会である。元々はデータ解析プラットフォームとして有名なGalaxyのユーザコミュニティPitagora Galaxyとして発足し、Galaxy Community Japanワークショップの開催などを行った。その後、Galaxy以外のワークフロー技術なども話題として取り扱うことが多くなったため、Pitagora Networkと改称し、データ解析技術について学びたいウェット研究者と、実用例を開発に活かしたいドライ研究者の交流の場として現在に至っている。主な活動としては月例のMeetupイベントとSlackグループ上での情報交換である。後述するWorkflow Meetupは、仮想化やクラウドなどのインフラ関連技術をより深く議論するためのコミュニティとしてPitagora Networkからスピンアウトしたものである。そのため両方のグループに参加している人も多い。その他の活動実績としては、IIBMP(JSBi)などの国内学会でのセッション開催や、Galaxy Community Conference(GCC)、Bioinformatics Open Source Conference(BOSC)などの国際学会での発表、BioHackathonなどのハッカソンイベントでのグループ開発などがある。

 Workflow Meetupは、Pitagora Networkより広範囲な計算インフラ情報全般のノウハウや最新情報の共有を行っている。コンテナ技術についてはデファクトスタンダードのDockerだけでなく、遺伝研スパコンなどで採用の実績があるSingularityについてもピアサポートを行っている。またワークフローの記述言語や管理システムはバイオインフォマティクス用のものだけでなく、機械学習用のもの(JupyterNotebookやMLOpsツール全般)に関しても取り扱っている。CWLに関しては、このコミュニティからその詳細を知り、CWL自体の開発にも貢献する開発者が複数現れている。そのためCWLを使う上でわからないことがあればWorkflowMeetupで聞いていただくことですぐに解決するケースが多い。ピアサポートはSlackで行うだけでなく、Meetup中のハンズオン形式でも行っている。(先に述べたワークフロー記述言語の特徴から、このハンズオンでは従来ネックとなる環境構築や計算実行方法の共有に手間取ることが無い点を強調したい。)またCWLだけではなく、NextflowやSnakemakeのユーザーもコミュニティ中に存在し、ウェブサイトにはそれらのベストプラクティスを提供することを心がけた日本語の情報をまとめている。

メンバー募集

 上記の意義に共感していただける方には是非 https://workflow-meetup-jp.github.io/ をご参照の上我々のSlackワークスペースにご参加いただきたい。Pitagora Network、Workflow Meetup共に毎月1回のペースでバーチャルミートアップを行っている。我々が扱う対象は基本的に「インフラ」であるため、その意義や効果は理解されにくい。しかし必ず研究の再現性の向上に役立つ。こういった縁の下の力持ち的な役目を一人で背負い込んでしまっている方は、是非我々のコミュニティでお互いに助け合い、少しでもその荷を軽くしてほしい。

  • Afgan, Enis, Dannon Baker, Bérénice Batut, Marius van den Beek, Dave Bouvier, Martin Cech, John Chilton, et al. 2018. “The Galaxy Platform for Accessible, Reproducible and Collaborative Biomedical Analyses: 2018 Update.” Nucleic Acids Research 46(W1): W537–44.

  • Amstutz, Peter; Crusoe, Michael R.; Tijanić, Nebojša; Chapman, Brad; Chilton, John; Heuer, Michael; et al. (2016): Common Workflow Language, v1.0. figshare. Dataset. https://doi.org/10.6084/m9.figshare.3115156.v2

  • Di Tommaso, Paolo, Maria Chatzou, Evan W. Floden, Pablo Prieto Barja, Emilio Palumbo, and Cedric Notredame. 2017. “Nextflow Enables Reproducible Computational Workflows.” Nature Biotechnology 35(4): 316–19.

  • Goble, Carole A., Jiten Bhagat, Sergejs Aleksejevs, Don Cruickshank, Danius Michaelides, David Newman, Mark Borkum, et al. 2010. “myExperiment: A Repository and Social Network for the Sharing of Bioinformatics Workflows.” Nucleic Acids Research 38(suppl_2): W677–82.

  • Köster, Johannes, and Sven Rahmann. 2012. “Snakemake­­a Scalable Bioinformatics Workflow Engine.” Bioinformatics 28(19): 2520–22.

  • Oinn, Tom, Matthew Addis, Justin Ferris, Darren Marvin, Martin Senger, Mark Greenwood, Tim Carver, et al. 2004. “Taverna: A Tool for the Composition and Enactment of Bioinformatics Workflows.” Bioinformatics 20(17): 3045–54.

本記事は日本バイオインフォマティクス学会ニュースレター第39号(2021年3月発行)に掲載されたものです。
以下のURLにて、全ての記事を無料でお読みいただけます。https://www.jsbi.org/publication/newsletter/

この記事が気に入ったらサポートをしてみませんか?