Platform for Drug Discovery


Maserのコンセプト


Table of contents


GUI解析システム導入の利点


CUIの壁

  • バイオインフォマティシャンと非バイオインフォマティシャンの明らかな違いの一つはLINUXのようなコマンドラインOSやシェルスクリプト、Perl、R、Python、Ruby等のスクリプト言語などのCUIに対する好みです。
  • CUIはタスクの再現、タスクの自動化やバッチでの実行(手放しで逐次的に実行)に互換性がありますが、それらの学習コストは低くありません。
  • 私達は次世代シーケンサーからのデータのような膨大なデータを扱う必要のある全ての研究者や技術スタッフがCUIを学習するコストを払うのは難しいと信じています。

GUIとCUIの架け橋

  • 私達のパイプラインシステムはバイオインフォマティシャンと非バイオインフォマティシャンの架け橋になることを目指しています。
  • より具体的には、このシステムはGUI操作によって解析のためのいくつかのコマンドラインスクリプトを生成し、それを適切な順番で実行します。
  • 別の面では、GUIパイプラインをコマンドラインスクリプトから容易に生成もできます。
  • ほとんどのユーザは、このシステムが裏でスクリプトを動かしていることを意識せずに操作します。
  • ほとんどのユーザーはCUIの学習コストの壁を超える必要がありませんので、非バイオインフォマティシャンユーザーは自身のデータで主体的に解析でき、ユーザーは躊躇なくオプション値の変更や、下記のツールの置き換えを試すことが出来ます。
  • 他方では、バイオインフォマティシャンがほとんどルーチンワークン解析から解放されるため、新たな方法論、解析フロー、ツールやアルゴリズムの開発に注力できます。
  • 言い換えれば、このシステムは以下を想定して設計され、パイプラインも同じコンセプトのもと提供され、維持されています。
    1. このシステムのユーザは、バイオインフォマティシャンとは呼ばれなない人を含み、CUIに慣れている必要は無く、ほとんどのユーザーがツールやデータ書式の細かな違いを意識する必要がない。
    2. このシステムのパイプライン登録者やパイプラインを維持する者は、いわゆるバイオインフォマティシャンであり、CUIに慣れ、スクリプトが書ける必要がある。

自動生成コマンドラインスクリプトについて

  • 生成されたスクリプトは以下のような状況で有用です。
    1. エラーに遭遇し、GUI解析環境に詳しくないバイオインフォマティクス上級者に相談する時。
    2. 自身のローカル環境で解析を再現したり、カスタマイズしたい時。
    3. 実行されたコマンドが予想通りか確認したい時。

このシステムの位置づけ


データやツール依存の問題について

  • 残念なことに、アカデミックなツールはデータ依存の問題や、バージョンやオプション依存の問題を引き起こすことがあります。
  • 私達のパイプラインは、有名なアカデミックツールによって構成されるため、これらパイプラインもまたこのような問題を避けることは難しくなります。
  • 私達はパイプラインでの全てのオプションやバージョンの可能性についてチェックしていません。
  • 一般的なデータでの正常終了と、いくつかのテストパターンによる応答によって確認しているものの、パイプラインにバグが残っているかもしれません。

私達のサポート範囲


  • 私達のチームはデフォルトオプションでのパイプラインの正常実行については可能な範囲でサポートするつもりです。
  • しかしながら、以下のような状況ではサポートするつもりはありません。
    1. 入力データが巨大すぎたり、少なすぎたり、書式が一般的でないなどにより、適切でない場合
    2. 予期しないオプション値が使われた場合
  • もし問題が私達のシステム固有のものでない場合は、問題をご自身で解決する必要があります。
  • SeqAnswersやBioStarsのようなバイオインフォマティクス熟練者のコミュニティを用いることで、問題が解決されることもあるかもしれません。
  • 私達もNGS Surfer's Wiki という日本語の問題と解決策共有サイトをメンテナンスしています。
  • 前述した自動生成コマンドラインが、何を実行したかを専門家と共有するために有用です。
  • ツールからのエラーメッセージも、問題解決の手掛かりになりえます。
  • デバッグ方法の詳細はこちらに記述しています。

位置づけ

  • Image
  • もしCUIに不慣れで、商用解析サービスや、解析パッケージのライセンスのための十分なお金があるなら、アカデミックツール依存の問題を回避するためにこれらの選択肢の利用を考慮することをお勧めします。
  • もしそのような考慮をする場合でも、私達の解析概要は検討中のサービスやパッケージが要求を満たすか判断するのに役立つかもしれません。
  • 私達のシステムと類似のオープンなGUI解析環境を提供するGalaxyやTaverna等もあります。
  • 私達の限られた計算機資源は非バイオインフォマティシャンのために優先的に使われるべきなので、以下の条件の全てに当てはまらない場合、別の解析の選択肢を使うことをお願いします。
    • 計算機資源を持っていない。
    • CUIに不慣れ。
    • このシステム独自の機能を使いたい場合。
    • このシステムによって、アカデミックツールのパイプラインを学ぶつもりである。
    • 非バイオインフォマティシャンユーザーにこのシステムを教えるつもりである。
    • このシステムに自身のワークフローを登録したい。
    • セルイノベーションプロジェクトのメンバーである。
  • もしこのシステムを自身の計算機資源に移植したい場合はご連絡下さい。 Image試用を歓迎します。

