---
# System prepended metadata

title: 33th Workflow Meetup (10月12日)

---

# 33th Workflow Meetup (10月12日)
================================

[20201012 · workflow\-meetup\-jp/workflow\-meetup Wiki](https://github.com/workflow-meetup-jp/workflow-meetup/wiki/20201012)

2020-10-12(Mon)
13:00 - 19:00 まで。

完全リモートのため、全世界どこからでも参加可能。

# 事前計画

- 次回日程
    - オフラインについても検討する
- Conferenceについて提案
    - スピーカー、スケジュール
    - オンラインでよいのではないか？
        - LADECの東京と名古屋

## 石井

- 次回34回の日程を決める
    - オフライン開催についても検討する
- [第一回 科学における情報技術を考える会 \- connpass](https://info-in-sci.connpass.com/event/188626/)
    - 参加した人に聴いてみたい https://www.youtube.com/watch?v=nPubTwDGVmc
- 作業いくつか
    - メールとか
    - CWL関連
    - その他
- Advent Calendar今年もやりませんか？

## 西田

- ワークフローミートアップのカンファレンスの企画書のようなものを書いてみる
- [Qian Liu, Workshop 500: Bioconductor toolchain for development of reproducible pipelines in CWL](https://www.youtube.com/watch?v=JCxoQwz-95s)を見る、そして何か思うところがあれば情報共有

## 尾崎

- [ ] ramdaq を nf-core にpushする（少なくともの作業計画を作る）


# こうなりました。

## 全体

### 次回の日程

- 第34回、2020年11月6日(金)、13時から19時まで
- やること
    - (仮)ワークフローカンファレンス開催のための準備
        - 西田さんに練習経験あり
        - １時間を予定
        - 議題候補
            - 「ワークフローに関する調査で知りたい項目について」
                - どのプラットフォームで動く
                - 最終更新日
                - 実際につかっている例とか
            - [Choosing the right estimator — scikit\-learn 0\.23\.2 documentation](https://scikit-learn.org/stable/_static/ml_map.png)
                - これのワークフロー版について

### 事前

- Conferenceについて提案
    - タイトル
        - （仮）ワークフローカンファレンス
    - 話題はなにか
        - 今回の対象
            - 実用例の紹介
                - バイオインフォマティクス分野
            - バイオインフォマティクス分野、以外のジャンルでもつかわれている
                - MLOps, AirFlow, Argoとかのスペック
                    - SGEに対応しているとか、AWSに投げられるとか
        - 今回の対象外（これをメインで話す方向ではない）
            - CWLからみた解析ツール、こんなツールは、ラップしやすい、ラップしにくいとか
            - パッケージングしやすい
                - 入力、出力、パラメータ
            - エンジン自体の話
                - 聴講者層が異なる
    - 開催場所
        - オンラインでよいのではないか？
            - 基本オンラインでやる。
            - 会場を用意してくださる方がいたら、おねがいする
            - LADECの東京と名古屋
    - 開催時間
        - 午後いっぱいくらいでよいのでは
        - １３時から１７時まで
            - こまめに休憩をはさんだ方が良い（たんじょうさんより）
            - ５ふん１０ふん
    - トークの時間
        - ３０分くらい(長め)
        - １５分ー２０分くらい(短め)
    - パネルディスカッション
        - 実用例をからめた話
        - 今回扱わなかった話
        - クラウド事業者が用意している便利なプラットフォームを使っている人
            - [Cloud Life Sciences  \|  Google Cloud](https://cloud.google.com/life-sciences)
            - [AnVIL](https://anvil.terra.bio/)
                - [Terra — Dockstore documentation](https://docs.dockstore.org/en/develop/launch-with/terra-launch-with.html)
        - バッファにもできるし
    - スピーカー
        - 何人くらいいたらよいか？
        - ３人くらいはなんとなくきまっている
    - ワークフローシステムに
        - 次回のワークフローのときに、リハーサルがてら決める。
        - 
        - 機能比較と利用例だと似て非なるものの可能性があり
        - 仕事が楽になるようなことを知りたい。
    - 決まっていないこと
        - あらかじめ録画するか？
        - YouTubeへの録画配信の許諾

## 石井

- [第一回 科学における情報技術を考える会 \- connpass](https://info-in-sci.connpass.com/event/188626/)
    - 参加した人に聴いた
        - いろんな論点が話し合われた
        - Discordができあがった。
            - Workflow Meetup の randomチャンネルにはってある。
    - [【第一回】科学における情報技術を考える会 \- YouTube](https://www.youtube.com/watch?v=nPubTwDGVmc&feature=youtu.be)
        - 当日の録画配信はこちらからみれる。
- Tweetの予約投稿をTweetdeckからできることを教わり、ワークフローミートアップの告知をあらかじめいれるようにした(西田さん++)
- podmanの話を池田さんより
    - `alias docker=podman` くらいのイメージで動く感じ
        - OCI準拠
    - Ubuntu 20.10から、aptもはいる
        - debianでも使える(sid, testing)
            - runcではなく、crunというのがはいることがわかった
            - > podman version
              > cannot clone: Operation not permitted
              > user namespaces are not enabled in /proc/sys/kernel/unprivileged_userns_clone
              > Error: cannot re-exec process
            - 以下の設定をして再起動したらエラーきえた
            - > echo "kernel.unprivileged_userns_clone=1" >> /etc/sysctl.conf
            - Hello World
            - > podman run docker.io/hello-world:latest
            - 初回起動時に、自分のユーザでプロセスが立ち上がる
    - rootでなくてよい、daemonもいらない
    - CentOS8で試したとのこと
    - Macで動かないのがネック
        - `brew install podman` だと、クライアントのみ入る
        - これはどうなのでしょうか？
            - [Podman for macOS \(sort of\) \- Red Hat Developer](https://developers.redhat.com/blog/2020/02/12/podman-for-macos-sort-of/)
    - Windowsの方がLinuxにちかい？
        - [How to run Podman on Windows with WSL2 \| Enable Sysadmin](https://www.redhat.com/sysadmin/podman-windows-wsl2)
    - ネットワークは、ホストのものを使えばpodmanコンテナ同士の通信ができる？`podman create pod` でpodをつくれば、その中だけ？
        - [Trouble using \`podman pod\` to create a development network \- Desktop / Silverblue \- Fedora Discussion](https://discussion.fedoraproject.org/t/trouble-using-podman-pod-to-create-a-development-network/1458)
    - ポートマッピングはできる。1024以下は `sudo` が必要そう
- Windows最強説？
- 「さいきょうのわーくふろーしすてむをかんがえてみた」をやっても良いかもしれない
    - ワークフロー記述言語（記述方法かもしれない）
    - 実行プログラム、コンテナ、及びツール
    - ストレージ
    - データのダウンロードのプロセスはどうするか？
        - リファレンスデータとかは、いつの段階で用意するのか。
    - 分散処理の管理
    - 結果管理(provenanceという単語でよばれているかもしれない)
        - 入力
            - バージョン、パラメータ
        - 出力
            - 成果物
- 10分ほど、丹生さんと池田さんと話したあと、自分のマイクがミュートであったことに気づいた
    - なんの違和感も感じずに会話に参加できていたので、自分の発言とは一体なんだったのか考えている。

## 西田

### ワークフローミートアップカンファレンス

会の趣旨
「ワークフロー管理システムは"便利に使える!"ということを伝えたい、この会をきっかけに「ワークフロー管理システムを使ってみたい」
と思わせるようなものにしたい

#### 日時・場所

年始・Zoom meeting?
1日だけ午後いっぱい、午前は無し、ワークショップは無し、発表のみ
休日・平日？
基本オンライン、でも部分的にオフライン会場も用意

#### その他のバーチャルカンファレンス技術

https://laboratoryautomation.connpass.com/event/191076/ に倣う

#### プログラム

##### バイオインフォマティクス実用例(利用者)

- 露崎さん 「snakemakeを用いた ...」
- 尾崎さん 「nf-core ワークフロー RAMDAQ ...」
- やすみずさん 「CWLを用いたVirus transcript detection and quantificationワークフロー VIRTUS」
- 海津さん 「細胞シミュレーションワークフロー?, 蛍光顕微鏡画像解析に基づくシグナル伝達系シミュレーションワークフロー?」

##### インフラ、MLops

- mlflow airflowとゲノム系ワークフロー管理システムはどう違うのか? 西田・石井さん
- Azureの中の方? (二階堂さんに紹介してもらう?), Google ライフサイエンスにも声をかけれるかも
- ユーザー数が多いワークフロー管理システムを使っている人


## 尾崎

### nf-core 登録作業・要件のおさらい

- [ ] [nf-core ガイドライン](https://nf-co.re/developers/guidelines)
- [ ] コミュニティに参加する
    - https://nf-co.re/developers/adding_pipelines#adding-your-pipeline-to-the-nf-core-organisation
    - [ ] [GitHub Organizaition に参加する](https://github.com/nf-core/nf-co.re/issues/3) (Issue にポストすると、inviteされる "bioconda方式")
        - [x] issue にポストした
    - [x] Slack に参加
- [ ] 実際にパイプラインを作る
    - https://nf-co.re/developers/adding_pipelines#create-a-pipeline-from-the-template
- [ ] テストデータを nf-core/test-datasets に加える
    - https://nf-co.re/developers/adding_pipelines#putting-the-test-data-on-github
    - [ ] リファレンスアノテーションデータを染色体一本分にする（ファイルサイズを小さくするため）
    - [x] サブサンプルされたFASTQを準備する
    - [ ] fork し、 ramdaq という branch を作成し、テストデータを加え、pushする
    - [ ] `nf-core/test-datasets` にpull request を送る
- [ ] テストワークフローを構成する
    - [ ] `-profile test` で動く config を作成し、 `nextflow.config` で `includeConfig` する
- [ ] nf-core に自分のパイプラインを加える
    - https://nf-co.re/developers/adding_pipelines#adding-your-pipeline-to-the-nf-core-organisation
    - [ ] 自分のパイプラインを fork する (できないんだが…)
    - [ ] fork したら dev というブランチを作り、 dev を default branch にする
    - [ ] (ramdaq.nf から ramdaq に名前を変えたい)
    - [ ] レポジトリのセットアップ https://nf-co.re/pipeline_health
        - [ ] A description, the https://nf-co.re URL and lots of keywords!
        - [ ] Issues enabled, disable Wiki and Projects
        - [ ] A protected master branch that requires review and passing tests
        - [ ] Write permissions for nf-core/all and admin permissions for nf-core/admin
    - [ ] Social Preview Image を作成して追加する
    - [ ] GitHub Actions と Docker Hub のセットアップ
- [ ] 最初のリリースをする
    - https://nf-co.re/developers/adding_pipelines#making-the-first-release
    - [ ] 再び `master` をデフォルトブランチにする
    - [ ] dev branch にバージョンをつける
    - [ ] nf-core fork で dev から master にプルリクを投げ、自動テスト後、自分でプルリクをマージする
    - [ ] nf-core team によるコードレビューを受ける (fake pull-request against the first commit)
        - [ ] このトリガーをどうやるかよくわからない "Let us know about the new pipeline, when you're ready we will create a fake pull-request against the first commit in the pipeline."
    - [ ] fake pull-request against the first commit が採択されると、リリースできる
        - [ ] リリースチェックリストも参考にする https://nf-co.re/developers/release_checklist
        - [ ] チェンジログも書きましょう
- 以降のリリースについて
    - https://nf-co.re/developers/adding_pipelines#subsequent-releases
    - fork で色々やり、 nf-core のレポジトリの方の dev branch に対してプルリクをする
    - 新しいリリースを作るときに、バージョンをあげて master に対してプルリクをする
        - master は最新リリースのコミットのみを持たねばならない（コミットIDでパイプラインが最新かをみているため）

### その他 ramdaq でやったこと

- ramdaq の doc を更新した
- [ramdaq](https://github.com/rikenbit/ramdaq.nf) のレポジトリを公開した
- Zenodo で ramdaq のレポジトリを citable にした (まだリリースを作っていないのでまだ)
    - https://guides.github.com/activities/citable-code/

## 丹生
- 自分の仕事をしてました
  - SC20 用のサイト作成
  - Github pages で作成することになったので大分楽になった
- Podman on WSL2
    - Windows Store で提供されている最新の Ubuntu 20.04 で挑戦
    - [How to run Podman on Windows with WSL2 \| Enable Sysadmin](https://www.redhat.com/sysadmin/podman-windows-wsl2) の手順でやってみたが動作ならず
        - `Add the Podman PPA and install Podman` では、一部コマンドで不穏なメッセージがでるがインストールは完了する
          ```console
          ...
          $ wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key
          failed: Connection refused.
          2020-10-12 16:58:54 URL:https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_20.04/Release.key [1093/1093] -> "Release.key" [1]
          ...
          ```
        - `Rootless configuration file changes` は動かなかった
          ```console
          $ podman info
          cannot clone: Invalid argument
          Error: cannot re-exec process
          ```
          - `--cgroup-manager cgroupfs --event-logger file` を足しても動かない
              - `--event-logger` はそもそも存在しない
        - `Rootfull configuration file changes` も動かなかった
            - `/usr/share/containers/libpod.conf` が存在しなくて初手からコケる
    - 以前 podman を試した時も、`libpod.conf` がなくて断念した気がする…
    - Ubuntu 20.10 がリリースされるまで待ったほうがよさそう
        - LTS 以外の Ubuntu は Windows Store で提供されないため、手動でアップグレードする必要がある

## 大田 (エア)

- 別ミーティングのせいで参加できず。
- WESの入出力のためのminioの運用について考えている
  - 案1: 完全Public他の人から全部見え放題のminioサーバ
    - pros
      - 実装も運用も楽
    - cons
      - プライバシーゼロなのでデモンストレーションにはいいが実運用には結局別のやり方を考える必要が出てくる
  - 案2: 入出力のリクエストに応じてuuidが振られたバケットが自動生成されるminioサーバ（とそのwrapper）
    - pros
      - 「リンクを知っている人に共有」ができる
    - cons
      - minioをラップするのが面倒

## 芳村

- 作業していました
    - ramdaq.nfのstrandedオプションの仕様変更(strを渡して分岐)
        - 上記の動作確認テスト
    - nfcoreに登録するためのlight-weight referenceの作成
        - 上記の動作確認テスト
    - devブランチへのpush


## 池田

- CentOS8 をIntel NUCにインストールしたので
    - Podmanで遊んでいた
        - rootless で動作するのでこれは結構使えそうとの感触
        - docker-composeを利用しない範囲では概ね使える

## ラップアップ終わったあとの雑談

- パラメータとはなにか？
    - 定義によっては実験機器の型番もパラメータ
    - 定義によってはツールに渡す引数もパラメータ
    - CWLのパラメータとは、言語系と処理系を分けて考える必要がある。
        - 処理系を確定しないと、議論をすすめるのが難しい
        - パラメータと出力の関係を記録する場合は、Airflowとかを使っていれば記録されるが、CWLの定義としてはない。
            - 処理系がサポートしていれば、その処理系をつかっていればサポートされるが、別の処理系にいくと、その機能は使えない
    - Galaxyだと、ユーザー管理などもやっている
- 処理系の機能をまとめる話