glycoinfo / GlycanBuilder2

7 stars 5 forks source link

Incorrect reducing end of O-glycan templates #32

Closed e15d5605 closed 2 years ago

e15d5605 commented 2 years ago
e15d5605 commented 2 years ago

テンプレートに記録されているO結合型糖鎖のGWSに問題があると考えられる


ocore1      O-glycans       freeEnd--?a1D-GalNAc,p--3b1D-Gal,p                                      O-glycan core 1
ocore2      O-glycans       freeEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p                             O-glycan core 2
ocore3      O-glycans       freeEnd--?a1D-GalNAc,p--3b1D-GlcNAc,p                                       O-glycan core 3
ocore4      O-glycans       freeEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p)--6b1D-GlcNAc,p                              O-glycan core 4
ocore5      O-glycans       freeEnd--?a1D-GalNAc,p--3a1D-GalNAc,p                                       O-glycan core 5
ocore6      O-glycans       freeEnd--?a1D-GalNAc,p--6b1D-GlcNAc,p                                       O-glycan core 6
ocore7      O-glycans       freeEnd--?a1D-GalNAc,p--6a1D-GalNAc,p                                       O-glycan core 7
ocore8      O-glycans       freeEnd--?a1D-GalNAc,p--3a1D-Gal,p                                      O-glycan core 8

freeEndはルートノードが開環構造になっている状態を示す\ 正しい還元末端を表示する場合はredEndでなければならない

e15d5605 commented 2 years ago

Add Structure機能を実行した時に参照された関数に以下の処理を追加している\ TODO: bitbucketのリポジトリを探索する

以下のブロックは選択されたテンプレートがredEndでルートノードが閉環構造であった場合は開環構造に変更している

if(a_oNewStructure.isReducingEnd() && a_oNewStructure.getTypeName().equals("redEnd")) {
    a_oNewStructure.firstChild().setAlditol(true);
    a_oNewStructure.firstChild().setAnomericState('?');
    a_oNewStructure.firstChild().setRingSize('o');
}

この条件が実装されていない場合は以下のような構造が生成される\ image

適切でないイメージを生成しないようにするためにしていたが、テンプレート自体の間違いと考えられるため削除して問題ないと思われる

e15d5605 commented 2 years ago

修正案

core_typesのocore1-8までのGWSを以下のように修正する

ocore1      O-glycans       redEnd--?a1D-GalNAc,p--3b1D-Gal,p                                       O-glycan core 1
ocore2      O-glycans       redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p                              O-glycan core 2
ocore3      O-glycans       redEnd--?a1D-GalNAc,p--3b1D-GlcNAc,p                                        O-glycan core 3
ocore4      O-glycans       redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p)--6b1D-GlcNAc,p                               O-glycan core 4
ocore5      O-glycans       redEnd--?a1D-GalNAc,p--3a1D-GalNAc,p                                        O-glycan core 5
ocore6      O-glycans       redEnd--?a1D-GalNAc,p--6b1D-GlcNAc,p                                        O-glycan core 6
ocore7      O-glycans       redEnd--?a1D-GalNAc,p--6a1D-GalNAc,p                                        O-glycan core 7
ocore8      O-glycans       redEnd--?a1D-GalNAc,p--3a1D-Gal,p   

core_typesの修正をすることで全ての糖鎖構造の還元末端がredEndになるため\ onAddStructureに追加したfreeEndのルートノードを開環に変更する処理も不要となる

e15d5605 commented 2 years ago

core_typesの更新を伴うため、こちらも同時に対応したい

e15d5605 commented 2 years ago

core_typeを変更したO結合型糖鎖を描画したところ、freeEndに結合したルートノードが閉環になっていることを確認した

core image
1 image
2 image
3 image
4 image
5 image
6 image
7 image
8 image
e15d5605 commented 2 years ago

20211216, ブランチにプッシュ済