障壁を克服するために



    • 私達は、このシステムや他のGUI解析環境が、多くの非バイオインフォマティシャンにとってのCUIの必要性を無くすことを願っています。
    • しかし、多くの研究は先進的で確立されていない方法論を必要とするので、障壁を超えなければならない研究者は少なくないでしょう。
    • 私達のチームは研究者や技術スタッフがこの壁を超えるための支援するためのいくつかの試みをしています。
    • Image

第一段目


  • ほとんど前提知識を必要とせず、自身のデータで解析フローを実行することが可能な全自動パイプラインをMaser上で提供。
  • パイプラインの結果、候補リストやデータ解析に関するいくつかのレポートを得ることが出来ます。
  • 私達は、ここからパイプライン選定のためのガイド情報もいくつか提供しています。
  • これらのパイプラインは必ずしも全ての要求を満たすとは限らず、チューニングする必要があることを留意下さい。
  • 一例はこちらをご覧ください。

第二段目

  • 私達のMaser上のGUIインターフェースでパイプラインのチューニングができます。
  • ツールのバージョンや、マッピング条件、生物種、p-valueやq-valueのような閾値等を、パイプライン実行時に選択ボックスや、自由入力欄で変更できます。
  • オプションの変更はよくエラーの原因になるので、以下の条件の一つに合致するオプションを利用することをお勧めします。
    1. 誰かが既に使ったオプション
    2. ローカル環境や後述の単体パイプラインで試されたオプション
  • オプション設定の例はこちらをご覧ください。

第三段目

  • データ書式やツールの細かな違いを把握することなしに、Maser上でツールの置き換えしたり、処理の追加が出来ます。
  • 詳細は後述します。

第四段目

  • このステップには依然として高いハードルがあります。
  • 自動生成コマンドラインを提供しているので、必要なツールやデータさえ利用可能であれば、どのようなローカル環境でも動かすことが出来ます。
  • パイプライン説明ページに必要なデータの入手方法は記載しています。
  • ローカル環境へのツールの用意は最も面倒な作業の一つですが、私達は私達の計算機環境へのインストール処理の例をこのサイト 上で提供しているので、インストールがどのくらい簡便あるいは、困難かを知るのに役立つかもしれません。

解析に詳しい方向けのMaserの特徴説明


コマンドのグループ化とデータファイルのグループ化

    • 私達のパイプラインシステムでは、いくつかのコマンドがパイプラインの一つのモジュールとしてグループ化されます。
    • 以下はグループ化ポリシーです。
      • 非バイオインフォマティシャンに解析処理の意味を説明できる単位に処理をグループ化
      • 別の解析に用いるデータや、中長期的に保存するデータを生成する単位に処理をグループ化
    • 私達は、いくつかのファイルを処理の入出力に利用するデータセットの単位としてグループ化しています。
    • グループ化ポリシーは上記の処理についてのものとほぼ同じです。
      • 非バイオインフォマティシャンにデータの意味を説明できるデータファイル群を単位にグループ化
      • 他の処理に使われるか、長期的に保存されるデータ単位にグループ化
    • Image
    • 上図は処理のグループ化と、データのグループ化の例を示しています。

配列データについて

    • 上記の'Illuminaデータ等'や'SOLiDデータ'は両方配列データセットタイプです。
    • 非バイオインフォマティシャンにとっては、そのデータが生配列の類であることが重要です。
    • 以下の詳細は些細なことなので、私達はfastqだけを統一した配列形式として使います。
      • リード1の配列ファイルとリード2の配列ファイルが分かれている
      • 配列情報とそれに対応する品質情報が一つのfastqファイルに統合されている
      • ペアが無いみなしごリードのための配列ファイルがあるかないか
    • ほとんどのツールがシングルエンド用のfastq「fastq (single-end)と表現」とペアエンド用のfastq「fastq (paired-end)と表現」を異なる方法で扱うので、私達はそれらを区別することに留意下さい。
    • fastqと異なる形式として、fasta+qual形式も扱うことが出来ます。
      • fastq+qual形式では、配列ファイルと対応する品質ファイルが分かれています。
      • 私達のパイプラインのほとんどはこの形式を扱わないため、すぐに'fastq+qual'からfastqに変換する必要があります。
    • 私達は通常の塩基配列と、カラースペースの配列も区別します。
      • 多くの人気のあるツールはcsfastaと分かれた品質ファイルを入力としてサポートするため、私達はcsfasta+qual形式をカラースペース配列の統一した形式とみなしています。
      • もしカラースペース配列データと品質値が統合されたcsfastq形式を要求するツールがあったとしても、前処理でcsfasta+qualをcsfastqに変換する必要があります。

