Open e15d5605 opened 2 years ago
画像とは違うが繰り返し構造の回数が固定されているWURCSは、正規化の過程で繰り返し構造が展開された状態に置き換えられる。\ GlycanBuilder2では扱うことができない情報としてエラーを表示する?または、繰り返し構造ではなく展開された状態の糖鎖構造として置き換えるか?\
この状態の繰り返し構造からWURCSの出力を試みた際にエラーが返されていた。Glycan
からWURCSGraph
への変換過程で正しく構造を定義することができていないと考えられる。
org.glycoinfo.WURCSFramework.util.exchange.WURCSExchangeException: Repeat linkage must have two edges.
at org.glycoinfo.application.glycanbuilder.util.exchange.exporter.GlycanToWURCSGraph.start(GlycanToWURCSGraph.java:106)
at org.glycoinfo.application.glycanbuilder.converterWURCS2.WURCS2Parser.writeGlycan(WURCS2Parser.java:26)
at org.eurocarbdb.application.glycanbuilder.GlycanDocument.toString(GlycanDocument.java:1482)
at org.eurocarbdb.application.glycanbuilder.GlycanDocument.toString(GlycanDocument.java:1461)
at org.eurocarbdb.application.glycanbuilder.GlycanDocument.exportFromStructure(GlycanDocument.java:1296)
at org.eurocarbdb.application.glycanbuilder.GlycanCanvas.onGetStringFromStructure(GlycanCanvas.java:3636)
at org.eurocarbdb.application.glycanbuilder.GlycanCanvas.actionPerformed(GlycanCanvas.java:4177)
at org.eurocarbdb.application.glycanbuilder.GlycanAction.actionPerformed(GlycanAction.java:229)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6636)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6401)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5012)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2762)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
また、繰り返し構造のm/zは???
となっているのだが、この状態だと1325.6196
となっている。m/zが明確なことから6糖のManとして扱われていると判断し、確認のためにMan6の糖鎖構造を描画したがm/zは1293.6297
となっていた。以上のことから、m/zの計算でも構造情報を正しく扱うことができてない疑いがある。
繰り返し構造のMinとMaxはEdgeに組み込まれているだけなので、m/zの計算処理に問題があると思われる。
もし、この問題を修正する場合... GlycanToWURCSGraphの繰り返し構造の変換処理とm/zの計算処理を確認する必要があるか。
GlycanBuilder2で繰り返し構造の繰り返し回数を設定する際に、以下のような条件を選択することができない。
選択した際にエラーメッセージなどが出力されることはないが、以下のように設定される。
SNFGで繰り返し回数が固定されている場合の条件は記載されていないのだが、少なくともGlycanBuilder2の現状の対応は適切ではないと言えるため対応を考える。