Skip to content

SnakeMake

ShogoAkiyama edited this page Sep 9, 2021 · 5 revisions

SnakeMakeについて

SnakeMakeはワークフローを記述するためのライブラリ。

生物系の研究では、入力ファイルが複数に分けれている場合が多いため、bashで描くのは大変。 snakemakeでは内部にpythonコードも書けるため、globなどの関数でファイルを複数選択や、並列化などを容易に書くことが可能。

簡単な機能

  • multi threadも簡単に設定可能。
  • clusterも指定可能。
  • docker実行も可能。
  • ワークフローの図も出力して可視化することができる。
  • dry_runでsnakemakeが正しく書かれているかを確認ができる。

SnakeMakeをOptinistに使う意義

複数のデータファイル入力、ワークフローの分岐、並列プロセス実行、docker実行などを記述できる点では良いと思った。 OptinistのCUIのWrapperを作る上ではSnakemakeを意識した実装はいらないと判断した。Wrapperを作って、それを並列実行するのにSnakemakeを使うという感覚。 一方でGUIでは、並列実行のフローが記述されるため、GUIのフローを実行するためにSnakemakeは使えると思っている。 また、分析の途中から実行などもできる。