マッピング結果データについて

    • デファクトスタンダードなマッピング結果形式のひとつはSAMかそれを圧縮したBAMです。
    • 非バイオインフォマティシャンにとっては以下の事実はあまり興味が無いでしょう。
      • SAMに比べBAMのファイルサイズはかなり小さい
      • samtoolsを用いてBAMの中身を解凍せずに見ることができる
      • SAMとBAMは完全に可逆変換できる
      • BAMには2種類あり、未並び替え(通常は名前順ソート)BAMと並び替え済み(位置順ソート)BAMがある
      • 名前順並び替え済みBAMと位置順並び替え済みBAMもまた可逆変換できる
      • マッピングデータへの高速アクセスの為に、並び替え済みBAMは索引ファイルを付加することがある
      • 索引付き並び替え済みBAMはIGVやsamtoolsなどの多くのツールで使用される
    • 私達は索引付き並び替え済みBAMを統一したマッピング結果形式とみなしています。
    • いくつかのツールが名前順並び替え済みBAMを入力として必要としますが、私達は強いて位置順並び替え済みBAMを共通入力形式にしています。
    • いくつかの例外を除き、私達は入出力形式で他のマッピング形式を使いません。
    • 私達は統一のためのオーバーヘッドの増加は、処理の単純な連結のための避け難い犠牲だと考えています。

マッピング処理について

    • 非バイオインフォマティシャンにとっては、その処理がリファレンスゲノムにリードをマップする類のものであることが重要です。
    • 以下の詳細は些細なことです。
      • 最初のメジャーバージョンのBWAプログラムは2ステップのマッピングプロセスを持つ
      • BWAの出力形式はBAMでなくSAMである
      • 保管のためのディスクを節約するためにも、通常samtoolsやpicardを使ってSAMはBAMに変換できる
    • Bowtieツールは入力として、みなしご(非ペア)配列を除外済みの配列を必要とするので、一般的なSOLiD出力配列に含まれるみなしご配列を除外する必要があります。
    • 私達は処理のグループ化によってこのような詳細な前処理や後処理を隠蔽します。

データの利用用途とデータ保存戦略


保存されるデータについて

  • 私達は以下のデータが中長期的に保存されるべきだと考えています。
    1. オリジナルの生データ
    2. 更なる解析や、別の解析に利用しうるデータ
    3. 結果の閲覧用のデータ
  • ご存知の通り、次世代シーケンサーから出るデータは巨大なので、どのデータを保存し、どのデータを捨てるかの区別はディスクの効率にとても重要です。

中間データについて

  • 同時に、私達は中間データもトラブルシューティングやデバッグのために重要だと考えています。
  • しかしながら、しばらくすると中間データの必要性は消えてしまいます。
  • それゆえ、中間データを消すタイミングが重要ですが、私達はこの管理にユーザーが煩わされるべきではないと考えています。

中間データの自動削除について

  • 私達のシステムでは、パイプラインが正常に終了すると、数日後に中間データが自動で削除されます。
  • もしパイプラインが異常終了した場合は、これらの中間データはデバッグや問題の原因特定に重要なので、自動削除対象から外します。
  • もし、パイプライン実行直後に中間データを消していたとすると、デバッグのためにいくつかのステップのコマンドを再実行する必要があるかもしれませんし、そのステップがとても時間のかかる処理かもしれません。

自動削除の利点

  • この目的においても、処理のグループ化は効果的に機能します。
  • 全ての私達のパイプラインはこれを意識して設計されているため、ユーザーはどれが中間データか区別する必要がありません。
  • 削除は自動的に実行されるため、管理者もまたこれに関して煩わされることはありません。
  • 私達のサーバーからは、毎週数百ギガバイトのデータが自動削除されおり、このことはこの機能が定期的に数百ギガバイトのディスクスペースを節約していることを意味します。
  • ユーザーとパイプライン開発者が異なる層にあり、システムがその層を適切に制御していることをお気づきいただけましたでしょうか。

実際の画面

  • Image
  • 処理モジュールのペアエンドfastq用の'BWA (PE)'(PEはPaired-Endの略)は、以下の3つの内部ステップから構成されます。
    1. bwa aln (paired-end)
    2. bwa sampe (paired-end)
    3. samToBam/sort/indexing SAMtools with head
  • 'bwa aln (paired-end)'では、配列ごとに2回の'bwa aln'コマンドが実行されています。
  • 'bwa sampe (paired-end)'では、alnの出力ファイルと、オリジナルの配列ファイルが入力として使われています。
  • 'samToBam/sort/indexing SAMtools with head'では、'samtools view'コマンドと、'samtools sort'コマンド、'samtools index'が組み合わせられて実行されています。