---
# System prepended metadata

title: 11th Workflow Meetup まとめ

---

11th Workflow Meetup まとめ
==========================

- 大野さんによる、Cytoscape,HiVewのデモ
    - YouTube
        - https://www.youtube.com/channel/UCv6auk9FK4NgXiXiqrDLccw
    - JupyterLabでの、拡張の作り方に関する公式のドキュメント
        - https://jupyterlab.readthedocs.io/en/stable/developer/xkcd_extension_tutorial.html
    - HiView
        - http://hiview.ucsd.edu/


## 石井

- [Kwalify: schema validator and data binding for YAML/JSON \- kuwata\-lab\.com](http://www.kuwata-lab.com/kwalify/)
    - LSPがあれば、解決しそうな気もする。
    - CWL手書きするときによいかなとおもって調べてみた。
    - Kwalify is a parser, schema validator, and data binding tool for YAML and JSON.
        - yamlのバリデータのようなもの。
    - このフィールドは、intがrequireされているとかそういったことがかける。
    - > YAML and JSON are simple and nice format for structured data and easier for human to read and write than XML. But there have been no schema for YAML such as RelaxNG or DTD. Kwalify gets over this situation.
        - XMLにおけるXSDのような感じかなとおもっていたら、RelanNGとかDTDについて言及されていた
- Language Sever Protocol(LSP) について調べる
    - [language server protocolについて \(前編\) \- Qiita](https://qiita.com/atsushieno/items/ce31df9bd88e98eec5c4)
    - [LSP4JでLanguage Server Protocol入門 \- Qiita](https://qiita.com/minebreaker/items/c53e4dddb0709492d362)
    - exampleをもとに、クライアントからサーバーへの通信はできた。
    - しかし、サーバーからクライアントにもどってきているのかがわからない
- UCSDの計算機環境について、お話を伺った。
    - 分業されている
        - ハードウェアを見る人
        - セッティングを見る人
        - ソフトウェアを書く人
    - http://compbio.ucsd.edu/
    - https://blink.ucsd.edu/technology/cloud/index.html

## 西田

 - https://github.com/idekerlab/KEGGscape/blob/master/Dockerfile で https://github.com/cytoscape/docker-cytoscape-desktop を使うように変更
 - https://github.com/jupyter/docker-stacks のように bioc-cytoscape, pydata-cytoscape のような派生Dockerfile を作成(しようとした)

### 昨日大野さんの発表で知りえなかったことを理解
 - https://github.com/cytoscape/cytoscape-jupyter-widget と https://github.com/idekerlab/cy-jupyterlab の何たるかと動作確認
 - 下記の大野さんの対応によりcy-jupyterlabも利用可能となったことを確認
 - https://github.com/idekerlab/hiview のローカル環境への導入

## 大野

- CyJupyterLabの動作確認: https://github.com/idekerlab/cy-jupyterlab
    - 少なくともソースからは一発でビルドできるところまで。
    - こちらのブランチで動作は確認。
    - デプロイ済み：　https://www.npmjs.com/package/cy-jupyterlab　

## 丹生
- 自作のワークフローエンジンが、3個の optional features (+ [id: 61](https://github.com/common-workflow-language/common-workflow-language/issues/761)) 以外の conformance test を全て pass した！
    - 全テスト
    ```console
    167 tests passed, 1 failures, 29 unsupported features
    ```
    - required のみ
    ```console
    49 tests passed, 1 failures,  0 unsupported features
    ```
    - 以下、現状未実装の Requirements
        - SoftwareRequirement
            - サポートする予定はない
        - ScatterFeatureRequirement
            - 生成系に変更が必要
        - StepInputExpressionRequirement
            - `ScatterFeatureRequirement` も絡んでくる
- [cwl/cwl-language-server](https://github.com/common-workflow-language/cwl-language-server/tree/master) をいじっていた
    - LSP の情報が少ない
        - https://qiita.com/Rockdoor/items/6dfdee7c6b1686a8119f
        - https://qiita.com/Rockdoor/items/f5dca558bbc843d8f334
        - https://qiita.com/Rockdoor/items/ca38e7f1d09c25d083b5
    - [pylspclient](https://github.com/yeger00/pylspclient)をベースになんとかしようとしている
        - 各機能ごとの関数を実装し、`pylspclient.LspEndpoint` の `callbacks` に与えれば動く気がしている
        - [ライブラリ内のサンプル](https://github.com/yeger00/pylspclient/blob/master/examples/clangd.py)はサーバ・クライアント両方の実行を行っているため、そのままでは目的に合わない
            - `pylspclient.LspEndpoint` だけで十分
        - サーバとしての待受けなどの機能はない
            - Flask などでサーバを立てて、リクエストを `LspEndpoint` に全部ぶん投げるようにすればよい？
        - 未開の荒野を突き進んでいる感がある
        - [それらしいもの](https://github.com/common-workflow-language/cwl-language-server/tree/sandbox)を書いてみた
            - が、手元の環境では実行できない
        - なんにもわからん…


## 千葉
- 雑に始める CWL！を読む
    - https://qiita.com/tm_tn/items/4956f5ca523f7f49f386
- CWLを始める
    - CommandLineToolの作成
       - BWAでアライメントする
       - Samblasterでタグを付与する
    - Workflowの作成
       - 作成した２つのCommandLineToolをStep実行する
    - 作成したソースコード
       - https://github.com/ken0-1n/CWL-DNA-Alignment 
- 次回
    - CommandLineToolをPipeでつないでみる。
    - 結果ファイルを任意のディレクトリに出力する方法について調べる。

## 安水

- cwl user guide chap. 11
    - https://github.com/yyoshiaki/cwl_user_guide
- cytoscapeの勉強
    - cy-jupyterlab installつまった
    - https://jupyterlab.readthedocs.io/en/stable/developer/xkcd_extension_tutorial.html と同じ環境を立ててやるといいよとのこと。
    - それでもうまくいかない -> 国試終わったらゆっくり試します。
- 国試勉強
    - 膵臓腫瘍むずかしい

## 山田

- cwl user guideを進めました。
- CWLのアドバントカレンダーも読んでみて、いろいろ試していきたいです。

## 横山

- cwl on Singularity on SGEを試す(cwltool / toil-cwl-runner)
    - toil-cwl-runnerでSingularityを動かす場合は、cwltoolをwrapして動かしていることがわかった。
        - https://github.com/sylabs/singularity/issues/1607
        - https://github.com/sylabs/singularity/issues/1182
        - 簡単に言うと、SingularityとDockerの挙動が非互換になっている仕様がいくつかある
    - cwltoolをそのまま--singularity optionを付けて動かしても、動かなかった。
    - cwltool / toil-cwl-runner は、Singularity 2.5.2 の環境では動かないのではないか？と考えられる。
- cwl on Singularity (on SGE) が試せそうな他のランタイムの組み合わせについて、ご存じないですか？

## 池田

- Common Workflow Language (CWL) Advent Calendar 2018を読む
    - https://qiita.com/advent-calendar/2018/cwl

## 末竹

- https://github.com/suecharo/cwltool_in_container
    - cwltool を docker container 内で動かした
    - cwltool 自体も docker を使うかつ、Host の docker のみを使うという話だと、色々 mount しなければならず、詰まる感じだった