池田秀也
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    - [2023 年度仕様書](https://docs.google.com/document/d/13kE45FTGZBRfcFOGptQBUjA6soQloPLsngUBNKYSgzc/edit?usp=sharing) - [2022 年度仕様書](https://docs.google.com/document/d/1gsnzoRIzsGJFKShmptgir_F2thqOHu7P/edit) ## 2024-07-22 16:00- ### リリースまでに対応する件 - LABEL2ID - [x] 該当する ID が見つからなかったラベルの表示について 現状では表示されない。 見つからなかったラベルも表示できるようにしたい。Match type は "Unmatched" とする。 EXPLORE モードでのプレビューテーブルの All including unconverted IDs のように、Include unmatched labels のようなのを選択するラジオボタンを作り、切り替えられるようにする。 - [x] Match type が NCBI Gene Symbol の場合の Symbol 列 現在は空欄になっている。重複した情報にはなるが、Symbol で埋めておくようにする。 - [x] Copy to Search ボタンの名前と挙動について。 現状、ID が ID 入力欄にコピーされる。 ボタンの名前を Convert IDs にして、ボタンの挙動を 「ID を入力欄にコピーし、EXPLORE モードで、当該データセットが選択済みの状態にする」とする。 ただし現状では、MONDO の ID 表示が数字だけのものになっており、`MONDO:` か `MONDO_` を付けないと MONDO の ID として認識できない。そこで、次の項目を検討する。 - [x] 表示される ID の形式を、EXPLORE モードのテーブルと同様に選択可能にする ![image](https://hackmd.io/_uploads/rJkHJ02DA.png) ↑ これ。 **下記の、「その他 / prefix なしの用例が想定されないケースについての対応」と合わせて検討する。** - [x] 結果のテーブルの維持 LABEL2ID の結果を表示してから、EXPLORE モードなどにタブを切り替えると、すぐに LABEL2ID に戻っても結果が消去されている。維持することは可能か? - ラベル表示 - [x] (DBCLS) grasp のデータセット名を TogoID と揃える - [x] UI でラベルを表示できるようにする - [x] (新規) 入力 ID のラベルを知りたいだけの場合(= ID 変換が不要な場合)の UI 当初は別タブで分けていた機能。タブを分けるほどの機能ではなさそうなので、下図のような対応をしたい。 ![スクリーンショット 2024-07-08 122833](https://hackmd.io/_uploads/S11xeChD0.png) - 同一データセットペアに対する複数種類の関係の記述 - [x] uniprot -> glytoucan のような、逆向きの場合の変換の修正 現状では uniprot -> glytoucan で得られる 2 種類の結果がいずれも同じになっている。 - AWS - [ ] RDS の Aurora アップグレード バージョン 2 のサポートが 2024 年 10 月に終了予定。3 へのアップグレードが促されている。 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.MajorVersionUpgrade.html#AuroraMySQL.upgrade-prechecks - MySQL8.0系にしないと、12月から月5万円の延長サポート料がかかる計算です 方法1:クラスターごとバージョンアップする → 多分成功しますが、数十分-1時間程度のダウンタイムが発生すると思います。失敗した場合7日間取ってるスナップショットから復元作業することになります → テスト環境では 30 分程度。 新規バージョンデプロイの済んだあと、9 月の上旬辺りに、方法 1 での実行をする。(日程を決める。) 方法2:スナップショットから新たにMySQL8.0を立てて、差し替える → 安全ですが、インポートスクリプト、APIからの接続設定を変えたり、セキュリティグループの再設定などの手間がかかります ダウンタイムを許容できて、インフォ・ラウンジでうまく検証できて大田さんがCloud Formationを実施できるなら1が良さそうです 慎重にやるなら方法2ですが、DBCLSのAWSコンソールを一緒に操作しながら実施する形となります - その他 - [x] copy API URL 大量のデータがありテーブルの表示に時間がかかる場合において、テーブルを待たずに copy API URL などのボタンが表示されてほしい。 - [x] copy API CURL の挙動 コピーされるコマンドが POST になるようにする。 - [x] copy API CURL のボタン名 copy CURL にする。(GraphQL Playground に倣う) - [x] prefix なしの用例が想定されないケースについての対応 例えば MONDO の場合。入力は `MONDO:0000001` または `MONDO_0000001` の形式しか想定していない (dataset.yaml の `regex`)。一方で、出力は prefix なしで `0000001` の形がデフォルトで、プレビューテーブルで適宜 prefix を選択するようになっている。prefix の選択肢は dataset.yaml の `format` にある値で、MONDO の場合 `["MONDO:%s","MONDO_%s"]`。当初は、prefix なしの用例があるデータセットの場合(HGNC など)は `"%s"` をこの配列の値に入れていたが、何か理由があって消して、常に prefix なしがデフォルトになるようにした。経緯を確認したい。 修正案: MONDO の場合は dataset.yaml は現状通り、HGNC の場合は現状の `["HGNC:%s","hgnc:%s"]` を `["%s","HGNC:%s","hgnc:%s"]` に変更して、デフォルトで表示されるのはこの配列の最初の値とし、`"%s"` がこの配列にない場合は prefix なしは表示しない、とする。API は現状通りで、フロントで対応? → HGNC の %s を足す(DBCLS) - [x] (240815 新規) 以下のような変換で、is attached to の UniProt のプレビューを表示すると、一行しか表示されない。この現象は現行版でも発生している。 https://togoid.dbcls.jp.il3c.com/?route=glycomotif%2CTIO_000123%2Cglytoucan%2CTIO_000060%2Cuniprot&ids=G19619KS%2CG03277YI%2CG00037MO%2CG56478LD%2CG00061MO%2CG34881WK%2CG43191LZ%2CG31734OS%2CG98544DH%2CG46677TE%2CG54826OZ ![image](https://hackmd.io/_uploads/H1bcBki9A.png) 最初の GlycoMotif -> GlyTouCan までのところでプレビューを見ると、入力 ID の一番上の G19619KS からつながっている GlyTouCan ID が 100 個以上存在するため、この段階のプレビューでは 1 列目が全て G19619KS となる。 以降のプレビューにおいては、この最初のプレビューで表示される 100 件に対応する行以外が含まれないらしい。このためここから UniProt への変換のプレビューが期待より少なくなる。 これはプレビューだけの問題であり、ダウンロードされるテーブルは問題ない。ただ、場合によってはプレビューが No Results となってしまう。この場合、テーブルのカラム名のスイッチも表示されないので、ダウンロード結果にラベルを含めることができない。 → 抜本的な解決には大がかりな改修が必要になり難しい。今回のリリースでは修正を目指さない。 → 修正できた。 - [x] (240815 新規) `uniprot-pdb` と `pdb-uniprot` のように両側から作っているペアが、UI 上で ERROR になっている。 アルファベット順で後ろになるほう(この場合は `uniprot-pdb`)がエラーになるらしい(pdb から uniprot への変換はできるが逆はできない)。 参照するテーブル名を指定する際に問題が起こっている? 「順方向のテーブルが存在するならばそれを使い、なければ逆向きを使う。」という現行版の仕様に合わせて修正したい。複数種類のリンクがある場合を考慮しても問題なく実現できるか? ## 2024-07-02 14:00- ### 2023 年度開発 #### 2.1.1 同一のデータセットペアに対し複数の関係を記述可能にする #### 2.1.2 ラベルを ID に変換する機能の追加 - 該当する ID が見つからなかったラベルの表示について 現状では表示されない。 見つからなかったラベルも表示できるようにしたい。Match type は "Unmatched" とする。 EXPLORE モードでのプレビューテーブルの All including unconverted IDs のように、Include unmatched labels のようなのを選択するラジオボタンを作り、切り替えられるようにする。 - Match type が NCBI Gene Symbol の場合の Symbol 列 現在は空欄になっている。重複した情報にはなるが、Symbol で埋めておくようにする。 - レスポンス待ちのとき PubDictionaries のレスポンスが遅いことがある。EXECUTE ボタンを押して待機中はぐるぐるを表示する。 → ぐるぐるを表示しようとすると新しい仕組みが必要。EXPLORE モードでのロード待ちと同様、画面上部のプログレスバーを使うことで対応済み。 - threshold NCBI Gene は threshold の指定がない。このような場合は PubDictionaries への問い合わせ時のパラメータ指定で常に threshold=1 とする。 (予期しないマッチを防ぐため。) → 対応済み。 #### show labels - 表示できるデータセットを取得できるようにする 実際に入っているデータセットのリストを確認する - Grasp での名前と togoid での名前を揃えて問題ないか調べる(DBCLS) - rdf-config の仕様上は主語の変数名が小文字始まりなのは受け入れられない。rdf-config はそのままにして、.graphql ファイルを生成してから置換することで対応した。 ### バグ #### 新規 - URL パラメータによる ID 指定機能について コロンなど、URL 中でパーセントエンコードが必要な記号が入力 ID に含まれているとき、再読み込み時にパーセントエンコードされたまま入力欄に入ってしまう。 → 対応済み。 - copy API URL 大量のデータがありテーブルの表示に時間がかかる場合において、テーブルを待たずに copy API URL などのボタンが表示されてほしい。 curl の場合コピーされるコマンドが POST になるようにする。 ## 2024-06-13 11:00- ### 2023 年度開発 #### 2.1.1 同一のデータセットペアに対し複数の関係を記述可能にする UI 実装。 uniprot -> glytoucan のような、逆向きのときの API の処理が違っていたので修正する。 #### 2.1.2 ラベルを ID に変換する機能の追加 MONDO は動いていそう。 NCBI Gene は API 側の準備が完全でないため動いてないが、必要な辞書を揃えたら動くかも。DBCLS 側で作業を進める。 ### バグ修正 #### count API の数字が実際の行数と異なる問題 テーブルの行数のカウントが当てにならないので、[wc 結果の tsv](https://github.com/togoid/togoid-config/blob/main/log/pair_count.tsv) を参照するように変更した。 #### URL が長すぎるときに 413 や 494 エラーが出る 対策は困難。ウェブアプリではなく、curl から POST を使うよう促す。 curl コマンドをコピーするようなボタンを追加する対応を行う。 ### AWS の証明書更新 正確には認証局の更新。コンソールから更新作業を行った。次回は 40 年後。 ## 2024-05-30 16:00- ### 循環検索の許可 循環検索できるようにしてみましたが、経路の数がO^2に比例するようになって組み合わせ爆発になりますね。4段でデフォルトのlimit 10000でも返ってくるかどうかギリギリです。 https://api.togoid.dbcls.jp.il3c.com/convert?route=uniprot,pdb,uniprot,pdb&ids=P00720&report=all&limit=10000 → どこかで爆発して返ってこないのはこのサービスの性質上許容する。次回リリースに含める ### count APIの挙動調整 TIOへの対応に伴い、count APIの実装も調整が必要と気づき、調整を実施した - (既存仕様) https://api.togoid.dbcls.jp.il3c.com/count/glytoucan-uniprot?ids=G00031MO - (is attached to) https://api.togoid.dbcls.jp.il3c.com/count/glytoucan-uniprot?ids=G00031MO&link=TIO_000060 (池田さんいわく既存仕様と件数一緒のはず) - (is processed by) https://api.togoid.dbcls.jp.il3c.com/count/glytoucan-uniprot?ids=G00031MO&link=TIO_000119 ### 機能修正 - NAVIGATE モードでも変換過程の数字が出せるか。 複数経路を比較したいことがあるので、比較のための材料となるように、EXPLORE モードと同様の数字が表示されていたほうがよい。 パフォーマンスへの影響はあるか?ゴールの数字は出ているので、途中経路の数字を拾うようにするだけ? ![image](https://hackmd.io/_uploads/rkG2-oSVC.png) - NAVIGATEモードでは最初と最後をつなぐ変換しかしていないので、途中の変換もAPI呼び出しをしてしまうとかなりのAPIコール数になってしまいそう→一旦見送り - Results テーブルにおいて、Compact かつ Target IDs のときの挙動 現在、全ての変換結果 ID がスペース区切りで 1 行に表示される。 Source and Target IDs の結果の Target 列と同じものであるほうが自然そう。 - 大量変換時の挙動 山本さんから slack で報告されていた件 → インフォ・ラウンジに調査 ### 2.1.2 ラベルを ID に変換する機能の追加 - [仕様詳細説明](https://docs.google.com/presentation/d/1pR4dtC_LSedLRz_x_3QwAJUFM-FNsyldBcX6g74WLS0/edit?usp=sharing) (再掲) - 例: https://pubdictionaries.org/find_ids.json?labels=ATP6|ATP8&dictionaries=togoid_ncbigene_symbol&verbose=true&tags=10090 - labels: 入力 ID のパイプ区切りリスト - dictionaries: dataset.yaml で定義されている辞書名 - tags: 指定された生物種の taxonomy ID - ncbigene の辞書については、取り急ぎ togoid_ncbigene_symbol だけ作ってある。 - この辞書もまだ一部生物種のみ。9606 (human) と 10090 (mouse) が入っている。 - TODO: 各辞書を追加 (池田) ![image](https://hackmd.io/_uploads/BkTjP5HNA.png) - 説明文の表示 Threshold は i アイコンを置いておき、クリックすると説明文が出てくるイメージ。 - Species の選択の部分 "If you cannot find a species in the pulldown list, enter the [Taxonomy ID](https://www.ncbi.nlm.nih.gov/taxonomy) in the right text box." - Threshold "Threshold can be set to a value between 0.5 and 1. When this is set to 1, only exact matched labels are allowed, while lower values allow for less strict matches." ## 2024-05-09 16:00- ### APIで同一のデータセットペアに対する複数の関係に対応する - アプリ側も、複数の関係があれば関係性のラベル文字列だけ変えて複数の変換候補を表示するようにする。添付画像赤枠の箇所が2つに増え、関係性のラベルが"is modified with"などに変わるイメージ ![image](https://hackmd.io/_uploads/r1Kk_x9fA.png) - データ更新用のS3に配置するファイル名の構造は - tsv ├── glytoucan-uniprot-TIO_000060.tsv ├── glytoucan-uniprot-TIO_000119.tsv └── ncbigene-ensembl_gene.tsv ### バグ #### 新規 - All including unconverted IDs - Preview テーブルにおいて、変換先が存在しないかどうかが、Preview の 100 行の中に存在するかどうかで判断されているらしい。 - ダウンロードされるテーブルは大丈夫 - 例: GlyTouCan の example IDs を使って UniProt に変換、All including unconverted IDs を選択した場合。10 個中 6 個は変換先が存在する。Preview の一番上に出てくる 4 個は、正しく変換先がない。Preview の一番下に 3 個の GlyTouCan ID が、変換先がないものとして現れているが、ダウンロードしたテーブルでは変換先が存在している。 - DATASETS タブのページ内リンク - Color Legend の中から特定のカテゴリのラベルをクリックして絞り込んだ時に表示されるデータセットから LINK TO で示されるリンク先のデータセットをクリックすると、同じカテゴリにあるもの以外は、表示されていないので、何も起きない状態になる - 対応案 - リンク先のデータセットをクリックした場合は絞り込みを解除する - EXPLORE や NAVIGATE のタブでデータセットの i ボタンを押したときのようなモーダル表示にする - ページ内リンクが URL パラメータになっているままなので、リロードすると ID 入力欄に含まれてしまう - swagger - not found https://togoid.dbcls.jp/apidoc/ #### 継続 (確認) - PDB ID の大文字小文字対応 (2024-03-13) > 小文字を入力した際、数字は出るがテーブルを表示しようとすると no result となり、結果を取得できない。 - DATASETS の LINK TO に表示されている数字が正しくない (2024-01-18, 2024-02-28) - iPhone/iPad でアクセスするとメニューアイコンが小さくなってしまう問題 (2024-01-18) - 同じデータセットに戻るような変換について (2024-01-18) ### 2023 年度開発 #### 2.1.1 同一のデータセットペアに対し複数の関係を記述可能にする - API は実装 - https://github.com/togoid/togoid-api/pull/119 - フロントはまだ - S3 へのアップロードの仕様の確認 - 現在 - togo-id-production バケットの tsv/ に source-target.tsv の形式でアップロード - 今後 - 関係が複数存在しないものは今まで通り - 関係が複数存在するものは glytoucan-uniprot-TIO_000060.tsv のファイル名 - TODO: 実データで試したいので渡す (池田) #### 2.1.2 ラベルを ID に変換する機能の追加 PubDictionaries の API はバグがあり対応中。来週中を目処 ### 2022 年度開発 #### ID に対するアノテーションを返す UI の開発 (ANNOTATE タブ) GraphQL Endpoint https://rdfportal.org/grasp-togoid > 別のタブとして他の機能から分けたが、変換結果テーブルにカラムとして追加できたほうが使いやすい? ### その他 - 保守 - 保守だけでの発注は DBCLS 側が難しい。 ## 2024-04-12 15:00- ### 2023 年度開発 #### Staging https://release-staging.dk3uz7vg1c486.amplifyapp.com/ - 2.1.4 DATASETS タブに表示するデータセット説明の記述方法の拡大 OK - 2.1.5 更新情報の表示 OK - 2.1.6 URL パラメータによる、ID を入力済みにする仕組み ids=ID1,ID2 で ID 指定 API と同様に、`route` でルート指定 route がデータセット 1 つだけという場合は API にはなかったが、こちらでは先頭だけ選択された状態になる - 2.1.7 NAVIGATE モードの変換先データセットの検索性の向上 OK - バグ対応 - Chrome で %CPU が増える #### 進行中 - 2.1.1 同一のデータセットペアに対し複数の関係を記述可能にする - 2.1.2 ラベルを ID に変換する機能の追加 - PubDictionaries の API はあと 2 週間くらいかかるとのこと。 - Species の選択の部分に説明を書いておきたい。 "If you cannot find a species in the pulldown list, enter the [Taxonomy ID](https://www.ncbi.nlm.nih.gov/taxonomy) in the right text box." - Threshold の説明も考える - 2.1.3 データセット間関係の詳細説明を表示する機能の追加 ### 2024 年度ぶん #### 保守 盛り込む内容を DBCLS 側で固めて仕様書を作成 TogoID グループに IAM ユーザーを作成し、InfoLounge さんに権限を付与。現状のシステムをそちらに移す。 ## 2024-03-28 16:00- ### 2.1.1 同一のデータセットペアに対し複数の関係を記述可能にする - glytoucan-uniprot-TIO_000060, glytoucan-uniprot-TIO_000119という2つのテーブルにする場合のデメリット - glytoucan-uniprot-TIO_000060, glytoucan-uniprot-TIO_000119をUNIONしてクエリしたいようなユースケースに対応するのが実装上難易度が高い - 既存のglytoucan-uniprotテーブルにTIOカラムを足すほうが、上記のニーズに対応できて安心ではないか - 一方、全てのテーブルにTIOカラムを追加しないとスキーマが揃わない。かつTIOがnot nullになるテーブルはごく一部 - 今回の改修においては、下記3つを併存させたい。 - glytoucan-uniprot - glytoucan-uniprot-TIO_000060 - glytoucan-uniprot-TIO_000119 ```json [ { "forward": { "label": "TIO_000060", "display_label": "is attached to" }, "reverse": { "label": "TIO_000061", "display_label": "is modified with" } }, { "forward": { "label": "TIO_000119", "display_label": "is processed by" }, "reverse": { "label": "TIO_000118", "display_label": "processes" } } ] ``` ## 2024-03-13 16:00- ### 2.1.1 同一のデータセットペアに対し複数の関係を記述可能にする 下記を元にシミュレーション https://github.com/togoid/togoid-config/blob/multiple_relations/config/glytoucan-uniprot/config.yaml - MySQLのテーブルとしては glytoucan-uniprot-TIO_000060, glytoucan-uniprot-TIO_000119の2つのテーブルに分割 - TIO_000061など、reverse用パラメータが指定されたときは、、 - 採用)forwardを指定されたときと同じ挙動とする - 不採用)エラーにする? - config.ymlに存在しないパラメータが指定されたときは、、 - エラーにする - config.ymlにlinkキーが複数あるにもかかわらずTIOパラメータが与えられなかった - エラーにする - API利用者が使用できるTIOパラメータを知る方法は? - /config/relation APIを呼び出してconfigを見てもらう - <, >パラメータと併用されてしまったら? - ユースケースとしては考えづらい - テーブル名の指定としての<, >パラメータ処理→その後TIOパラメータを処理すれば良いので、仕様上の困難はなし ### バグ修正 #### 新規 - 入力窓の X ボタン Examples を入力したときには表示される X ボタンが、本入力時には表示されない。 - 一度 Examples を入れて X を出した後は出たままになるらしい - 最初から直接入力窓に手入力やペーストした場合は出ない ![image](https://hackmd.io/_uploads/r10ihJvp6.png) - → 開発環境では治っている。 - PDB ID の大文字小文字対応 小文字を入力した際、数字は出るがテーブルを表示しようとすると no result となり、結果を取得できない。 ![image](https://hackmd.io/_uploads/rJsojJP6p.png) ↓ ![image](https://hackmd.io/_uploads/SkH6iJPpp.png) 小文字対応をやめてもよいが、技術的に問題なければ変換できるようにしたい。 - [Swagger](https://togoid.dbcls.jp/apidoc/) の Try の URL - https://api.togoid.dbcls.jp/ ではなく api が抜けて https://togoid.dbcls.jp/ になっていて、エラーになる ## 2024-02-28 ### UI バグ修正 - DATASETS の LINK TO に表示されている数字が正しくない 数値は変わっているが、やはり[最新の値](https://github.com/togoid/togoid-config/blob/main/log/pair_count.tsv)と少しズレがある ![image](https://hackmd.io/_uploads/rJstuW23p.png) - Submit ボタンを押した時の挙動が変わっている 開発環境にて済 - Swagger のページが表示されない 済 - iPhone/iPad でアクセスするとメニューアイコンが小さくなってしまう問題(小野) まだ ### 2023 年度開発 #### 2.1.2 ラベルを ID に変換する機能の追加 TODO: dataset.yaml の label_resolver の確認をする → 説明用スライドの内容が正しく、dataset.yaml の内容は古いままだったので、更新した。 ### 2022 年度開発 ### その他 - 新規 更新頻度や規模の観点から TogoID にはそぐわないデータセットについて、変換の仕組みだけ TogoID のものを利用できないか?という相談を受けた → 藤澤さんともう少し議論 ## 2024-01-18 ### UI 更新後の動作の問題点 - DATASETS の LINK TO に表示されている数字が正しくない 例えば PDB から Gene Ontology への数字が 1000000 になっているが、これは以前修正したので現在は 1685211 あるはず。 他も[最新の値](https://github.com/togoid/togoid-config/blob/main/log/pair_count.tsv)になっていない。 最近追加された ID も変換はできる(例: PRJNA1046695)ので、DB の更新が失敗しているわけではなさそう。古い数値を書き換えられていないのかもしれない。![](https://hackmd.io/_uploads/Byq6s7aO6.png) - Submit ボタンを押した時の挙動が変わっている ID を入力 → Submit を押す → 入力した ID のデータセットを選択 を一度行った後に、同じデータセットの他の ID を改めて入力窓に入れてから Submit すると、何も出ない状態になっている。 以前は直前の選択が維持されたはず。 - Swagger のページが表示されない https://togoid.dbcls.jp/apidoc/ - iPhone/iPad でアクセスするとメニューアイコンが小さくなってしまう問題(小野) - クリックはできて機能はしているのでアイコンの大きさだけ - こちらは修正できますでしょうか。 - ![IMG_0004](https://hackmd.io/_uploads/BkXH0nlFp.jpg) ### 2023 年度開発 #### 2.1.1 同一のデータセットペアに対し複数の関係を記述可能にする 同じデータセットの組に対して tsv が複数存在しうることになるので、これまでの記法を変える必要がある箇所がある。 config.yaml の変更については前回記述した通り。 - アップロードされる tsv の置き方の変更 - 現在 S3 の togo-id-production バケットの tsv/ ディレクトリに glytoucan-uniprot.tsv のような名前で直接 tsv が置かれており、ファイル名から SQL のテーブル名を決めている - 今後 - 変更案 1 データセットの組ごとにディレクトリを分け、その中で関係の TIO ごとに tsv ファイルが分けられる。 ``` tsv ├── glytoucan-uniprot │ ├── TIO_000060.tsv │ └── TIO_000119.tsv └── ncbigene-ensembl_gene └── TIO_000001.tsv ``` - 変更案 2 ディレクトリはそのまま、tsv 名に TIO を付記する。 ``` tsv ├── glytoucan-uniprot-TIO_000060.tsv ├── glytoucan-uniprot-TIO_000119.tsv └── ncbigene-ensembl_gene-TIO_000001.tsv ``` - どちらでもよいが、ファイル名があまり長いのは好みでないので特になければ案 1 で - API の変更 - 現在 `route=ncbigene,ensembl_gene,uniprot` のようにして route を指定する 例: https://api.togoid.dbcls.jp/convert?ids=5460,6657,9314,4609&route=ncbigene,ensembl_gene,uniprot&format=json route の comma のあとに < とか > とか書くと、両側からペアが作られている場合に向きを指定できる。 - 変更案 1 route パラメータに記述するデータセット名の間に TIO の文字列が入っている場合はパス指定として処理する。 `route=ensembl_gene,uniprot,TIO_000060,glytoucan` - △: データセット名と TIO ID が同じようにカンマ区切りで並んでいるのが気持ち悪い。 - TIO の前後の記号を別のものにすることで意味的に違うことを明示する?暫定的に '+' を使うことに。 - 2つのデータセットを指定したときに、そのデータセット間に定義されている関係全てを表示する API があるとよい。いちいち config.yaml を見に行くのは面倒なので。どちら向きでペアが作られているかの情報、及びそれぞれでペアがいくつ存在するかの情報も取れるとよい。 - TIO が指定されていない場合は全部取る。 - 変更案 2 link パラメータを新設。route パラメータに書かれたデータセット間の関係をカンマ区切りで羅列する。省略したら全部取る。 `route=ensembl_gene,uniprot,glytoucan&link=TIO_000025,TIO_000060` (`TIO_000025` は省略可) - △: どの TIO がどのデータセット間関係に対応しているのかがパッと見でわかりにくい。 - 大半の場合においてペアの関係は 1 通りしかないため、指定しなくてよい場合に面倒にならないようにしたい。 - いずれも、プロパティの向きに関する問題、というか気持ち悪さがある。上記 tsv の置き場所の変更案では、ファイル名かディレクトリ名に forward の TIO を使っており、glytoucan から uniprot の向きが TIO_000060 である。上記の route の例では uniprot から glytoucan への向きで変換しており、意味的には TIO_000061 が正しい。が、TIO_000061 をファイル名やディレクトリ名に使うのは長ったらしいし、これを知るために config.yaml まで見に行くのは面倒。 #### 2.1.2 ラベルを ID に変換する機能の追加 - おさらい - (遺伝子の場合) 同じ文字列が、複数の生物種で遺伝子の名前(Symbol)として使われていることがある。目的の ID に変換するためには生物種まで指定する必要がある。 - 遺伝子の名前として使われる文字列には、メインに使われる Symbol の他に、認められているシノニムなどがある。 - 疾患名などの場合、名称の表記ゆれにも対応したい。 - ラベルを入力し ID を返す API は DBCLS のサービス PubDictionaries を使用。2 列のテーブルをアップロードして問い合わせできる。表記ゆれを許容して変換できる。 - [仕様詳細説明](https://docs.google.com/presentation/d/1pR4dtC_LSedLRz_x_3QwAJUFM-FNsyldBcX6g74WLS0/edit?usp=sharing) #### 2.1.3 データセット間関係の詳細説明を表示する機能の追加 - [config.yaml に description 属性を作った](https://github.com/togoid/togoid-config/blob/multiple_relations/config/chembl_compound-chembl_target/config.yaml#L5)。この値がある場合はこれを表示する。 #### 2.1.4 DATASETS タブに表示するデータセット説明の記述方法の拡大 - [dataset.yaml に description 属性を作り](https://github.com/togoid/togoid-config/blob/main/config/dataset.yaml#L9)、その値として文字列でデータセットの説明を書くようにした。これがあるデータセットの場合はその値を参照するように変更。ない場合は今まで通り。 #### 2.1.5 更新情報の表示 - [文例](https://github.com/togoid/togoid-config/blob/main/docs/news.md) ### 2022 年度開発 #### 2.2 ID に対するアノテーションを返す UI の開発 (ANNOTATE タブ) - GraphQL Endpoint https://rdfportal.org/grasp-togoid - 状況確認? - 別のタブとして他の機能から分けたが、変換結果テーブルにカラムとして追加できたほうが使いやすい? - 追加する方針で。テーブルのデータセット名の横に display label みたいなチェックボックスを置き、オンにするとラベルが出てくる。ダウンロードやコピーは見えているテーブルの状態で。 ### その他 - 同じデータセットに戻るような変換について 当初はこういうケースはないだろうということで、UI 上でできなくした。 しかし、glytoucan → uniprot → glytoucan のようにして、入力の糖鎖が付くタンパク質に他に何が付くのか知りたいということがある。 技術的に問題なければ解禁する。 ## 2023-11-14 ### 保守 AWSをTogoID用に切り出せた◯ AWS移行と保守を来年度頭にお願いする 参考:【AWS】IAM ユーザーに IP 制限 https://tech.kurojica.com/archives/43145/ アプリケーション保守は? - 更新成否のモニター - トラブル対応時のヘルプ - 脆弱性対応のためのモジュール、ライブラリのアップデート - 定常運用はDBCLS ### AWS 更新フロー動作異常? その後? 原因は不明だが、正常化 ### 報告用アクセスログ(aw-stats) が2023年5月からとれてない問題 ## 2023-10-27 ### 2022 年度分開発 - 昨年度仕様書 https://docs.google.com/document/d/1gsnzoRIzsGJFKShmptgir_F2thqOHu7P/edit - Annotate 機能(ラベル表示機能)をリリースするために、Grasp サーバーの https 対応が必要 - 現在暫定で動いている http://ep.dbcls.jp/grasp-togoid/ を https 対応させるのではなく、AWS 上で動かして https://togoid.dbcls.jp/grasp/ とかの URL で公開する方針になった。 - が、これを全く進められていないのでなるべく早く対応する必要がある。 - https://rdfportal.org 上で仮に使用できるようにして、テストを進める。 - RDF がないデータセットのラベル表示対応 - togoid-config で ID とラベルだけの turtle を出力する仕組みを作った。可能なものに関してはある程度揃ってきている。 - https://docs.google.com/spreadsheets/d/16I2HJCpDBeoencNmzfW576q73LIciTMZOCrD7PjtXS4/edit?pli=1#gid=1366832518 - もう少し進められるが、ここをネックとは考えなくてよさそう。 - [TODO]Annotateタブ以外の機能を本番環境にmergeしてもらう(インフォラウンジさん) - DBの確認などが必要 ### 2023 年度仕様補足 - [仕様書案](https://docs.google.com/document/d/13kE45FTGZBRfcFOGptQBUjA6soQloPLsngUBNKYSgzc/edit?usp=sharing) #### 2.1.1 同一のデータセットペアに対し複数の関係を記述可能にする - togoid-config レポジトリの config/ ディレクトリ以下の構成 config の各ディレクトリ 頻繁に出入りするので、これを glytoucan-TIO_000060-uniprot とかに変えるのは不便 config.yaml に複数の関係を記述するようにするのが一案 ```yaml - link: forward: TIO_000060 reverse: TIO_000061 file: sample_TIO_000060.tsv update: frequency: threeTimesAYear method: sparql_csv2tsv.sh query1.rq https://ts.glycosmos.org/sparql - link: forward: TIO_000160 reverse: TIO_000161 file: sample_TIO_000160.tsv update: frequency: threeTimesAYear method: sparql_csv2tsv.sh query2.rq https://ts.glycosmos.org/sparql ``` - 出力される tsv や ttl の名前 - glytoucan-TIO_000060-uniprot.tsv などにする案 tsv の名前とディレクトリ名が一致しなくなる 長い - ディレクトリ名で分ける案 `output/tsv/glytoucan-uniprot/TIO_000060/pair.tsv` - より良い案? - UI - glytoucan-uniprot のような例(選択肢が 2 つ)では、従来の UI のまま各ルートがプロパティのラベルで区別されているだけでもよさそう。 - clinvar-medgen のような例(選択肢が 5 ~)も対応するなら、並べると数が増えるので、プロパティラベル部分をプルダウンメニューにしてチェックボックスで選ぶとか - ui上はpredicateが選択できるようになるもしくは列挙するイメージ - 列挙すると数が多い場合に膨らむが、パッと見で複数あることがわかりやすいし数の比較もできる - API #### 2.1.2 ラベルを ID に変換する機能の追加 - 遺伝子シンボルを ID に変換したいという要望が多いが、以下の理由により既存の仕組みでは対応できない - 同一の文字列が複数の生物種でシンボルとして使われているため、生物種まで指定しないと目的の遺伝子 ID を一意に決められない - シンボルは変更されることが多い。古いシンボルもデータベースは保持しているが、ユーザーは手持ちのシンボルのリストのうちどれが古いかわからない 参考: [Multi-symbol checker](https://www.genenames.org/tools/multi-symbol-checker/) (ヒト遺伝子のみだが、現行のシンボル、古いシンボル、その他シノニムとして認めているもの、を一括で検索して変換) - シンボルのリスト、シンボルとエントリーの関係のリスト(現行のシンボル、シノニム)、生物種、を指定して、対応する ID を取ってくる SPARQList - http://ep.dbcls.jp/togoid/sparqlist/label2id_ncbigene - 同様の仕組みで、疾患名->疾患 ID の変換も行いたい。PubDictionaries を使えば表記ゆれにも対応できる。 - 例: https://pubdictionaries.org/find_ids?labels=uterine+cervi&threshold=0.5&verbose=true&dictionaries=UBERON-AE&commit=Submit - 現状はUBERONが使える。それ以外はDBCLS側で用意する必要あり dataset.yaml の変更案を考える(池田) #### 2.1.5 更新情報の表示 - [TODO]デザインを考えるためにサンプルの文章をいくつか用意する(DBCLS) #### 保守も盛り込むか AWSをTogoID用に切り出せるか ### AWS 更新フロー動作異常? 通常 8 時間程度で終わっている AWS 上の更新フローが、今回は 4 日経って終わっていない。 直近の更新でテーブルの数は 8 個増えたが、ペア数が極端に増えたわけではないので、何か想定外のことが起きているかも - インフォラウンジさん側ではAWSにアクセスできない - 後日、大田さん交えて対応を協議する

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    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

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully