Pitagora Meetup 2021-03
概要
- 日時: 2021年03月11日(木) 10:00 〜 17:30
- 場所: フルリモート
- オンライン参加 (Pragli) のURLは Pitagora Slack で告知します
- Slack にはどなたでも参加できます。こちらからどうぞ。
- 不明なことがあれば遠慮なくこちらへどうぞ: 大田
t.ohta [at] dbcls.rois.ac.jp
タイムテーブル
途中参加、途中退出は自由です。*印が付いている時間がオンラインでの集合目安時間です。その後は繋いだままでもいいですし、一度切って作業に集中しても構いません。
Time |
|
10:00-10:15 |
今日の作業確認* |
10:15-11:00 |
各自作業 |
11:00-11:30 |
update session* |
11:30-13:00 |
各自作業 |
13:00-14:00 |
ランチ* |
14:00-17:00 |
開発とディスカッション |
17:00-17:30 |
ラップアップ* |
19:00- |
有識者会議* |
ミートアップの主旨
- データ解析ツール・ワークフローを共有する
- ソフトウェアをコンテナ化する
- Galaxy や CWL などを使ってツール定義、ワークフロー定義を書く
- ドキュメントを書いて GitHub で公開する
- 共有されたツールやワークフローを実行する
- うまくいったこと、うまくいかなかったことを記録する
- 技術情報を共有する
- 関連OSSプロジェクトにコミットする
- SNSで質問する
- プロジェクトの Gitter channel があればそこで聞く
- Issueを立てる
- Pull Request を送る
- その他データ解析に関わる人々の日々の暮らしが豊かになる開発を進める
まとめ
大田
- CWL CodeFest を5月に開催予定らしい
- オーガナイザー募集とのことだったので手伝うよとメールしといた
- 1週目は祝日だからやめてくれと頼んでおいた
- ElasticSearch がOSSでなくなった件について
- 某原稿をやる
- ghcr についてのブログを書く
- 某臨床DBの github action をテストする
- Sapporo
- new version dogfooding
- DDBJでの運用方針を決める
よく使うLinuxコマンド スタメン
- 前提: 初学者に知っていてほしい or 覚えてほしいコマンド。
- 状態を確認するコマンド
- ls: ディレクトリに含まれるファイルの一覧を表示
- pwd: 作業ディレクトリを表示
- which: プログラムファイルの位置を表示
- env: 環境変数の一覧を表示
- echo: 引数に与えた文字列を表示、特に変数を与えた場合にその内容を表示
- ファイルシステムを操作するコマンド
- cd: ディレクトリを移動
- mkdir: 空のディレクトリを作成
- mv: ファイルを移動
- cp: ファイルをコピー
- rm: ファイルを削除
- ファイルの内容を確認するコマンド
- cat: ファイルの内容を表示
- less: ファイルの内容を表示、スクロールナビゲーション付き
- head: ファイルの先頭部分を表示
- tail: ファイルの末尾部分を表示
- 出力を加工するコマンド
- grep: パターンにマッチする行を表示する
- sort: ソートして出力する
- uniq: 前後で重複する行をフィルタする
- wc: 文字数、単語数、行数をカウントする
- 脱初級者のための現場でよく使うコマンド
- sed: パターンにマッチした部分を書き換える
- awk: パターンマッチをベースにしたファイル処理のための言語
- xargs: 標準出力から受け取った内容を次のコマンドの引数に渡す
- git: 分散型バージョンコントロールシステム
- curl: データをダウンロード・アップロードする
memo
- pwd: FSという概念を知る
- which: pathが通っているかどうかという概念を知る
- env:
- echo
- ls
- cd
- mkdir
- mv
- cp
- rm
- cat
- head
- tail
- less
- sort
- uniq
- grep
- sed
- xargs
- 種類で分類?
- FS、環境変数などの状態を確認する
- pwd, env, which, echo, ls
- ファイル・ディレクトリなどの操作
- ファイル表示関係、内容確認
- 出力加工・フィルタリング
- ここからしたは触れるだけで、詳しく紹介しなくてよいだろう
- プログラミング言語(ワンライナー的な使い方が多いもの)
- プログラミング言語
- 必要だがふれない
- git, tar, export, nano, byobu (tmux, screen), xargs
- 宗教戦争になるので触れない
長年やってきた人向けからのアドバイスというコメントをいただいた場合の反応方法
いらない人間関係のトラブルを呼び込まないために、以下を覚えておくと良い。
- sed, awkは、初学者向けではない。単語としてはよく聞くことになるだろう。
- pythonでいけそうなら、pythonでやっておいたほうがよい
- sed, awk よりは長くなるが、他のことにも応用が効く
- 読める人も多い
- ワンライナー的な使い方は便利な時があるが、他の用途では見ない
- awk のスクリプトを単体で作成する人はシェル芸人くらいしかいない
- awk を読める人は少ない
- pythonと並べて、どれをやったらいいですかのときは、すべてpythonと答えるだろうものは初手で手をつけるべきではない
- Perlと言われたら、最近は標準ではいっていなくて、OSのコマンド体系もpythonに置き換えられている
- もはや Perl は OS 標準ではインストールされていない!(その位置には Python がいる)
- そのことを知らない人がボスである可能性もある気がするが、やんわり伝える方法があればよいが、あるかな?
- エビデンスを探すとよい
- 記事を見たはずだが見つからない… (おそらく移行自体がかなり前に行われたため)
企画の意図とは異なるが
- 突然こまった状況になる、キーボード操作
- ^C
- ^Z (Windows のコマンドプロンプトや PowerShell とは役割が異なる!)
- ^D
- ^Q
- マルチプレクサ系での画面固定、キーボード入力が受け付けない感じになるか?
- resetとうって、enter押すと、復活するときがある。
- コマンド説明でよく見られるあれこれ
- シグナルの話
- trap
- kill
- pkill
- firefoxとかを終了するときにでてくるとおもわれるが、あまり初学者におすすめできない。killでがんばろう
- 初手では伝えないほうが良いのでは?
- 副作用が大きいというのは伝えるべきでは?
丹生
- ep3 の cwl-metrics 対応
- dev container 内で ES にメトリクスを送るところまで動作確認したい
- 単に外部で cwl-metrics up をするだけだと、dev container 内からアクセスできない
- dev container に ES を追加して解決しようとしている
- 立ち上がらん
$ curl localhost:9200
curl: (7) Failed to connect to localhost port 9200: Connection refused
- あきらめて別の作業をする
- 生成された cwl.metrics.json を手動で curl で ES に保存できるのは確認済み
- Telegraf でログがきちんと取得できるっぽいのを確認
- DH で要求するフォーマットと異なる?
- Fluentd をかますと問題ない?
- fluent-bit を使いたいが…
- Galaxy ベースの再構成システムでは Telegraf+Fluentd でメトリクスを取得している
- そろそろ cwl-inspector がボトルネックになりつつある
- ES のライセンス大丈夫なの問題
- SSPL はもはや OSS ではない
- 個人で使うには問題はないはず
- 例えば遺伝研で ES 立ててメトリクス集めます、みたいなケースで問題が起きないか?
- 関連コードを全部公開する必要があるかもしれない (全部とはどこまで?)
山中
鈴木
- 山中さんとミーティング。5カ国(タイ、米国、豪州、日本、フィリピン)のチームでグラント応募予定。申請内容にバイオインフォマティクス・ワークショップを含める件で相談。
末竹
- sapporo の残件処理
- sapporo-web
- 説明文や入力の schema を補助としてもう少し入れる
- 出来た
- これ、もう僕にはわからん
- workflow execution page において、tags の schema とか分かりづらいかな?って思ったけど、自分は WES に対して深い造詣と広い洞察を持っているため、何が分かりづらいかわからない問題になっている
- ドキュメントを書く
- github-pages の deploy 用の github actions が落ちているからそれの修正
- /state page で全データの dump と import くらいは実装していいかなって気持ちになっている
- 出来た
- import は logic がむずいため、dump のみ実装した
- ボタンの連続押し禁止のやつ
- sapporo-service
- 現在、production 環境でも flask server を使っているから、uwsgi とかに変えるべきである
- めんどくさくなってきた
- ネットワーク周りはそれぞれ頑張ってほしい
- 30分頑張って出来なかったので、やる気が無くなった。 (必要に迫られたらやる)
- workflow_engine_params などのインジェクション対策
- output file link generator で隠しファイルが download 出来ない問題への対処
- 全般的
- executable_workflows.yml の schema を拡張して、test 用の入力などを書けるようにしたら面白いかもしれない
- 既存の workflow (Github 上にあるやつ) とか、Nexflow core とか URL から executable_workflow の entry を生成する簡単なスクリプトを書く
- 花粉症が止まらん
- worker を workflow に typo する
- eva をまだ見てない
石井
- Release 1.0.11 · ddbj/SAPPORO-service
- Sapporo 関連、オンデマンドクラウド関連の作業をしている
- 別件にてわかったこと
- SnakemakeでSGEにジョブをなげて、ジョブスケジューラでジョブがとまっても、Snakemakeは待ち続けるようだ。
- 異常系の処理について本当に大変だなとおもった。
- rm -rf remove
- これ以外の
rm -rf
をしないように、ディレクトリ名をかならず、 remove
にしてから消すようにしています。
- ファイルも基本
remove
にしてから消してます。
- コマンド履歴ってたどっても、必要なファイルを消すことがない(少ない)
松尾
- (仕事のあいまにちょっときました)
- Linuxのコマンドで他によく使ったのは「ps」「top」で、自分の実行したコマンドとかが動いているかの確認をしていました。
- ディレクトリの中身を消してからrmdirする派
- 僕もです!
find . -type f | xargs rm; rmdir $dirname
おおた
那須野
- 年度末の恒例でいろいろ追い込まれている…(先月も同じようなことを言ってた気がする)
- 末竹氏と k8s 検証中
- そういえば、10年前はオフィスが高田馬場(3階建てビルの2階)でしたね。明朝に電車が動き出すまで会社に留まっていました。実家(石巻)に連絡がつかず津波の映像をネットでリアルタイムで見て心配していたのを覚えています。
池田
- ddbj/human-reseqを参考にcwlを作成中…
- ‘broadinstitute/gatk:4.2.0.0’をdocker containerとして利用
- gatk … picardのコマンドでpicardを利用できるのだが..
- picardのオプション指定は相変わらず昔のまま ex.
I=...
のような形