---
# System prepended metadata

title: Pitagora Meetup 2020-07

---

# Pitagora Meetup 2020-07

参加者: 7名

### 大田

- BCC2020振り返りを書いた
  - BCC2020 参加レポート https://scrapbox.io/bcdeeiloprru/BCC2020_%E5%8F%82%E5%8A%A0%E3%83%AC%E3%83%9D%E3%83%BC%E3%83%88
      - （石井感想：非常におもしろいレポートでした。ありがとうございます！！おおたさん＋＋）
- 今日が締切の査読をやります、、

### 那須野
- （午後から参加予定）
- VS Code で emacs キーバインドを使いたいと思って [VSCodeのEmacsキーバインド拡張まとめ](https://qiita.com/kurun_pan/items/507517c3f569b080abe2) を見ながら試している
    - [Awesome Emacs Keymap](https://marketplace.visualstudio.com/items?itemName=tuttieee.emacs-mcx) がおすすめらしい
    - Metaキーはデフォルトで option キーにアサインされている（のでcommandに変更したい）
    - M-x query-replace (⇒ `M-%` でOK) とか compare-windows とかよく使うので対応してほしい。（方法があるかも？）
- 先月の続き [Preprocessing of raw SARS-CoV-2 reads](https://covid19.galaxyproject.org/genomics/1-PreProcessing/) のワークフローを Galaxy + SLURM 環境で動かす
    - 全部入り[Dockerイメージ](https://covid19.galaxyproject.org/genomics/deploy/#docker) のデフォルトの JobRunner は SLURM で構成済みだった
        - → すでに SLURM Controller + 計算ノードの All-in-One 構成で動いていた。
        - 計算ノード用に slurmd だけが起動するように全部入りイメージをカスタマイズして SLURM クラスタを作ることにする。

### 丹生
- 18時前まで参加
- 論文修正中
    - 論文中で Nextflow のコード片を載せている
    - 一昨日 [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) がリリースされたので動作確認 & 修正
      ```groovy
      nextflow.enable.dsl=2
      params.message = "Hello"
      process echo {
        input:
          val message
        output:
          stdout
        script:
          """
          echo $message
          """
      }
      workflow {
        echo(params.message) | view
      }
      ```
    - コード片を図にする必要があったが、いい感じのツールが見つからない
        - いろいろ試したが最終的に以下で妥協
            - mac のテキストエディットにソースをコピペ -> キーワードなどをボールドに手変換 -> PDF にエクスポート
        - VSCode の PrintCode extension
            - プロポーショナルフォント+キーワードハイライトがない
        - Word
            - 行間めちゃ多い+キーワードハイライトがない
            - お手軽ではない
- ep3 のバックエンド辛い問題
    - ep3 は実質的には CWL -> 大量の entr を走らせる sh へのコンパイラ処理系
    - 問題が起きたときにデバッグが実質的に不可能
        - 変換系の問題？ sh や entr の問題？
        - entr や各タスクが完全非同期に動いている
    - デバッグ可能なバックエンドが欲しい
        - 欲しい物: ジョブスケジューラ + DB 的なサムシング
            - 要求に合うものがない
        - ループと条件分岐、ステップ失敗時の fallback が可能なワークフローエンジンもバックエンドになりうる
            - 普通はステップ失敗したらワークフロー自体も失敗扱いで終了してしまう
        - 新規で作るしかないのでは、という気分になっている
            - ジョブスケジューラも DB も本質的に難しい
                - 正しさを追い求めるといつまで経っても実装できない
            - 正しく実装するのはさっさと諦めて動くものを作るべき、という悟りを開き始めた
                - [Done is better than perfect](https://pbs.twimg.com/media/D7LAGdpU0AE1T1x?format=jpg&name=small) の精神で行きたい
- Snakemake は DSL なのか問題
    - TL; DR
        - Python style の言語外 DSL ではあるが、Python の言語内 DSL ではない
        - 元の言語としても valid であれば言語内 DSL、そうでなければ言語外 DSL
        - 参考: https://www.itmedia.co.jp/enterprise/articles/0703/20/news015_2.html
    - 言語内 DSL
        - 既存の言語に対して関数などを追加実装することで実現されているもの
            - e.g., Rake
        - Lisp 系の言語はマクロで文法拡張が容易なため、がんがん言語内 DSL が生えてくる
    - 言語外 DSL
        - 既存の言語の拡張 or 独自文法により実現されているもの
            - e.g., Make (ルール記述のための DSL だが独自文法)
- BOSC で発表された[Bionitio](https://github.com/bionitio-team/bionitio) 気になる
    - ~~Dがない~~
- Container in container を簡単に実行可能なコンテナランタイムが欲しい
    - 現状だとユーザーが設定を頑張らないといけない
    - ユーザーに設定させたら負け


### 石井

- 午後参加予定
- Workflow Meetup
    - ８月３日月曜日１３時(JST)オンラインです。
        - AzureとかAWSバッチとか、CWL TESの話とかどうでしょうか？
        - キーボードとか。
            - emacsっぽいキーバインドとか
        - ポータブルだがライトウェイトかとか検討したほうがよいとか
        - cwltoolを `biocontainers` すべてのコンテナにいれたらよいのではないか？
    - ９月１８日金曜日１３時(JST)オンラインに設定する方向
        - CloudWeekと、バイオハッカソンを避けるため
- Snakemake, CWL, WDL, Nextflow などは、結局新しい言語を勉強する必要があるということがわかりました。
- [Sapporo\-server dogfooding \- bcdeeiloprru](https://scrapbox.io/bcdeeiloprru/Sapporo-server_dogfooding)
    - これをやる予定だったが今日はてをつけることができなかった
- すえたけさんに教えてもらった、名前に悩んだときに使うサービス。便利です。すえたけさん＋＋
    - https://namae.dev/
- [Visual Studio Code で Markdown 編集環境を整える \- Qiita](https://qiita.com/kumapo0313/items/a59df3d74a7eaaaf3137#2-markdownlint-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)
    - [markdownlint \- Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint) がなかなかおもしろかった。
- pragli問題切り分けが結構便利
    - 自分の画面でしゃべっている人がピカピカしていれば自分のところまでデータはきているので
        - 音が出ないのは、自分のスピーカーなどの問題
    - 自分のが面がピカピカしていなくて、無音ならば
        - おそらく自分の接続状態に問題があるので、回線の状況を確認してみる
- cwltoolとツールをまぜたコンテナに `--no-container` オプションをつけて AWS batch で実行するという方法を知る
    - Azure APPは、docker-composeで立ち上がる
        - 本来はウェブアプリ用なんだろうけど、これで解析も可能ではないか？
- シンタックスハイライトがいくつも紹介されている
    - [シンタックスハイライトをしたコードを PowerPoint / Keynote に載せる \- kakakakakku blog](https://kakakakakku.hatenablog.com/entry/2019/10/02/084123)
        - 自分がためしたやつがいくつかのっていた。
        - どれがよかったとかは覚えていない。好みもあると思うので、試す必要あるかも。
 
### 末竹

- 5日ぐらいパソコンを開かない生活をしていた
    - 命を大事に
- nf-core や nextflow tower について調べた
    - json schema を nf-core project 以下に置くと launch pipeline button が出現する
        - ここらへんのどうやって form を作っているかとかのコードを読もうとしたが php だからやる気が出ない
    - nextflow tower については、
        - token を設定して workflow を local で実行
        - tower の public server に request が行って tcp 監視
        - tower は定期的に state を取得って感じだった
    - 個人的には、tower -> nextflow-runner ではなく、nextflow-runner -> tower なのが面白いなって思った
        - これだと、kick とかを考える必要がないので結構いい感じだと思われる
        - tower を local に建てられればいい
        - ただ、進む runner 依存
            - nextflow は周りの ecosystem だったり runner に依存しすぎていて、ポータビリティが完全に失われていると思われる


### 松尾 (エア)
- 自動的にエア参加
- 終日会議で顔も出せませんでした、皆さんお元気ですか？
- 依然、Azureの専門家（謎）として生きています。
- 誰も現行システムの仕様を把握していないままにクラウド移行するという、2020年だとは思えないプロジェクトあるあるを体験しています。
    - そういう闇を解決する魔法の箱ではない
    - これは本当にクラウド案件なのか
- 焼肉が食べたい

### 鈴木
- 次世代シークエンサーDRY解析教本　改訂第2版
  - [出版社のページ](https://gakken-mesh.jp/book/detail/9784780909838.html) には、まだ正誤表はありませんね。
  - 「CWL（Common Workflow Language）があれば，DRY 解析はもう怖くない」p.333 に記載されているURL (https://tinyurl.com/dat2_cwl_example) にアクセスできなかったが、太田さんに [Erratum](https://github.com/pitagora-network/DAT2-cwl/blob/develop/README.md#erratum) を作成していただき、解決。


