Pitagora Meetup 2021-05
概要
- 日時: 2021年05月19日(水) 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 を送る
- その他データ解析に関わる人々の日々の暮らしが豊かになる開発を進める
まとめ
末竹
- Sapporo-web のコード構造とかについて話した
- Vue.js, Nuxt.js 周り
- モダンなフレームワーク的な
- React は辛い気がするって話もでた
- gh-trs の update
大田
- ガッキー、、
- 山中さん誕生日おめでとうございます!!
- DBCLSで使っている BioDB ID 変換appの会議で参加が遅れました
- もうまもなくリリースできる予定、検索が捗る
- SRA download のCWLツールで使えるようになるはず
- ID変換appの更新系を書いたりしています
- https://github.com/dbcls/togoid-config
- CRESTの報告書を……
- typescript, Vue, Nuxt.js 完全に理解した thx to 末竹先生
- Sapporo のデプロイに必要なことをやる
- The Rust book 日本語版をひまなときにちょこちょこ読んでいる
丹生
- cwl-metrics に PR を送った
- Destroy!
- ep3 の cwl-metrics もアップデートした
- そのうち失敗したときのメトリクスフォーマットも定義していきたい
- 実行前の資源確保に失敗した時とかとか
- まだ ep3 は失敗時にはメトリクスを出せないので、個人的な優先順位は低め
- ep3 のクラウド対応のブロッカー群をなんとかしたい
- cwl-inspector がつらい
commandline
がローカル実行にべったり依存
- TES 的な実行コマンド抽象化レイヤーがほしいが、TES では不十分
- 秘伝のタレ化していて怖くて触れなくなっている
- v1.2 など、他バージョンへの対応がほぼ不可能
- 継ぎ足しが多くてテストできない (重要)
- リモートファイルへのアクセスの実装が中途半端
- 動的再構成対応は「リモートの資源もローカルも同じパスに共有ディレクトリを NFS マウントしている」という仮定を置いて実装していた
- file, http(s), ssh, s3 などに対応した scp 的なものを実装すれば Sapporo などの WES レイヤーで吸収できる?
既にありそうだが… Sapporo は既に対応している!
- 再構成用のそれっぽいアルゴリズムが欲しい
- プロジェクトで使っていた賢いやつはライセンスに課題がある
- 実装が楽で効果的なのは?
- cwl-inspector をなんとかしようとしている
- 今は CWL パーサーを手で書いている
- v1.0 のテストをほぼ全パスするくらいには頑張っている
- v1.1 や v1.2 対応は、バージョンごとにパーサーを用意する必要がある
- なんちゃって schema-salad 対応なので準拠度に不安が残る
- cwl-utils を使う方法もあるが、依存関係がさらに増える+ユーザーがインストール時にハマるのが怖い
pip install
させたくない
schema-salad --codegen
だと専用のテスト方法を用意する必要があってつらい
- https://github.com/tom-tan/schema-salad-d
- VCP 普及のための方法を考えていた
- 計算資源のオフローディング?
- 全部込み込みパッケージ?
- ep3, cwl-metrics, VCP, Sapporo, DrillHawk, …
- コンテナ in コンテナを楽ちんにユーザーに行わせる方法がほしい
- compose もソケットマウントもハマりどころが結構ある
- みんなでメトリクスをガンガン集める(ソフトウェアに限らない)仕組みが欲しいところ
- 全部込み込みしてばら撒けばもっと使ってもらいやすいのでは?という雑な認識
- 個別に集めるだけだと、みんなで活用できないのでいまいち
石井
- Intel Macにてdockerにて
- ファクトリーリセットになる(ただし困っていない、後述)
- 保存領域がいっぱいになったらしいメッセージがでた
- 削除したが、相変わらず保存領域が一杯と言われる
- 再起動
- まてどくらせどおわらず、会議のためやむなく、強制電源OFF
- 再度電源をいれる
- dockerたちあがらず
- 再度dockerたちあげようとしたらdockerについてファクトリーリセットをかけるということになる
- dockerをファクトリーリセットする
- イメージなくなる
- 必要だったイメージをビルドしようとしている。
- ビルド完了し実行
- エラー
- メモリがたりないようだったので、ふやして再起動(←イマココ)
- 困らなかった理由
- Dockerfileはじめ、一式全部あるので、ビルドするだけだった。ビルド時間もそんなにかかるようなものでないので、困っていない
- 教訓
- docker ファクトリーリセット後は、CPUや、RAMの割当を確認しておく
- 今回は問題なかったがバックアップは大事
- 必要がないときはrun –rm をつける
- 自分はかならずつけるが、ドキュメントからのコピペじにはつけわすれることがあるので注意する
那須野
- K8s 力の強化のために、Galaxy on Kubernetes を試してみる
- 社内に構築済みの検証用 K8s クラスタを使い、 Galaxy Installation on Kubernetes のチュートリアルに沿ってインストール
helm install
すると、Galaxy 関連の Pod が8個デプロイされるのを確認
- 前提条件として Persistent Volume を作成しておく必要がある。単に
helm install
しただけでは Pod は Running 状態にならない
- Helm chart でデプロイする場合に、事前定義済みの PersistentVolumeClaim を渡すにはどうしたらよいのか?
postgres-pv.yaml
には hostPath を使うように定義されているので、検証用途ならこれを最初に apply して PV を作成しておくのでもよさそう。
- (PV削除
delete pv
ができないのは PVC が残っていたのが原因)
helm delete
では PV や PVC は削除されない(安全)
- Galaxy の Helm Chart (K8sパッケージマネージャに対応する設定ファイル群) が提供されている
- Managing Galaxy on Kubernetes
- ジョブ実行ノードやフロントエンドのWebサーバをスケールさせる方法など
- 関連資料メモ
池田
- SELinux環境化でのcwltool(Dockerを利用した)をいろいろ
- Volume mount時の権限の問題が発生
- 皆さんから色々アドバイスをいただいた
山中
- なにもしていませんでした
- 15分で home-learning favicon だけやろうと思いつつ
鈴木
- GCS Day が 6/21 にやります!応募締め切りは今日!
- https://github.com/haruosuz/metasub
- 豊田市もしくはバンコクでこれをサンプリングします(山中)
- https://www.toyota.co.jp/jpn/hamo/
大石
- たまたまですが、NanoGalaxyを触っています。ローカル環境でのmetagenomicな解析、各種データベースのGalaxyへのインポート、CLでのワークフローの実行など試しているところです。