glycoinfo / GlycanBuilder2

7 stars 5 forks source link

Cannot draw repeating structure correctly (repeating LacNAc) #49

Open kiyoko opened 2 years ago

kiyoko commented 2 years ago

{Gal(β1-4)GlcNAc(β1-3)}n

When trying to draw this structure in gb.glyconavi.org, I can only get this far:

which ends up with the following WURCS: WURCS=2.0/2,2,2/[a2122h-1b_1-5_2*NCC/3=O][a2112h-1b_1-5]/1-2/a4-b1_a?-b3~n

But it should be: WURCS=2.0/2,2,2/[a2122h-1b_1-5_2*NCC/3=O][a2112h-1b_1-5]/1-2/a4-b1_a1-b3~n

kiyoko commented 2 years ago

image

e15d5605 commented 2 years ago

Slackで報告されていた繰り返し構造を描画して、構造情報がどのような値を保持しているのかを確認した。

image

繰り返しの開始点であるGalNAcを選択したところ、アノマー情報がb、アノマー位置が1、親側の結合位置が?になっていた。一方で、この糖鎖構造をWURCSに変換すると以下のようになる。

WURCS=2.0/2,2,2/[a2112h-1b_1-5_2*NCC/3=O][a2122h-1b_1-5]/1-2/a4-b1_a?-b3~n

aに該当するGalNAcのアノマー位置が1であるにも関わらず、出力されたWURCSはa?-b3~nになっていた。

また、b1-4で結合したGlcNの中央の2糖に繰り返し構造のブラケットを挿入した。

image

image

この繰り返し構造をWURCSに変換すると、以下のものが得られた:

WURCS=2.0/1,4,4/[a2122h-1b_1-5_2*N]/1-1-1-1/a4-b1_b4-c1_c4-d1_b?-c4~n
image

繰り返しの開始位置のGlcNの構造を確認すると、アノマー情報がb、アノマー位置が1、親側の結合位置が4なのに対し、 WURCSの表記はb?-c4~nになっていた。

以上のことから、GlycanからWURCSGraphへ変換する際に、繰り返し構造の開始点の単糖のアノマー位置を正しく参照できていないと考えられる。

e15d5605 commented 2 years ago

報告では以下の構造が上がっていため、同様の繰り返し構造を描画して検証を行った。 image

GlycanBuilder2で繰り返し構造のブラケットを生成する際には、ユーザーが選択した単糖間の結合情報を参照する仕様になっている。例えば、選択した繰り返し構造の終点の単糖の親側の結合位置がb1-4だった場合は、繰り返しのブラケットの親側の結合位置にも4が割り当てられる。

image

image

今回のケースでは単糖間の結合位置が4、繰り返しの結合位置が?になっていることから、以下の手順で編集をしたと考えられる。

  1. 4糖のGlcNの描画

    image
  2. 繰り返しブラケットの挿入

    image
  3. 結合位置の編集

    image

3の結合位置の編集操作で、繰り返しのブラケットの結合位置が編集されずに標準状態の?のままになっていた。キャンバス上のブラケットを選択すると、左のメニューで結合位置の変更が可能である。下図では繰り返しのエンドブラケットを選択した状態での結合位置の編集メニューを表示している。

image

これはシステム上の問題ではないが、GB2の操作方法の周知が不十分であると考えられる。こちらに関しては、後ほどユーザー向けの操作ガイド等を整理する際に検討が必要である。

e15d5605 commented 2 years ago

作業方針

WURCSへの変換機能に問題が見られていることから、GlycanToWURCSGraphの繰り返し構造のオブジェクト変換時の解析処理に問題が見られていると考えられる。このことから、GlycanBuilder2の当該機能の処理を直接修正する方針が考えられる。しかしながら、糖鎖構造の可視化や糖鎖テキストの変換を行うソフトウェアのシステム構成の分割と統合を検討しているため、そちらの作業を踏まえて修正を行う必要がある。これらのことから以下の作業を計画する。

  1. GB2のテキスト変換機能を調査し、システムの構成と不具合が発生している箇所を整理
  2. 種々のテキスト形式の変換機能を切り離し
  3. 切り離したテキスト変換機能のデータ構造の置き換えおよび不具合の修正
  4. 変換用機能の動作確認

TODO: 作業期間を見積もる