19th Workflow Meetup まとめ(8/15) ================================ 2019-08-13(Tue) から 2019-08-16(Fri) 10:00 - 19:00 まで。 初日のみ、大阪は12時から # 全体 - Live Coding で、[Kallistoチュートリアル](https://www.kallistobus.tools/getting_started.html)をCWLにした。 - ワークフローもかけるようになった(はず) # 個別 ## 石井(理研) - KallistoのチュートリアルをCWLにした。 - [manabuishii/kallisto\-tutorial](https://github.com/manabuishii/kallisto-tutorial) - Live Share Audioがまだうまく動いていない。 - 入れ直すと良さなので、やってみたい - 雑に書くワークフローを手伝い中 ## 大田 - 正村さんのリサーチのサポートをしていた - 雑に始める Workflow に従って Qiime2 のワークフローを作っていた - 依存書くのがしんどい(ステップ数が23とかあってしんどい) ## 丹生 - CWL live coding (ワークフロー編) - [kallisto の getting started](https://www.kallistobus.tools/getting_started.html) で使われている例をワークフロー化した - ツール間の接続は気にしないといけない - ツールは[雑に始める](https://qiita.com/tm_tn/items/4956f5ca523f7f49f386)方式 - 各ステップをみんなが CWL 化した - 池田さんの、出力ファイル名をそのままパラメータ名にする方式を使うと、更に雑度が上げられる - ツールに関しては手順が確立されたため、あんまり迷うところがない - `secondaryFiles` や `Directory` は雑に CWL 化しにくい - 最後にワークフローとしてまとめた - ある程度は雑にできそうだが、やはりツールの CWL 化よりは雑度が下がる - 「特定のファイルが入ったディレクトリ」が鬼門 - そのまま出力オブジェクトにしてしまうと、後続のステップを書くときに苦労する - ディレクトリ内の特定ファイルを別ステップで使う場合、各ファイルを出力オブジェクトとして定義したほうがよい - いろいろ準備をしていた ## 横井(農研機構) - ライブコーディング、見学。(雑に書く)CWLの雰囲気は掴めた?自分の仕事に取り込めそう? ## 池田 - planemo のCWLのテンプレート機能を利用してみた 下記のコマンドで ``` $ planemo tool_init --force \ --cwl \ --id 'seqtk_seq' \ --name 'Convert to FASTA (seqtk)' \ --example_command 'seqtk seq -A 2.fastq > 2.fasta' \ --example_input 2.fastq \ --example_output 2.fasta \ --requirement seqtk@1.2 \ --container 'quay.io/biocontainers/seqtk:1.2--0' \ --test_case \ --help_from_command 'seqtk seq' ``` 次のCWLが作成される ``` #!/usr/bin/env cwl-runner cwlVersion: 'v1.0' class: CommandLineTool id: "seqtk_seq" label: "Convert to FASTA (seqtk)" hints: DockerRequirement: dockerPull: quay.io/biocontainers/seqtk:1.2--1 SoftwareRequirement: packages: - package: seqtk version: - "1.2" inputs: input1: type: File doc: | TODO inputBinding: position: 1 prefix: "-a" outputs: output1: type: File outputBinding: glob: out baseCommand: - "seqtk" - "seq" arguments: [] stdout: out doc: | Usage: seqtk seq [options] <in.fq>|<in.fa> Options: -q INT mask bases with quality lower than INT [0] -X INT mask bases with quality higher than INT [255] -n CHAR masked bases converted to CHAR; 0 for lowercase [0] -l INT number of residues per line; 0 for 2^32-1 [0] -Q INT quality shift: ASCII-INT gives base quality [33] -s INT random seed (effective with -f) [11] -f FLOAT sample FLOAT fraction of sequences [1] -M FILE mask regions in BED or name list FILE [null] -L INT drop sequences with length shorter than INT [0] -c mask complement region (effective with -M) -r reverse complement -A force FASTA output (discard quality) -C drop comments at the header lines -N drop sequences containing ambiguous bases -1 output the 2n-1 reads only -2 output the 2n reads only -V shift quality by '(-Q) - 33' -U convert all bases to uppercases -S strip of white spaces in sequences ``` - CWLのライブコーディングをVisual Studio CodeのLive Shareを利用して行った - bustools countのCWL化 ## 坊農(DBCLS) - kallistoチュートリアルのCWL化(一部を教えてもらいながら) - single cell データ解析の勉強 - 以前に入れた[CellFishing.jl](https://bonohu.github.io/cellfishing.html)を使うために[Julia](https://julialang.org)を最新版v1.1.1に - 今後、acceptableなファイルのフォーマットを調べる ## 那須野 - 初めてのLive Share体験 - VS Codeに Live Share の Extention を追加 - bustools sort の CommandLineTool をCWLで実装、cwltoolで動作確認 - Live Shareのアーキテクチャ気になる… - 共有Terminalはまだ厳しい感じ。tmux と同じくらいの感覚でつかえるとよいのだが。 - (メモ)明日は [Fluent Bit](https://fluentbit.io/) について調べる予定 - DockerメトリクスをElasticsearchに送信する目的で使えそうか ## 正村 - SPARQLthonで発表する内容を書き出し、リサーチバックグラウンドに必要なevidence集めをした。 - Fecal Microbiota Transplant(便微生物移植?)をしたことによって性格が良くなったという前例があることを聞き、それについてリサーチしていた。主な質問がセロトニンを多く合成できる腸内細菌はいないか?だが、さらに論文をプロセスしている間にまずセロトニンの不足が本当にうつ病などのコンデションに関わっているかという質問が出たのでそれを調べた。 ## 岩谷(慶應) - GSC事業受講生正村さんの個人研究の状況の確認 - 受講生に対するC言語指導のためのプログラミング資料作成 ## 西田 - KEGGtranslator のbioconda recipeを作成しようとしたがJavaアプリの場合 https://github.com/bioconda/bioconda-recipes/blob/master/recipes/picard/picard.sh のようなシェルスクリプトを書くお作法がある模様。これを他人のプロジェクトのためにがんばって作る気にならなかった... - kallisto-tutorial.cwl を見ていた。何か大変そうに思った - cwl(yml)が読みにくいように思った - nfのようにここはこういうコマンドが実行したいんですよと書かれている方がわかりやすいのではないかと思った - kallisto無知なため他のcwlに浮気していた。 https://github.com/EBI-Metagenomics/pipeline-v5/tree/master/tools/KEGG_analysis/KEGG_pathways あたりだと興味がある。しかしこういうPythonスクリプトを使うプロセスだとCWLがベストなのだろうかと思ってしまう。 環境構築がそんな大変でなければ https://www.prefect.io/core-tutorial とかでやりたくなりそう。 - [Biocontainersにない、Biocondaのツールを入れたコンテナを作る](https://qiita.com/manabuishiirb/items/d30b92339c653083ac0d) にならって [cytoscape](https://biocontainers.pro/#/tools/cytoscape) のコンテナを作り cytoscapeのRESTサービスのテストをTravisで行うことを試みた - しかしcytoscapeはguiが無い環境で立ち上げることができず [Using xvfb to Run Tests That Require a GUI](https://docs.travis-ci.com/user/gui-and-headless-browsers/#using-xvfb-to-run-tests-that-require-a-gui) を行う必要があった。< 今ここ