Closed e15d5605 closed 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
でなければならない
Add Structure機能を実行した時に参照された関数に以下の処理を追加している\ TODO: bitbucketのリポジトリを探索する
変更前
/**
Add a new structure from a core motif
@param name
the identifier of the core motif
@see CoreDictionary */ public void onAddStructure(String name) { try { Residue a_oNewStructure = CoreDictionary.newCore(name); theDoc.addStructure(a_oNewStructure); } catch (Exception e) { e.getMessage(); } }
変更後
/**
* Add a new structure from a core motif
*
* @param name
* the identifier of the core motif
* @see CoreDictionary
*/
public void onAddStructure(String name) {
try {
Residue a_oNewStructure = CoreDictionary.newCore(name);
if(a_oNewStructure.isReducingEnd() && a_oNewStructure.getTypeName().equals("redEnd")) {
a_oNewStructure.firstChild().setAlditol(true);
a_oNewStructure.firstChild().setAnomericState('?');
a_oNewStructure.firstChild().setRingSize('o');
}
theDoc.addStructure(a_oNewStructure);
} catch (Exception e) {
e.getMessage();
}
}
以下のブロックは選択されたテンプレートがredEnd
でルートノードが閉環構造であった場合は開環構造に変更している
if(a_oNewStructure.isReducingEnd() && a_oNewStructure.getTypeName().equals("redEnd")) {
a_oNewStructure.firstChild().setAlditol(true);
a_oNewStructure.firstChild().setAnomericState('?');
a_oNewStructure.firstChild().setRingSize('o');
}
この条件が実装されていない場合は以下のような構造が生成される\
適切でないイメージを生成しないようにするためにしていたが、テンプレート自体の間違いと考えられるため削除して問題ないと思われる
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
のルートノードを開環に変更する処理も不要となる
core_typeを変更したO結合型糖鎖を描画したところ、freeEnd
に結合したルートノードが閉環になっていることを確認した
core | image |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 |
20211216, ブランチにプッシュ済
Incorrect O-glycan core1
Correct O-glycan core1