---
# System prepended metadata

title: 19th Workflow Meetup まとめ(8/13)

---

19th Workflow Meetup まとめ(8/13)
================================

2019-08-13(Tue) から 2019-08-16(Fri)
10:00 - 19:00 まで。
初日のみ、大阪は１２時から

# 全体

- 

# 個別

## 横井（農研機構） 
- 坊農さんのご助言のもと、CWL環境を構築。 pitagora-cwl、Dockerの導入。CWLを利用して、fasterq-dump,salmon,kallist使用。ヒトのSRAファイル,referenceデータから発現定量を行い無事完了。公共DBからカイコのSRAデータをとり、同様に発現定量も行った。これも成功した。
    - 無事導入完了(kallist_indexのerror。メモリの割り当て量を増やすことで解決。) 
        - 石井コメント：ヒト、マウスだと8GB程度は必要だろう、2GBではこける
    - Dockerもhomebrewで導入。なるべくcondaやhomebrewで導入すべき。
## 石井（理研BDR）

- 上田さん（二階堂研）と、kallistoのチュートリアルを、実行するシェルスクリプトを作った。
    - docker コンテナも動いた。
    - GridEngineに投げて終わりになるとおもったが、パイプでつないでいる部分でエラーがでていた。この部分を検証中。
        - どうも、パイプやGridEngineの問題ではなく、ラボ内のGridEngine+docker環境特有っぽい
    - singularityでも動かしたい
- Live Share を実行したかったが、エラーがでた
```
Agent terminated with exit code: 0 and signal null: FailFast:
Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.at System.Environment.FailFast(System.String)
   at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode()
   at System.Globalization.GlobalizationMode..cctor()
   at System.Globalization.CultureData.CreateCultureWithInvariantData()
   at System.Globalization.CultureData.get_Invariant()
   at System.Globalization.CultureInfo..cctor()
   at System.StringComparer..cctor()
   at System.AppDomain.InitializeCompatibilityFlags()
   at System.AppDomain.Setup(System.Object)
```
    - libicu のバージョンの問題らしい

## 上田

- 石井さんに教わりながらdockerを使ってkallisto,bustoolsのチュートリアルを実行した。
    →自分のマシンにツールがインストールされてなくてもdocker を使えば
    インストールせずに実行できる...
    +実際にbustoolsのコンテナを作った

## 西田
- RcwlPipelinesとRcwlを試用
    - cwltool はpython2ではなくpython3 -m pip install cwltoolでinstallすべきと学習
    - [Vignette](https://bioconductor.org/packages/devel/bioc/vignettes/Rcwl/inst/doc/Rcwl.html) の **cwlParam to Shiny App** を使いたい場合でなければ特にRcwlPipelinesとRcwlを使ううまみは無さそうに思った
- [KEGGtranslator](http://www.cogsys.cs.uni-tuebingen.de/software/KEGGtranslator/doc/index.html) を用いたファイルフォーマット変換(KGML2SBML)のCWL化 (未達成)
    - [丹生さんの「雑に始めるCWL」](https://qiita.com/tm_tn/items/4956f5ca523f7f49f386) シリーズを参考にする


## 丹生
- 解析教本用で使われているワークフローの CWL 化
    - 今週の meetup 中に完了したい
    - 手順に抜けっぽいのを確認
        - 動作確認時に再確認予定
    - CWL 化は一通り完了のはず
        - 現在動作確認中
        - テストは入力ファイルの問題で途中まで
        - 何かをダウンロードするワークフローのテストはどう行う？
    - CWL の仕様を変更しないと解決しなさそうな問題を発見
        - `primary: File` と `secondaries: File[]` が与えられたときに、`secondaryFiles` に `secondaries` が指定されている `primary` を返したい
        - 汎用的に作ってしまうと、`secondaryFiles` 部分の静的検証ができないために cwltool が警告を出す
        - 警告を無視しても実行結果に影響は出ないが、ユーザーの精神面に悪影響が出る
            - 警告を消しつつ汎用的に作りたいが、現状では手段がない
            - 各種プログラミング言語で提供されている `assert` が欲しい
                - 満たすべき条件を引数に取り、満たさない場合は実行時エラーになってくれる
- そろそろ IIBMP の資料も作ったほうがいいが、ネタが思いつかない
    - 昨年度: CWL の紹介
    - アイデア
        - 雑に始める CWL in IIBMP: 直前の CWL ライブコーディングとかぶる
        - v1.1 での変更点: ニッチすぎる
        - CWL 紹介: 昨年度と同じなのが問題
        - デモ(e.g., 同じワークフローを複数のエンジンにぶん投げて、結果の checksum が全て一致するのを確認する)
            - ローカルで動くやつ・クラウドと連携するやつ・ジョブスケジューラに投げるやつ くらいがあると良さそう
            - デモは本番で失敗するリスクがある
            - ハッカソン時に動画を取るといいかも
        - CWL 変換落とし穴


## 坊農（DBCLS）
- CWL実行環境を横井さんに伝導。以下のブログをテキストに
    - [Common Workflow Language(CWL)を使ってkallistoを実行する](http://bonohu.jp/blog/running-kallisto-via-cwl.html)
    - [Running salmon via CWL](https://bonohu.github.io/running-salmon-via-cwl.html)
        - カイコの公共RNA-seqデータの発現定量（by 横井さん）に向けて、大幅に前進！
- 本日の学び
    - DockerもHomebrewで入る！ → 「自分でパッケージを入れない」
- [Bono本](http://bonohu.jp/blog/category/drbonobon.html)80番目のサイン
- 今回の目標： **RNA-seqデータの類似性検索**に向けて取り組む

## 大田

- 正村さんのレポートのレビューをしていた
- BioHackathonのオーガナイズ仕事をしていた
  - 福岡!!!
- 明日はCWLの原稿のFinishingをやりたい

## 正村
- Keio Global Science Campusの中間レポートを書き終えた
- MAFFTとJalviewを使用しprotein sequence(tryptophan synthase)の解析
    - https://doi.org/10.7875/togotv.2015.035
- Bono本購入！


## 池田
- bcbio-nextgenの環境構築

bcbioはこんなワークフロー実行環境　パイプラインそのものはCWLで記述されている

:::info
Validated, scalable, community developed variant calling, RNA-seq and small RNA analysis. You write a high level configuration file specifying your inputs and analysis parameters. This input drives a parallel run that handles distributed execution, idempotent processing restarts and safe transactional steps. bcbio provides a shared community resource that handles the data processing component of sequencing analysis, providing researchers with more time to focus on the downstream biology.
:::

CWLで記述されたworkflowを利用してbcbioのYAMLからCWLのinputを作成して実行する 

https://bcbio-nextgen.readthedocs.io/en/latest/contents/cwl.html
:::info
bcbio runs with Common Workflow Language (CWL) compatible parallelization software. bcbio generates a CWL workflow from a standard bcbio sample YAML description file and any tool that supports CWL input can run the workflow. CWL-based tools do the work of managing files and workflows, and bcbio performs the biological analysis using either a Docker container or a local installation.
:::
- [bcbio-nextgenの導入](https://qiita.com/percipere/private/329279d5655ebf413ebe)を途中まで記述
- 大田、石井コメント：
    - アメリカなら、おとせるのではないか？
    - hg37 は、ftpとりにいかなければいけない。
        - hg38 に移行しようよ？
        - 多くのユーザはすでに、hg37のデータがあるからよいのだろうけど
    - hg38 は、GCP上にあがる