---
# System prepended metadata

title: 第３回ワークフローミートアップまとめ

---

# 第３回ワークフローミートアップまとめ

## 末竹
- Galaxy release 18.01 を触っていた。
    - yum が使えなくて微妙に苦行だった
    - 人の環境だからネットワーク周りがよくわからなくて苦行だった
- そもそも Galaxy って DRY とか IT の知識がない人向けなのに，絶妙なハードルの高さがあるから，そのハードルを下げるようなものをなんか作って，某社に投げたい

## 大田

- Workflow metrics collector (cwl-metrics) のテストをしていた
  - 動いた、めでたしめでたし
    - kallisto を実行してその消費リソースとワークフローのメタデータが取得され elasticsearch に突っ込まれ Kibana で可視化までできた
  - これからやること
    - Telegraf が取る docker metrics について理解を深める
      - wiki にまとめ中 https://github.com/inutano/docker-metrics-collector/wiki/Docker-metrics-reported-by-Telegraph
        - ソース
          - https://github.com/influxdata/telegraf/tree/master/plugins/inputs/docker#measurements--fields
          - https://docs.docker.com/config/containers/runmetrics/#cpu-metrics-cpuacctstat
    - 現状の導入手順が面倒なのと使い勝手が微妙なのでラッパースクリプトを書く
    - github repo の整理
      - pitagora-galaxy/cwl
    - Elasticsearch を叩いて メトリクスを aggregate するクライアントを書く
    - 可視化について考える

## 池田

* [一手詰めtools](https://docs.google.com/document/d/1cEejC9pjwtaM9NnOZSPAWwvvEMeRKq44X_VrbbXjY6U/edit#heading=h.cc0ftaihrrk0) の実装をCWLで行ってみた。
  * cwlを利用してRスクリプトを呼び出し結果を出力する
  * 基本的には、下記それぞれの*cwl_parameter.yml*を変更することで色々なRのスクリプトに対応
      * 出力結果が文字列のもの(https://github.com/percipere/cwl_R_samples)
          * 次のRscriptコマンドを発行　Rscript　*Rのスクリプト.R* *入力データファイル*
              * STDOUTを出力結果にリダイレクト
      * 出力結果が画像ファイルのもの (https://github.com/percipere/cwl_R_samples/tree/master/histogram)
          * 次のRscriptコマンドを発行　Rscript　*Rのスクリプト.R* *入力データファイル* *出力画像ファイルの名前*
              * 出力画像ファイルをOutputBindingで取得
              * STDOUTを出力結果にリダイレクト
  * 丹生さんの適切なアドバイスに感謝！！
  * 石井さんのものとは違う作りになった。


## 丹生
* SRX ベースのワークフローエンジンの開発
    * 内部で使用している cwl-inspector の修正
    * 変換後の SRX の構造を修正
        * 意外と役に立つ `cwl.output.json`
            * 利用者的な利点は不明
            * 実装者としては便利な場合がある
    * 以下は既に実装済みで動く
        * CWL -> SRX 変換
        * 変換した SRX を実行
        * job ファイルを投入してワークフローを実行
        * [今回実装] 出力オブジェクトを取得して関連ファイルを指定ディレクトリにコピー
    * Next step
        * cwl-runner
        * conformance test

## 石井

* [HackMD](https://hackmd.io/)便利
* [一手詰めtools](https://docs.google.com/document/d/1cEejC9pjwtaM9NnOZSPAWwvvEMeRKq44X_VrbbXjY6U/edit#heading=h.cc0ftaihrrk0) の実装をCWLで行ってみた。
  * [作ったもの cwl\-workflows](https://github.com/manabuishii/cwl-workflows/blob/master/README.md)
      * 単純な文字列出力のみのケースだけ。
  * 簡単なRのスクリプトのCWLを通しても実行はできそうである。
  * RScriptコマンドを使わなかったので、引数が多くなった上に、順番が重要であったが、解決することができた。
    * 丹生さん++
  * 入力されたデータの平均を求めることができた
    * 合計を求めるスクリプトと差し替えることができることも確認した
    * データももちろん差し替えられる
  * 池田さんのものとは違う作りになった。

* Nextflow, WDL など他の言語でも同じものを作って比較してみたい
* pythonや、ruby,shellなどのサンプルも作りたい
* Galaxyから、作成したCWLを呼び出せるようにしたい
  * なすのさんと、すえたけさん
* CWLのファイルから、Galaxyのtool用のXMLを吐き出す機能は、すでにあるっぽい？
  * [Building Common Workflow Language Tools Using Planemo — Planemo 0\.49\.0\.dev0 documentation](http://planemo.readthedocs.io/en/latest/writing_cwl_standalone.html)
  * [galaxyproject/planemo: Command\-line utilities to assist in developing tools for the Galaxy Project\.](https://github.com/galaxyproject/planemo)
    * ここの一番下に
  * 必要があれば、特定のテンプレートからのCWLをtoolのxmlにするものをつくってもよいのではないか？ 
* 丹生さんに、`cwl.output.json` の実装時に役に立つ局面があることがあることがわかあった
