# 48th Workflow Meetup (2022-01-12 Wed) ================================ [20220112 · workflow\-meetup\-jp/workflow\-meetup Wiki](https://github.com/workflow-meetup-jp/workflow-meetup/wiki/20220112) 2022-01-12(Wed) 13:00 - 19:00 まで。 完全リモートのため、全世界どこからでも参加可能。 # 事前計画 ## 全体 - [Joel Nittaさん](https://joelnitta.com) のトーク - スライド - https://joelnitta.github.io/workflow-meetup-targets-intro/#1 - 角崎さんのトーク - スライド - https://d1.awsstatic.com/local/health/20211026_CBI_sponsorsession_Chugai_DL.pdf#page=21 - ## 石井 - 次回2月2日水曜日を予定 - 2021年度は、月の第一週の水曜日13時スタートの方向。ただし、月曜日など他の日になるかもしれないです。 - 2月3日木曜日は、pitagora meetup あり - その次は3月2日を予定 # こうなりました ## 全体 ### JupyterLabのgithubサイトを作る ## 石井 - joel nittaさんのトーク - Rのインストールにconda , R のパッケージのインストールに renv を使っている - targets のパッケージの中の関数は、tar_で始まる - R studioだと、スクリプト書き換えたら保存が必要。実行が別セッションのため。 - そのため、なにか実行するとちょっと時間がかかるように見える。 - tar_visnetwork() - 可視化してくれて便利 - データ部分と、関数部分それぞれで、流れと更新状況も把握できる - 機能としてはあるが、動作をまだ確認していないもの - cloud(AWS)上に、\_targets(キャッシュ)がおけるらしい。 - GitHub Actionsでも実行できるらしい - すべて Rmakedown でもできるらしい - shiny(Rのウェブアプリ)でワークフローの進行状況をモニターできるらしい。 - 並列計算 - ローカルで並列計算 - library(future) - library(future.callr) - plan(callr) - tar_make_future(worker=4) - HPC・パラレル化 - clustermqを使う - reportで、結果を出力してくれるのも含めて、おすすめの方法 - 重たい処理はtargetsにまかせる - 簡単な処理は、最後のRmarkdownで書くところ - sourceコマンドなら、githubなどにある、Rのソースコードも読み込むことができる。 - 質問 - tar_make()を途中でとめて、最初からやるときは、 - 結果ファイルを rm -rf を実行するという手もある - tar_destroy()で実行するという手もある - 実際は rm -rf と同じ - 1ステップだけ実行するときや、特定の処理を再実行するとき - tar_invalidate - 作り直したときに、outdated 状態になるので、そこからもう1度やり直してくれる。 - tar_outdated() - 再実行対象になっていることを確認する - tar_option_setでのimportsの管理について - 開発中で更新が頻繁な自分のパッケージだけ imports で targets管理化におくという手もある - 循環参照になったりといったことまでは、チェックしてくれない ### 新海さんの遭遇したエラー1 ``` > tar_load(summary) System has not been booted with systemd as init system (PID 1). Can't operate. Failed to create bus connection: Host is down Warning message: In system("timedatectl", intern = TRUE) : running command 'timedatectl' had status 1 ``` - `System has not been booted with systemd as init system (PID 1).` で検索した結果 - WSL2がらみで見つけたエラー - https://shikiyura.com/2020/08/run_systemd_as_pid_1_on_wsl2/ - Macでdocker使った場合でもエラーになるときがあるようだ - https://tihiro.hatenablog.com/entry/2020/03/20/165252 ### 新海さんの遭遇したエラー ``` OK [built from source] Moving conflicted [1.1.0] into the cache ... OK [moved to cache in 0.39 milliseconds] Installing curl [4.3.2] ... FAILED Error installing package 'curl': ================================ * installing to library ‘/home/shinkai/r_targets/targets_vcf_example/renv/staging/1’ * installing *source* package ‘curl’ ... ** package ‘curl’ successfully unpacked and MD5 sums checked ** using staged installation Found pkg-config cflags and libs! Using PKG_CFLAGS=-I/usr/include/x86_64-linux-gnu Using PKG_LIBS=-lcurl ------------------------- ANTICONF ERROR --------------------------- Configuration failed because libcurl was not found. Try installing: * deb: libcurl4-openssl-dev (Debian, Ubuntu, etc) * rpm: libcurl-devel (Fedora, CentOS, RHEL) * csw: libcurl_dev (Solaris) If libcurl is already installed, check that 'pkg-config' is in your PATH and PKG_CONFIG_PATH contains a libcurl.pc file. If pkg-config is unavailable you can set INCLUDE_DIR and LIB_DIR manually via: R CMD ``` - libcurlがないためだとおもわれる - > conda install -c anaconda libcurl ### 角崎さんのトーク - cromwellがAWSですぐに利用できたので使っている。 - [Amazon Genomics CLI](https://aws.amazon.com/jp/blogs/news/new-amazon-genomics-cli-is-now-open-source-and-generally-available/) - こっちのがよいかもしれない、角崎さん作り始めたあとに登場したとのこと。 - 遺伝子発現データをS3で納品してくれるケースというのがある。 - 監視は、cromwellよりArvadosの方がよさそう。 - 運用は、1人(角崎さん) - 構築は別の会社の人に依頼するが、そのほかは角崎さん。 - エクセルからパラメータを渡せるので、ウェットの人も含めて利用してもらえると助かるだろう。 - - 監視 #### 苦労の話 - 真の意味でクラウドネイティブな、ワークフロー言語がないのではないか? - dockerPull をECRように書き換えるようにする必要がある。 - https://github.com/common-workflow-language/cwl-utils/blob/main/cwl_utils/image_puller.py - 石井追記 - Entrypoint の書き方などによっては、cromwellがサポートされていないかんじあり。 - WDLで書くか、別のエンジンに - ある程度の粒度でわけるという手もある。 - ダウンロードは別のところにしっかりダウンロード - 解析は解析、 - アノテーションを実験の人 - ある程度の粒度用に、 - 1つの会社の1人の人が、全部を書き続けるのは大変 - 新規に作ったものを公開するという方向性が理想的にはよいがなかなか大変。 - 結局、AWSのことを知る必要がある。 - cromwell投入用のマシンは立ち上げっぱなし。 - そんなに対したことないマシンでよい。 - cromwellのいいところ - ResourceRequirements に必要なメモリを書いておくと、それに合わせていいインスタンス。 - 監視 - 何を監視しているのか? - いままで実行した結果をためておく - パラメータとか - 監視した結果を、どうやっているか - AWS コンソールで確認 - なにかおこったときに活用するイメージ - 結果の見せ方の整備 - 統一的な見せ方とか、ダッシュボードがあるとよいだろう。 - 将来的には - なにか実験の人に、フィードバックできたりしてもよいだろう - どちらにしても - 疎に結合して、失敗したら0から流すようなことがよいだろう。 - ジョブの粒度の問題 - 大きな単位は、CWL - 可視化など手戻りがあるようなのは、R (targets) とかやるとよいかもしれない - AWS Batch - ECRに置かなければいけないのは、AWS Batch ## 池田 - 普段Rで処理系を書くことがないけれど、targetsは便利な処理系だと感じた - Rの一般的な関数だけを利用して処理を行う場合にはぜひ使ってみたいと思う - ワークフローを途中から再開したり、現在処理中のフローを容易に図示できる点が良い - M1 macに今回初めてRの処理系とcondaをインストール - Rstudioだけはintelのアプリケーションだが、特に問題は無かった - Miniforgeで導入したcondaについては、vcf処理のサンプルで環境構築時にRの一部のライブラリがコンパイルできないという問題が発生した - 後で転記予定... - 角崎さんのAWSでCWLを利用している話は大変参考になった - フロントエンドをlambdaにするのは良いと思う ## 山本 今回のチュートリアル conda必須 renvでパッケージ管理調整プログラムを事前に実行 condaのyamlにパッケージを書かず、renvだけインストール renvでパッケージを指定 tar_script使うと必要な要素が書かれたRファイルが作成される tar_make()でワークフロー実行 tar_visnetwork()は自分の仕事で使うスクリプトを見やすくしてくれそう futureパッケージを使って並列計算できる ジョブとして分ける場合はclustermq. clustermqがサポートしているジョブスケジューラーで使用できる(slurmなど) 大きい解析はtargets(ワークフロー)、可視化などのちょっとした処理はRMarkdownでやると見やすい tar_destroy()した後にtar_make()で、最初からやり直せる。ファイル操作で_targetsを消してもいい。 再開ステップを指定することもできる snakemakeの次に選ぶworkflowとしては、CWLよりもtargetsかな # 前回のミートアップから今回のミートアップまでにSlackなどにあったリンクメモ - ここから書く - ミートアップ用?貸し会議室関連 - [【飯田橋駅】人気の貸し会議室おすすめTOP20|〜1,500円/10〜30名/Wi\-Fi \(無線LAN\)/電源・コンセント|インスタベース](https://www.instabase.jp/tokyo-s1131205-kaigishitsu?c%5B%5D=6&e%5B%5D=1&e%5B%5D=90&maxPrice=1500) - [日本橋の貸し会議室・レンタルスペース【格安1時間500円〜】 \| スペイシー](https://www.spacee.jp/locations/tokyo/nihonbashi) - [Diataxisという思考ツールとしてのフレームワーク \- Qiita](https://qiita.com/yoshii0110/items/6c9bd7f2b4103375b171) - ドキュメント書くときに意識するとよさそう - [Project Environments • renv](https://rstudio.github.io/renv/index.html) - パッケージ管理のパッケージ - renv.lock - 必要なパッケージがかかれている。 - bioconductor にも対応している - [tflow](https://github.com/MilesMcBain/tflow) - Rでスケルトンを作ってくれる ## 新海 ### wsl2は色々と大変 尚、石井さんが記載している二つ目のエラーですが、結局未解決状態です 他の普段使っている外部サーバーだと普通にインストールはできました libcurlのインストールではない模様
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up