-
Notifications
You must be signed in to change notification settings - Fork 0
meeting_20170711
日時: 2017-07-11(火)13:30-
場所: W207
参加: 岡別府、大石、藤澤、児玉、
-
BioProject Validationの実装(23/27)
-
DRA Validationの実装(2/32)
-
スパコンに endpoint を準備 検討資料
-
private tax dump - rdf - import を daily で回す処理構築、import に 20 min 程度かかるので二式切り替え方式 [検討資料]
-
api サーバ本番とテスト環境セットアップ
-
deasy 業務用スパコンアカウント情報共有
-
biosample, bioprojectにobjectカラムを追加する【Todo 岡別府】
-
現状のBioSampleValidationルールのスナップショットをとりバージョン0.9等としてGitHubに保存する。conf等も含めた形で保存する(岡別府)【Todo】
-
ルールのlocationの箇所をXPathに書き直す(岡別府) 【Todo】
-
biosample package の rdf に tsv での提供順情報を持たせる [todo 藤澤]
-
ncbi utility での pubmed id 実在チェックは warning なので、通信エラーになったらその旨を返すようにして 500 エラーでストップさせない biosample rule 11 bioproject rule 14 (児玉) [todo 岡別府]
- 同一カテゴリの複数ファイル送信について
組み合わせが間違えていた場合、不正な要求(400)としてvalidationをせずに返したい
NG例: $ curl -F "biosample=@SSUB000019_1.xml" -F "biosample=@SSUB000019_2.xml" "http://host:port/validation"
だたし、bioprojectやsubmissionのように1つのXMLファイルに複数のオブジェクトが記述されているものは、validationでチェックする - BioSampleValidationの速度と実行状況API
288サンプルでの実測値は8.2秒。最大1000サンプルとしても30秒で返ってくるためAPIの速度としては許容範囲。
ただしDB系の接続や通信系がボトルネックになる環境(ネットワーク遅延)は考えられるので、jobのようにstatusを問い合わせるAPIは持たせた方が良い - APIのバージョンと仕様
APIのURLのバージョンを含める
http://host:port/validation/api/v0.9/{UUID} , http://host:port/validation/api/v1.0/{UUID}
※詳細は藤澤、岡別府、大石で詰める - Annotated sequence Validationについて
既存webappにはAnnotated sequenceについても若干処理の記述がある(tsvであればAnnotated sequenceにする等)。
前回までのAPI検討ではAnnotated sequenceについては想定していないので、組み込むとすれば仕様を検討する
DRA rule 23, 24 Run と Analysis のデータファイル名
「空白を含まない」という緩い規則から「英数字 - _ .」のみから構成に強化
ルール
-
v0_9 ドット使える?
→ 使用可能(開発会議にて確認) -
更新あると 0_9_1 インクリメント
→ セマンティックバージョニングに則り"0.9.0"等とする(開発会議にて決定) -
tax private 版なので validtor からのみアクセスに制限、private であることを示すグラフ名検討
→ 開発会議にて"taxonomy-private"と決定
→ スパコンTの相談、IP 制限、ロードバランサー、web サーバ -
virtuoso は差分更新ができないので切り替え更新
-
t013 にすでにあるので IP 振ってもらう?web サーバたてる必要あり
→ t013 に validator 用 web サーバたてていいか apache or Nginx?SW 開発用サーバを運用に転用していいか? validator 設置サーバをどこに?運用チームがもってるところで?メール送信できる? todo: 来週の運用会議できく → t013 から外部にメール送信できることは確認済み(岡別府) -
深夜に切り替えで全更新、cron 深夜実施
-
管理者、運用チームの管理者アドレス確認
-
メールできるかどうか確認、開発フェーズ
-
死活監視 api、validator virtuoso 使っているサービス全部監、rdf 件数チェックプログラム
-
コーディネータ、藤澤さんにメール通知?通知方法を検討
-
nagios での監視が可能か?
-
運用にのせたときに業務用メールに切り替える
-
E-utility 400 でエラー無視して validation 遂行、virtuoso db 落ちてたら validation できなかった旨のエラーを返す
-
運用管理者には細かい情報を含める、登録者にはみせない
-
guanine に daily dump している private tax dump に t013 からアクセスできるようにする、converter は github public にある [todo 児玉が運用、スパコンTに確認、日次更新の時間も確認、スパコンアカウント w3sw]
-
構築サーバにテスト api サーバ実装、ruby bundler を git pull して build ツールを走らせてもらう [todo: 小菅さん], ruby version 確認 env → 開発会議にてrbenvでRubyインストール
-
rdf 属性の順番 package ごとにインデックス持たせたらよさそう 進捗 50% [藤澤]
-
biosample xml 複数などは api で不正指定として弾く [岡別府]
-
time out 2 min とかに設定してもらう。uuid でステータスを返す、uuid フォルダにファイル置いてステータスを通知、sql キャッシュ
-
疎結合 ステータスを登録システム DB にもってもらう validator は db とかミドルウェアもたない
-
ディレクトリ数 uuid 先頭二文字で整理
-
annotated 消して大丈夫、山本さん togoannotator で機能を吸い上げた(藤澤)
- validator (ruby) を置くサーバ、bp bs dra rdb アクセスできる必要ある
- t013 にすでにあるので IP 振ってもらう?web サーバたてる必要あり
→ t013 に validator 用 web サーバたてていいか apache or Nginx?SW 開発用サーバを運用に転用していいか? validator 設置サーバをどこに?運用チームがもってるところで?メール送信できる? - 死活監視 運用チームの監視システムに載せられる?
- エンドポイントのグラフ名の決定(バージョンとprivate)
OWLにも記述する
@prefix : <http://ddbj.nig.ac.jp/ontologies/biosample#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <http://ddbj.nig.ac.jp/ontologies/biosample> .
<http://ddbj.nig.ac.jp/ontologies/biosample> rdf:type owl:Ontology ;
owl:priorVersion "http://ddbj.nig.ac.jp/ontologies/biosample/0.9.0" ;
owl:versionIRI <http://ddbj.nig.ac.jp/ontologies/biosample/1.0.0> .
- WebAPIのURIのバージョン指定(0.9をどこにするか)
OpenAPIの定義で記述する "basePath": "/api/0.9.0/"
- Annotation Sequence ValidationのAPI仕様
- webappsのAnnotation Sequence Validation関連はすてて良い
- src/annotated_sequence_validatorは開発中
- apiサーバの仕組みでPOSTは実行できるようにしたい
- APIとWeb (APIクライアント)アプリの構成(同一サーバにするか)
- Sinatra APIサーバ 上にプライベートメソッド扱いで実装する
- 認証付きアプリを次期で検討する * API https://ddbj.nig.ac.jp/api/0.9.0/validation/{UUID}
- validatorはgem化して分離した方がいいのか
- lib以下にまとめることを優先して、gemは必須ではない
- コマンドラインで実行の需要はある -tf
- validationのソースコードとクラス構成
- ddbj_validator配下にSinatraサーバの標準のディレクトリ構成で配置する
- ddbj_validator/lib
- ddbj_validator/bin or ddbj_validator/api
- ddbj_validator/conf
7/28(金)スパークルソンの合間 13:30-