@datagrok/helm 2.13.7 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CREDITS.md +164 -0
- package/dist/489.js +2 -0
- package/dist/489.js.map +1 -0
- package/dist/package-test.js +1 -1
- package/dist/package-test.js.map +1 -1
- package/dist/package.js +1 -1
- package/dist/package.js.map +1 -1
- package/files/samples/helm-showcase.csv +56 -0
- package/package.json +6 -10
- package/src/helm-helper.ts +61 -413
- package/src/package-api.ts +14 -11
- package/src/package-test.ts +0 -2
- package/src/package-utils.ts +8 -298
- package/src/package.g.ts +2 -8
- package/src/package.ts +11 -31
- package/src/tests/helm-activity-cliffs.ts +2 -2
- package/src/tests/helm-input-tests.ts +83 -0
- package/src/tests/parse-helm-tests.ts +7 -57
- package/src/tests/properties-widget-tests.ts +21 -11
- package/src/utils/helm-grid-cell-renderer.ts +141 -151
- package/src/utils/index.ts +3 -7
- package/src/widgets/helm-input.ts +42 -12
- package/src/widgets/properties-widget.ts +18 -11
- package/test-console-output-1.log +103 -706
- package/test-record-1.mp4 +0 -0
- package/webpack.config.js +1 -12
- package/dist/455.js +0 -2
- package/dist/455.js.map +0 -1
- package/dist/package-dojo.js +0 -2
- package/dist/package-dojo.js.map +0 -1
- package/helm/JSDraw/Pistoia.HELM-uncompressed.js +0 -9694
- package/helm/JSDraw/ReadMe.txt +0 -8
- package/helm/JSDraw/Scilligence.JSDraw2.Lite-uncompressed.js +0 -31126
- package/helm/dojo/package.ts +0 -41
- package/helm/dojo/types.ts +0 -12
- package/src/helm-web-editor.ts +0 -68
- package/src/tests/get-monomer-tests.ts +0 -214
- package/src/tests/helm-service-tests.ts +0 -98
- package/src/types/dojo.ts +0 -3
- package/src/types/index.ts +0 -5
- package/src/utils/get-monomer.ts +0 -90
- package/src/utils/helm-service.ts +0 -166
- package/vendor/dojo-1.10.10/dijit/BackgroundIframe.js +0 -63
- package/vendor/dojo-1.10.10/dijit/BackgroundIframe.js.uncompressed.js +0 -116
- package/vendor/dojo-1.10.10/dijit/Destroyable.js +0 -35
- package/vendor/dojo-1.10.10/dijit/Destroyable.js.uncompressed.js +0 -83
- package/vendor/dojo-1.10.10/dijit/Tooltip.js +0 -240
- package/vendor/dojo-1.10.10/dijit/Tooltip.js.uncompressed.js +0 -612
- package/vendor/dojo-1.10.10/dijit/Viewport.js +0 -44
- package/vendor/dojo-1.10.10/dijit/Viewport.js.uncompressed.js +0 -87
- package/vendor/dojo-1.10.10/dijit/WidgetSet.js +0 -76
- package/vendor/dojo-1.10.10/dijit/WidgetSet.js.uncompressed.js +0 -247
- package/vendor/dojo-1.10.10/dijit/_AttachMixin.js +0 -94
- package/vendor/dojo-1.10.10/dijit/_AttachMixin.js.uncompressed.js +0 -238
- package/vendor/dojo-1.10.10/dijit/_Contained.js +0 -17
- package/vendor/dojo-1.10.10/dijit/_Contained.js.uncompressed.js +0 -56
- package/vendor/dojo-1.10.10/dijit/_Container.js +0 -47
- package/vendor/dojo-1.10.10/dijit/_Container.js.uncompressed.js +0 -108
- package/vendor/dojo-1.10.10/dijit/_CssStateMixin.js +0 -198
- package/vendor/dojo-1.10.10/dijit/_CssStateMixin.js.uncompressed.js +0 -372
- package/vendor/dojo-1.10.10/dijit/_FocusMixin.js +0 -11
- package/vendor/dojo-1.10.10/dijit/_FocusMixin.js.uncompressed.js +0 -66
- package/vendor/dojo-1.10.10/dijit/_HasDropDown.js +0 -188
- package/vendor/dojo-1.10.10/dijit/_HasDropDown.js.uncompressed.js +0 -472
- package/vendor/dojo-1.10.10/dijit/_OnDijitClickMixin.js +0 -8
- package/vendor/dojo-1.10.10/dijit/_OnDijitClickMixin.js.uncompressed.js +0 -31
- package/vendor/dojo-1.10.10/dijit/_TemplatedMixin.js +0 -90
- package/vendor/dojo-1.10.10/dijit/_TemplatedMixin.js.uncompressed.js +0 -205
- package/vendor/dojo-1.10.10/dijit/_Widget.js +0 -66
- package/vendor/dojo-1.10.10/dijit/_Widget.js.uncompressed.js +0 -352
- package/vendor/dojo-1.10.10/dijit/_WidgetBase.js +0 -353
- package/vendor/dojo-1.10.10/dijit/_WidgetBase.js.uncompressed.js +0 -1200
- package/vendor/dojo-1.10.10/dijit/_base/focus.js +0 -68
- package/vendor/dojo-1.10.10/dijit/_base/focus.js.uncompressed.js +0 -207
- package/vendor/dojo-1.10.10/dijit/_base/manager.js +0 -10
- package/vendor/dojo-1.10.10/dijit/_base/manager.js.uncompressed.js +0 -35
- package/vendor/dojo-1.10.10/dijit/_base/place.js +0 -52
- package/vendor/dojo-1.10.10/dijit/_base/place.js.uncompressed.js +0 -131
- package/vendor/dojo-1.10.10/dijit/_base/popup.js +0 -23
- package/vendor/dojo-1.10.10/dijit/_base/popup.js.uncompressed.js +0 -58
- package/vendor/dojo-1.10.10/dijit/_base/scroll.js +0 -6
- package/vendor/dojo-1.10.10/dijit/_base/scroll.js.uncompressed.js +0 -22
- package/vendor/dojo-1.10.10/dijit/_base/sniff.js +0 -3
- package/vendor/dojo-1.10.10/dijit/_base/sniff.js.uncompressed.js +0 -12
- package/vendor/dojo-1.10.10/dijit/_base/typematic.js +0 -3
- package/vendor/dojo-1.10.10/dijit/_base/typematic.js.uncompressed.js +0 -10
- package/vendor/dojo-1.10.10/dijit/_base/wai.js +0 -32
- package/vendor/dojo-1.10.10/dijit/_base/wai.js.uncompressed.js +0 -109
- package/vendor/dojo-1.10.10/dijit/_base/window.js +0 -6
- package/vendor/dojo-1.10.10/dijit/_base/window.js.uncompressed.js +0 -18
- package/vendor/dojo-1.10.10/dijit/_base.js +0 -4
- package/vendor/dojo-1.10.10/dijit/_base.js.uncompressed.js +0 -27
- package/vendor/dojo-1.10.10/dijit/a11y.js +0 -109
- package/vendor/dojo-1.10.10/dijit/a11y.js.uncompressed.js +0 -191
- package/vendor/dojo-1.10.10/dijit/a11yclick.js +0 -66
- package/vendor/dojo-1.10.10/dijit/a11yclick.js.uncompressed.js +0 -139
- package/vendor/dojo-1.10.10/dijit/focus.js +0 -188
- package/vendor/dojo-1.10.10/dijit/focus.js.uncompressed.js +0 -371
- package/vendor/dojo-1.10.10/dijit/form/Button.js +0 -49
- package/vendor/dojo-1.10.10/dijit/form/Button.js.uncompressed.js +0 -130
- package/vendor/dojo-1.10.10/dijit/form/ComboBox.js +0 -4
- package/vendor/dojo-1.10.10/dijit/form/ComboBox.js.uncompressed.js +0 -27
- package/vendor/dojo-1.10.10/dijit/form/ComboButton.js +0 -21
- package/vendor/dojo-1.10.10/dijit/form/ComboButton.js.uncompressed.js +0 -86
- package/vendor/dojo-1.10.10/dijit/form/DropDownButton.js +0 -38
- package/vendor/dojo-1.10.10/dijit/form/DropDownButton.js.uncompressed.js +0 -102
- package/vendor/dojo-1.10.10/dijit/form/ToggleButton.js +0 -7
- package/vendor/dojo-1.10.10/dijit/form/ToggleButton.js.uncompressed.js +0 -26
- package/vendor/dojo-1.10.10/dijit/form/_ButtonMixin.js +0 -50
- package/vendor/dojo-1.10.10/dijit/form/_ButtonMixin.js.uncompressed.js +0 -116
- package/vendor/dojo-1.10.10/dijit/form/_FormValueMixin.js +0 -26
- package/vendor/dojo-1.10.10/dijit/form/_FormValueMixin.js.uncompressed.js +0 -81
- package/vendor/dojo-1.10.10/dijit/form/_FormValueWidget.js +0 -24
- package/vendor/dojo-1.10.10/dijit/form/_FormValueWidget.js.uncompressed.js +0 -51
- package/vendor/dojo-1.10.10/dijit/form/_FormWidget.js +0 -22
- package/vendor/dojo-1.10.10/dijit/form/_FormWidget.js.uncompressed.js +0 -67
- package/vendor/dojo-1.10.10/dijit/form/_FormWidgetMixin.js +0 -111
- package/vendor/dojo-1.10.10/dijit/form/_FormWidgetMixin.js.uncompressed.js +0 -254
- package/vendor/dojo-1.10.10/dijit/form/_ToggleButtonMixin.js +0 -32
- package/vendor/dojo-1.10.10/dijit/form/_ToggleButtonMixin.js.uncompressed.js +0 -69
- package/vendor/dojo-1.10.10/dijit/hccss.js +0 -9
- package/vendor/dojo-1.10.10/dijit/hccss.js.uncompressed.js +0 -21
- package/vendor/dojo-1.10.10/dijit/layout/AccordionContainer.js +0 -215
- package/vendor/dojo-1.10.10/dijit/layout/AccordionContainer.js.uncompressed.js +0 -550
- package/vendor/dojo-1.10.10/dijit/layout/AccordionPane.js +0 -7
- package/vendor/dojo-1.10.10/dijit/layout/AccordionPane.js.uncompressed.js +0 -25
- package/vendor/dojo-1.10.10/dijit/layout/ContentPane.js +0 -235
- package/vendor/dojo-1.10.10/dijit/layout/ContentPane.js.uncompressed.js +0 -653
- package/vendor/dojo-1.10.10/dijit/layout/StackContainer.js +0 -171
- package/vendor/dojo-1.10.10/dijit/layout/StackContainer.js.uncompressed.js +0 -411
- package/vendor/dojo-1.10.10/dijit/layout/StackController.js +0 -194
- package/vendor/dojo-1.10.10/dijit/layout/StackController.js.uncompressed.js +0 -410
- package/vendor/dojo-1.10.10/dijit/layout/_ContentPaneResizeMixin.js +0 -99
- package/vendor/dojo-1.10.10/dijit/layout/_ContentPaneResizeMixin.js.uncompressed.js +0 -236
- package/vendor/dojo-1.10.10/dijit/layout/_LayoutWidget.js +0 -47
- package/vendor/dojo-1.10.10/dijit/layout/_LayoutWidget.js.uncompressed.js +0 -190
- package/vendor/dojo-1.10.10/dijit/layout/utils.js +0 -77
- package/vendor/dojo-1.10.10/dijit/layout/utils.js.uncompressed.js +0 -151
- package/vendor/dojo-1.10.10/dijit/main.js +0 -4
- package/vendor/dojo-1.10.10/dijit/main.js.uncompressed.js +0 -16
- package/vendor/dojo-1.10.10/dijit/nls/dijit-all_en-us.js +0 -2
- package/vendor/dojo-1.10.10/dijit/nls/dijit-all_en-us.js.uncompressed.js +0 -21
- package/vendor/dojo-1.10.10/dijit/nls/loading.js +0 -2
- package/vendor/dojo-1.10.10/dijit/nls/loading.js.uncompressed.js +0 -47
- package/vendor/dojo-1.10.10/dijit/place.js +0 -142
- package/vendor/dojo-1.10.10/dijit/place.js.uncompressed.js +0 -407
- package/vendor/dojo-1.10.10/dijit/popup.js +0 -162
- package/vendor/dojo-1.10.10/dijit/popup.js.uncompressed.js +0 -441
- package/vendor/dojo-1.10.10/dijit/registry.js +0 -79
- package/vendor/dojo-1.10.10/dijit/registry.js.uncompressed.js +0 -159
- package/vendor/dojo-1.10.10/dijit/selection.js +0 -364
- package/vendor/dojo-1.10.10/dijit/selection.js.uncompressed.js +0 -525
- package/vendor/dojo-1.10.10/dijit/typematic.js +0 -96
- package/vendor/dojo-1.10.10/dijit/typematic.js.uncompressed.js +0 -211
- package/vendor/dojo-1.10.10/dojo/NodeList-manipulate.js +0 -195
- package/vendor/dojo-1.10.10/dojo/NodeList-manipulate.js.uncompressed.js +0 -761
- package/vendor/dojo-1.10.10/dojo/Stateful.js +0 -90
- package/vendor/dojo-1.10.10/dojo/Stateful.js.uncompressed.js +0 -218
- package/vendor/dojo-1.10.10/dojo/_base/url.js +0 -87
- package/vendor/dojo-1.10.10/dojo/_base/url.js.uncompressed.js +0 -109
- package/vendor/dojo-1.10.10/dojo/cache.js +0 -9
- package/vendor/dojo-1.10.10/dojo/cache.js.uncompressed.js +0 -7
- package/vendor/dojo-1.10.10/dojo/colors.js +0 -74
- package/vendor/dojo-1.10.10/dojo/colors.js.uncompressed.js +0 -232
- package/vendor/dojo-1.10.10/dojo/cookie.js +0 -48
- package/vendor/dojo-1.10.10/dojo/cookie.js.uncompressed.js +0 -98
- package/vendor/dojo-1.10.10/dojo/date/stamp.js +0 -82
- package/vendor/dojo-1.10.10/dojo/date/stamp.js.uncompressed.js +0 -144
- package/vendor/dojo-1.10.10/dojo/dojo.js +0 -7
- package/vendor/dojo-1.10.10/dojo/dojo.js.uncompressed.js +0 -18680
- package/vendor/dojo-1.10.10/dojo/fx/Toggler.js +0 -27
- package/vendor/dojo-1.10.10/dojo/fx/Toggler.js.uncompressed.js +0 -101
- package/vendor/dojo-1.10.10/dojo/fx/easing.js +0 -165
- package/vendor/dojo-1.10.10/dojo/fx/easing.js.uncompressed.js +0 -276
- package/vendor/dojo-1.10.10/dojo/fx.js +0 -271
- package/vendor/dojo-1.10.10/dojo/fx.js.uncompressed.js +0 -443
- package/vendor/dojo-1.10.10/dojo/hccss.js +0 -26
- package/vendor/dojo-1.10.10/dojo/hccss.js.uncompressed.js +0 -52
- package/vendor/dojo-1.10.10/dojo/html.js +0 -161
- package/vendor/dojo-1.10.10/dojo/html.js.uncompressed.js +0 -370
- package/vendor/dojo-1.10.10/dojo/io/iframe.js +0 -71
- package/vendor/dojo-1.10.10/dojo/io/iframe.js.uncompressed.js +0 -190
- package/vendor/dojo-1.10.10/dojo/io/script.js +0 -112
- package/vendor/dojo-1.10.10/dojo/io/script.js.uncompressed.js +0 -280
- package/vendor/dojo-1.10.10/dojo/parser.js +0 -437
- package/vendor/dojo-1.10.10/dojo/parser.js.uncompressed.js +0 -915
- package/vendor/dojo-1.10.10/dojo/promise/all.js +0 -59
- package/vendor/dojo-1.10.10/dojo/promise/all.js.uncompressed.js +0 -77
- package/vendor/dojo-1.10.10/dojo/regexp.js +0 -32
- package/vendor/dojo-1.10.10/dojo/regexp.js.uncompressed.js +0 -70
- package/vendor/dojo-1.10.10/dojo/request/iframe.js +0 -291
- package/vendor/dojo-1.10.10/dojo/request/iframe.js.uncompressed.js +0 -438
- package/vendor/dojo-1.10.10/dojo/request/script.js +0 -129
- package/vendor/dojo-1.10.10/dojo/request/script.js.uncompressed.js +0 -237
- package/vendor/dojo-1.10.10/dojo/require.js +0 -11
- package/vendor/dojo-1.10.10/dojo/require.js.uncompressed.js +0 -7
- package/vendor/dojo-1.10.10/dojo/resources/blank.gif +0 -0
- package/vendor/dojo-1.10.10/dojo/string.js +0 -67
- package/vendor/dojo-1.10.10/dojo/string.js.uncompressed.js +0 -181
- package/vendor/dojo-1.10.10/dojo/touch.js +0 -191
- package/vendor/dojo-1.10.10/dojo/touch.js.uncompressed.js +0 -468
- package/vendor/dojo-1.10.10/dojo/uacss.js +0 -36
- package/vendor/dojo-1.10.10/dojo/uacss.js.uncompressed.js +0 -85
- package/vendor/dojo-1.10.10/dojo/window.js +0 -141
- package/vendor/dojo-1.10.10/dojo/window.js.uncompressed.js +0 -241
- package/vendor/dojo-1.10.10/dojox/charting/Chart.js +0 -626
- package/vendor/dojo-1.10.10/dojox/charting/Chart.js.uncompressed.js +0 -1220
- package/vendor/dojo-1.10.10/dojox/charting/Chart2D.js +0 -5
- package/vendor/dojo-1.10.10/dojox/charting/Chart2D.js.uncompressed.js +0 -16
- package/vendor/dojo-1.10.10/dojox/charting/Element.js +0 -247
- package/vendor/dojo-1.10.10/dojox/charting/Element.js.uncompressed.js +0 -402
- package/vendor/dojo-1.10.10/dojox/charting/Series.js +0 -24
- package/vendor/dojo-1.10.10/dojox/charting/Series.js.uncompressed.js +0 -58
- package/vendor/dojo-1.10.10/dojox/charting/SimpleTheme.js +0 -191
- package/vendor/dojo-1.10.10/dojox/charting/SimpleTheme.js.uncompressed.js +0 -577
- package/vendor/dojo-1.10.10/dojox/charting/Theme.js +0 -42
- package/vendor/dojo-1.10.10/dojox/charting/Theme.js.uncompressed.js +0 -120
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Base.js +0 -11
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Base.js.uncompressed.js +0 -36
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Highlight.js +0 -77
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Highlight.js.uncompressed.js +0 -144
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Magnify.js +0 -58
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Magnify.js.uncompressed.js +0 -123
- package/vendor/dojo-1.10.10/dojox/charting/action2d/MoveSlice.js +0 -54
- package/vendor/dojo-1.10.10/dojox/charting/action2d/MoveSlice.js.uncompressed.js +0 -124
- package/vendor/dojo-1.10.10/dojox/charting/action2d/PlotAction.js +0 -28
- package/vendor/dojo-1.10.10/dojox/charting/action2d/PlotAction.js.uncompressed.js +0 -74
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Tooltip.js +0 -116
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Tooltip.js.uncompressed.js +0 -178
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/Base.js +0 -24
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/Base.js.uncompressed.js +0 -83
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/Default.js +0 -557
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/Default.js.uncompressed.js +0 -980
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/Invisible.js +0 -65
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/Invisible.js.uncompressed.js +0 -224
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/common.js +0 -91
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/common.js.uncompressed.js +0 -164
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Areas.js +0 -7
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Areas.js.uncompressed.js +0 -14
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bars.js +0 -168
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bars.js.uncompressed.js +0 -311
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Base.js +0 -61
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Base.js.uncompressed.js +0 -161
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bubble.js +0 -141
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bubble.js.uncompressed.js +0 -242
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Candlesticks.js +0 -126
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Candlesticks.js.uncompressed.js +0 -243
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/CartesianBase.js +0 -108
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/CartesianBase.js.uncompressed.js +0 -290
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredBars.js +0 -13
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredBars.js.uncompressed.js +0 -14
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredColumns.js +0 -13
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredColumns.js.uncompressed.js +0 -14
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Columns.js +0 -153
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Columns.js.uncompressed.js +0 -249
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Default.js +0 -253
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Default.js.uncompressed.js +0 -472
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Grid.js +0 -182
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Grid.js.uncompressed.js +0 -356
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Lines.js +0 -6
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Lines.js.uncompressed.js +0 -12
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Markers.js +0 -6
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Markers.js.uncompressed.js +0 -12
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/MarkersOnly.js +0 -7
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/MarkersOnly.js.uncompressed.js +0 -13
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/OHLC.js +0 -110
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/OHLC.js.uncompressed.js +0 -208
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Pie.js +0 -303
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Pie.js.uncompressed.js +0 -547
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Scatter.js +0 -134
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Scatter.js.uncompressed.js +0 -207
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Spider.js +0 -299
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Spider.js.uncompressed.js +0 -537
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Stacked.js +0 -24
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Stacked.js.uncompressed.js +0 -44
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedAreas.js +0 -7
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedAreas.js.uncompressed.js +0 -14
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedBars.js +0 -22
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedBars.js.uncompressed.js +0 -33
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedColumns.js +0 -20
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedColumns.js.uncompressed.js +0 -31
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedLines.js +0 -6
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedLines.js.uncompressed.js +0 -12
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/_PlotEvents.js +0 -68
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/_PlotEvents.js.uncompressed.js +0 -120
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/common.js +0 -209
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/common.js.uncompressed.js +0 -214
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/commonStacked.js +0 -76
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/commonStacked.js.uncompressed.js +0 -77
- package/vendor/dojo-1.10.10/dojox/charting/scaler/common.js +0 -59
- package/vendor/dojo-1.10.10/dojox/charting/scaler/common.js.uncompressed.js +0 -70
- package/vendor/dojo-1.10.10/dojox/charting/scaler/linear.js +0 -220
- package/vendor/dojo-1.10.10/dojox/charting/scaler/linear.js.uncompressed.js +0 -262
- package/vendor/dojo-1.10.10/dojox/charting/scaler/primitive.js +0 -23
- package/vendor/dojo-1.10.10/dojox/charting/scaler/primitive.js.uncompressed.js +0 -36
- package/vendor/dojo-1.10.10/dojox/charting/themes/Claro.js +0 -39
- package/vendor/dojo-1.10.10/dojox/charting/themes/Claro.js.uncompressed.js +0 -106
- package/vendor/dojo-1.10.10/dojox/charting/themes/Wetland.js +0 -5
- package/vendor/dojo-1.10.10/dojox/charting/themes/Wetland.js.uncompressed.js +0 -12
- package/vendor/dojo-1.10.10/dojox/charting/themes/common.js +0 -4
- package/vendor/dojo-1.10.10/dojox/charting/themes/common.js.uncompressed.js +0 -3
- package/vendor/dojo-1.10.10/dojox/charting/widget/Legend.js +0 -102
- package/vendor/dojo-1.10.10/dojox/charting/widget/Legend.js.uncompressed.js +0 -165
- package/vendor/dojo-1.10.10/dojox/color/Palette.js +0 -163
- package/vendor/dojo-1.10.10/dojox/color/Palette.js.uncompressed.js +0 -460
- package/vendor/dojo-1.10.10/dojox/color/_base.js +0 -174
- package/vendor/dojo-1.10.10/dojox/color/_base.js.uncompressed.js +0 -196
- package/vendor/dojo-1.10.10/dojox/gfx/_base.js +0 -253
- package/vendor/dojo-1.10.10/dojox/gfx/_base.js.uncompressed.js +0 -1024
- package/vendor/dojo-1.10.10/dojox/gfx/fx.js +0 -297
- package/vendor/dojo-1.10.10/dojox/gfx/fx.js.uncompressed.js +0 -350
- package/vendor/dojo-1.10.10/dojox/gfx/gradutils.js +0 -63
- package/vendor/dojo-1.10.10/dojox/gfx/gradutils.js.uncompressed.js +0 -91
- package/vendor/dojo-1.10.10/dojox/gfx/matrix.js +0 -170
- package/vendor/dojo-1.10.10/dojox/gfx/matrix.js.uncompressed.js +0 -501
- package/vendor/dojo-1.10.10/dojox/gfx/path.js +0 -319
- package/vendor/dojo-1.10.10/dojox/gfx/path.js.uncompressed.js +0 -478
- package/vendor/dojo-1.10.10/dojox/gfx/shape.js +0 -459
- package/vendor/dojo-1.10.10/dojox/gfx/shape.js.uncompressed.js +0 -1091
- package/vendor/dojo-1.10.10/dojox/gfx/svg.js +0 -662
- package/vendor/dojo-1.10.10/dojox/gfx/svg.js.uncompressed.js +0 -1023
- package/vendor/dojo-1.10.10/dojox/gfx/utils.js +0 -199
- package/vendor/dojo-1.10.10/dojox/gfx/utils.js.uncompressed.js +0 -322
- package/vendor/dojo-1.10.10/dojox/gfx.js +0 -2
- package/vendor/dojo-1.10.10/dojox/gfx.js.uncompressed.js +0 -1136
- package/vendor/dojo-1.10.10/dojox/lang/functional/array.js +0 -151
- package/vendor/dojo-1.10.10/dojox/lang/functional/array.js.uncompressed.js +0 -169
- package/vendor/dojo-1.10.10/dojox/lang/functional/fold.js +0 -93
- package/vendor/dojo-1.10.10/dojox/lang/functional/fold.js.uncompressed.js +0 -125
- package/vendor/dojo-1.10.10/dojox/lang/functional/lambda.js +0 -81
- package/vendor/dojo-1.10.10/dojox/lang/functional/lambda.js.uncompressed.js +0 -132
- package/vendor/dojo-1.10.10/dojox/lang/functional/object.js +0 -54
- package/vendor/dojo-1.10.10/dojox/lang/functional/object.js.uncompressed.js +0 -78
- package/vendor/dojo-1.10.10/dojox/lang/functional/reversed.js +0 -61
- package/vendor/dojo-1.10.10/dojox/lang/functional/reversed.js.uncompressed.js +0 -77
- package/vendor/dojo-1.10.10/dojox/lang/functional/scan.js +0 -87
- package/vendor/dojo-1.10.10/dojox/lang/functional/scan.js.uncompressed.js +0 -107
- package/vendor/dojo-1.10.10/dojox/lang/functional.js +0 -4
- package/vendor/dojo-1.10.10/dojox/lang/functional.js.uncompressed.js +0 -3
- package/vendor/dojo-1.10.10/dojox/lang/utils.js +0 -86
- package/vendor/dojo-1.10.10/dojox/lang/utils.js.uncompressed.js +0 -121
- package/vendor/dojo-1.10.10/dojox/main.js +0 -4
- package/vendor/dojo-1.10.10/dojox/main.js.uncompressed.js +0 -14
- package/vendor/dojo-1.10.10/dojox/storage/LocalStorageProvider.js +0 -112
- package/vendor/dojo-1.10.10/dojox/storage/LocalStorageProvider.js.uncompressed.js +0 -208
- package/vendor/dojo-1.10.10/dojox/storage/Provider.js +0 -62
- package/vendor/dojo-1.10.10/dojox/storage/Provider.js.uncompressed.js +0 -344
- package/vendor/dojo-1.10.10/dojox/storage/manager.js +0 -110
- package/vendor/dojo-1.10.10/dojox/storage/manager.js.uncompressed.js +0 -263
package/helm/dojo/package.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import type {DojoWindowType} from './types';
|
|
2
|
-
|
|
3
|
-
declare const window: Window & DojoWindowType;
|
|
4
|
-
|
|
5
|
-
export async function initDojo(): Promise<void> {
|
|
6
|
-
window.dojo$ = window.dojo$ || {};
|
|
7
|
-
if (!window.dojo$.initPromise) {
|
|
8
|
-
window.dojo$.initPromise = (async () => {
|
|
9
|
-
const logPrefix: string = `dojo: _package.initDojo()`;
|
|
10
|
-
console.debug(`${logPrefix}, start`);
|
|
11
|
-
|
|
12
|
-
console.debug(`${logPrefix}, loadModules(), before`);
|
|
13
|
-
const t1 = window.performance.now();
|
|
14
|
-
await loadModules();
|
|
15
|
-
const t2 = window.performance.now();
|
|
16
|
-
console.debug(`${logPrefix}, loadModules(), after, ET: ${t2 - t1} ms`);
|
|
17
|
-
|
|
18
|
-
console.debug(`${logPrefix}, end`);
|
|
19
|
-
})();
|
|
20
|
-
}
|
|
21
|
-
return window.dojo$.initPromise;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const dojoPath = '../../vendor/dojo-1.10.10';
|
|
25
|
-
|
|
26
|
-
async function loadModules(): Promise<void> {
|
|
27
|
-
const logPrefix: string = `dojo: _package.loadModules()`;
|
|
28
|
-
|
|
29
|
-
const unc = '';
|
|
30
|
-
window.dojo$.ctx = require.context('../../vendor/dojo-1.10.10', true, /\.js$/);
|
|
31
|
-
// const unc = '.uncompressed.js'; // '';
|
|
32
|
-
// window.dojo$.ctx = require.context('../../vendor/dojo-1.10.10', true, /\.js\.uncompressed\.js$/);
|
|
33
|
-
|
|
34
|
-
window.dojo$.uncompressed = unc;
|
|
35
|
-
await window.dojo$.ctx(`./dojo/dojo.js${unc}`);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
(async () => {
|
|
40
|
-
await initDojo();
|
|
41
|
-
})();
|
package/helm/dojo/types.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type {DojoType, DojoxType} from '@datagrok-libraries/js-draw-lite/src/types/dojo';
|
|
2
|
-
|
|
3
|
-
export type DojoWindowType = {
|
|
4
|
-
dojo$: {
|
|
5
|
-
/** dojo source file postfix: '' for compressed, '.uncompressed.js' for uncompressed */
|
|
6
|
-
uncompressed: string;
|
|
7
|
-
ctx: { <T>(id: string): T };
|
|
8
|
-
initPromise: Promise<void>;
|
|
9
|
-
},
|
|
10
|
-
dojo: DojoType;
|
|
11
|
-
dojox: DojoxType;
|
|
12
|
-
}
|
package/src/helm-web-editor.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import * as grok from 'datagrok-api/grok';
|
|
2
|
-
import * as ui from 'datagrok-api/ui';
|
|
3
|
-
import * as DG from 'datagrok-api/dg';
|
|
4
|
-
|
|
5
|
-
import {Unsubscribable} from 'rxjs';
|
|
6
|
-
|
|
7
|
-
import {ILogger} from '@datagrok-libraries/bio/src/utils/logger';
|
|
8
|
-
import {
|
|
9
|
-
App, Editor, HelmType, IHelmWebEditor, HelmEditor, IHelmEditorOptions
|
|
10
|
-
} from '@datagrok-libraries/bio/src/helm/types';
|
|
11
|
-
|
|
12
|
-
import {JSDraw2Module, OrgHelmModule, ScilModule} from './types';
|
|
13
|
-
|
|
14
|
-
import {_package} from './package';
|
|
15
|
-
|
|
16
|
-
declare const scil: ScilModule;
|
|
17
|
-
declare const JSDraw2: JSDraw2Module;
|
|
18
|
-
declare const org: OrgHelmModule;
|
|
19
|
-
|
|
20
|
-
export class HelmWebEditor implements IHelmWebEditor {
|
|
21
|
-
editor: HelmEditor;
|
|
22
|
-
host: HTMLDivElement;
|
|
23
|
-
|
|
24
|
-
w = 200;
|
|
25
|
-
h = 100;
|
|
26
|
-
private subs: Unsubscribable[];
|
|
27
|
-
|
|
28
|
-
constructor(
|
|
29
|
-
host?: HTMLDivElement,
|
|
30
|
-
options?: Partial<IHelmEditorOptions>,
|
|
31
|
-
private logger: ILogger = _package.logger
|
|
32
|
-
) {
|
|
33
|
-
this.host = host ?? ui.div([], {style: {width: `${this.w}px`, height: `${this.h}px`}});
|
|
34
|
-
|
|
35
|
-
const styleBackup = {
|
|
36
|
-
width: this.host.style.width, height: this.host.style.height,
|
|
37
|
-
overflow: this.host.style.overflow
|
|
38
|
-
};
|
|
39
|
-
this.editor = new JSDraw2.Editor(this.host,
|
|
40
|
-
Object.assign({width: this.w, height: this.h, viewonly: true}, options));
|
|
41
|
-
this.host.style.width = styleBackup.width;
|
|
42
|
-
this.host.style.height = styleBackup.height;
|
|
43
|
-
this.host.style.overflow = styleBackup.overflow;
|
|
44
|
-
|
|
45
|
-
this.subs = [];
|
|
46
|
-
this.subs.push(ui.onSizeChanged(this.host).subscribe(this.hostOnSizeChanged.bind(this)));
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
protected toLog(): string {
|
|
50
|
-
return `Helm: HelmWebEditor<#>`;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
private lastSize: { width: number, height: number } = {width: -1, height: -1};
|
|
54
|
-
|
|
55
|
-
private hostOnSizeChanged(value: any): void {
|
|
56
|
-
const size = {width: value.target.clientWidth, height: value.target.clientHeight};
|
|
57
|
-
if (this.lastSize.width != size.width || this.lastSize.height != size.height) {
|
|
58
|
-
const logPrefix = `${this.toLog()}.hostOnSizeChanged()`;
|
|
59
|
-
this.logger.debug(`${logPrefix}`);
|
|
60
|
-
this.editor.setSize(this.host.clientWidth, this.host.clientHeight);
|
|
61
|
-
}
|
|
62
|
-
this.lastSize = size;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
resizeEditor(w: number, h: number) {
|
|
66
|
-
this.editor.setSize(w, h);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
import * as grok from 'datagrok-api/grok';
|
|
2
|
-
import * as ui from 'datagrok-api/ui';
|
|
3
|
-
import * as DG from 'datagrok-api/dg';
|
|
4
|
-
|
|
5
|
-
import wu from 'wu';
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
after, before, category, delay, expect, test, expectArray, testEvent, expectFloat, timeout
|
|
9
|
-
} from '@datagrok-libraries/test/src/test';
|
|
10
|
-
import {getHelmHelper, getMonomerHandleArgs} from '@datagrok-libraries/bio/src/helm/helm-helper';
|
|
11
|
-
import {errInfo} from '@datagrok-libraries/bio/src/utils/err-info';
|
|
12
|
-
import {Atom, HelmType, IJsAtom, GetMonomerFunc, HelmAtom} from '@datagrok-libraries/bio/src/helm/types';
|
|
13
|
-
import {IHelmHelper} from '@datagrok-libraries/bio/src/helm/helm-helper';
|
|
14
|
-
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
15
|
-
import {UserLibSettings} from '@datagrok-libraries/bio/src/monomer-works/types';
|
|
16
|
-
import {
|
|
17
|
-
getUserLibSettings, setUserLibSettings,
|
|
18
|
-
} from '@datagrok-libraries/bio/src/monomer-works/lib-settings';
|
|
19
|
-
import {expectMonomerLib} from '@datagrok-libraries/bio/src/tests/monomer-lib-tests';
|
|
20
|
-
|
|
21
|
-
import {rewriteLibraries} from '../utils/get-monomer';
|
|
22
|
-
import {JSDraw2Module, OrgHelmModule} from '../types';
|
|
23
|
-
|
|
24
|
-
import {initHelmMainPackage} from './utils';
|
|
25
|
-
|
|
26
|
-
import {_package} from '../package-test';
|
|
27
|
-
import {PolymerTypes} from '@datagrok-libraries/bio/src/helm/consts';
|
|
28
|
-
|
|
29
|
-
declare const org: OrgHelmModule;
|
|
30
|
-
declare const JSDraw2: JSDraw2Module;
|
|
31
|
-
|
|
32
|
-
type TestDataType = { args: { a: any, name?: string }, tgt: any };
|
|
33
|
-
|
|
34
|
-
const getResultDf = false;
|
|
35
|
-
|
|
36
|
-
const tests: { [testName: string]: TestDataType } =
|
|
37
|
-
/* eslint-disable */
|
|
38
|
-
//@formatter:off
|
|
39
|
-
{
|
|
40
|
-
t0:{"args":{"a":"HELM_BASE","name":"A"},"tgt":{"id":"A","m":"\n RDKit 2D\n\n 11 12 0 0 0 0 0 0 0 0999 V2000\n -3.1265 0.5194 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -1.8274 -0.2306 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.8274 -1.7306 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -0.5284 -2.4806 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7707 -1.7306 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7707 -0.2306 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.5284 0.5194 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.2165 1.9866 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2753 2.1434 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8854 0.7731 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3526 0.4612 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0\n 2 3 2 0\n 3 4 1 0\n 4 5 2 0\n 5 6 1 0\n 6 7 2 0\n 7 8 1 0\n 8 9 2 0\n 9 10 1 0\n 10 11 1 0\n 7 2 1 0\n 10 6 1 0\nM RGP 1 11 1\nM END\n","n":"Adenine","na":"A","rs":1,"at":{"R1":"H"}}},
|
|
41
|
-
t1:{"args":{"a":"HELM_BASE","name":"C"},"tgt":{"id":"C","m":"\n RDKit 2D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 2.8868 1.3333 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5877 0.5833 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5877 -0.9167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2887 -1.6667 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.0104 -0.9167 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3094 -1.6667 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n -1.0104 0.5833 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3094 1.3333 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2887 1.3333 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0\n 2 3 1 0\n 3 4 2 0\n 4 5 1 0\n 5 6 1 0\n 5 7 1 0\n 7 8 2 0\n 7 9 1 0\n 9 2 2 0\nM RGP 1 6 1\nM END\n","n":"Cytosine","na":"C","rs":1,"at":{"R1":"H"}}},
|
|
42
|
-
t2:{"args":{"a":"HELM_BASE","name":"G"},"tgt":{"id":"G","m":"\n RDKit 2D\n\n 12 13 0 0 0 0 0 0 0 0999 V2000\n 3.4022 -1.4050 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1032 -0.6550 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8041 -1.4050 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4949 -0.6550 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4949 0.8450 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9215 1.3085 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8032 0.0950 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9215 -1.1185 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3850 -2.5451 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8041 1.5950 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8041 3.0950 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1032 0.8450 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0\n 2 3 2 0\n 3 4 1 0\n 4 5 2 0\n 5 6 1 0\n 6 7 2 0\n 7 8 1 0\n 8 9 1 0\n 5 10 1 0\n 10 11 2 0\n 10 12 1 0\n 12 2 1 0\n 8 4 1 0\nM RGP 1 9 1\nM END\n","n":"Guanine","na":"G","rs":1,"at":{"R1":"H"}}},
|
|
43
|
-
t3:{"args":{"a":"HELM_LINKER","name":"p"},"tgt":{"id":"p","m":"\n RDKit 2D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n -1.2990 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2990 -0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7500 -1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7500 1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0\n 2 3 1 0\n 2 4 1 0\n 2 5 1 0\nM RGP 2 4 1 5 2\nM END\n","n":"Phosphate","na":"p","rs":2,"at":{"R1":"OH","R2":"OH"}}},
|
|
44
|
-
t4:{"args":{"a":"HELM_SUGAR","name":"p"},"tgt":null},
|
|
45
|
-
t5:{"args":{"a":"HELM_SUGAR","name":"r"},"tgt":{"id":"r","m":"\n RDKit 2D\n\n 12 12 0 0 0 0 0 0 0 0999 V2000\n 3.0807 1.3822 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 0.5005 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 0.9640 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0229 2.3906 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.4901 2.7025 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6910 -1.5485 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1910 -1.5485 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 -1.4630 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 -0.9995 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0807 -1.8812 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6\n 2 3 1 0\n 3 4 1 1\n 4 5 1 0\n 3 6 1 0\n 6 7 1 6\n 7 8 1 0\n 8 9 1 0\n 6 10 1 0\n 10 11 1 0\n 11 12 1 6\n 11 2 1 0\nM RGP 3 5 2 9 1 12 3\nM END\n","n":"Ribose","na":"r","rs":3,"at":{"R1":"H","R2":"H","R3":"OH"}}},
|
|
46
|
-
t6:{"args":{"a":{"T":"ATOM","p":{"x":144,"y":0},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_SUGAR","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"r","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"_parent":"[object Object]","_aaid":4}},"tgt":{"id":"r","m":"\n RDKit 2D\n\n 12 12 0 0 0 0 0 0 0 0999 V2000\n 3.0807 1.3822 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 0.5005 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 0.9640 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0229 2.3906 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.4901 2.7025 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6910 -1.5485 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1910 -1.5485 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 -1.4630 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 -0.9995 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0807 -1.8812 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6\n 2 3 1 0\n 3 4 1 1\n 4 5 1 0\n 3 6 1 0\n 6 7 1 6\n 7 8 1 0\n 8 9 1 0\n 6 10 1 0\n 10 11 1 0\n 11 12 1 6\n 11 2 1 0\nM RGP 3 5 2 9 1 12 3\nM END\n","n":"Ribose","na":"r","rs":3,"at":{"R1":"H","R2":"H","R3":"OH"}}},
|
|
47
|
-
t7:{"args":{"a":{"T":"ATOM","p":{"x":144,"y":0},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_SUGAR","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"r","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"tag":null,"_parent":"[object Object]","_aaid":4}},"tgt":{"id":"r","m":"\n RDKit 2D\n\n 12 12 0 0 0 0 0 0 0 0999 V2000\n 3.0807 1.3822 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 0.5005 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 0.9640 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0229 2.3906 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.4901 2.7025 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6910 -1.5485 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1910 -1.5485 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 -1.4630 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 -0.9995 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0807 -1.8812 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6\n 2 3 1 0\n 3 4 1 1\n 4 5 1 0\n 3 6 1 0\n 6 7 1 6\n 7 8 1 0\n 8 9 1 0\n 6 10 1 0\n 10 11 1 0\n 11 12 1 6\n 11 2 1 0\nM RGP 3 5 2 9 1 12 3\nM END\n","n":"Ribose","na":"r","rs":3,"at":{"R1":"H","R2":"H","R3":"OH"}}},
|
|
48
|
-
t8:{"args":{"a":{"T":"ATOM","p":{"x":144,"y":48},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_BASE","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"G","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"tag":null,"_parent":"[object Object]","_aaid":5}},"tgt":{"id":"G","m":"\n RDKit 2D\n\n 12 13 0 0 0 0 0 0 0 0999 V2000\n 3.4022 -1.4050 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1032 -0.6550 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8041 -1.4050 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4949 -0.6550 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4949 0.8450 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9215 1.3085 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8032 0.0950 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9215 -1.1185 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3850 -2.5451 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8041 1.5950 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8041 3.0950 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1032 0.8450 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0\n 2 3 2 0\n 3 4 1 0\n 4 5 2 0\n 5 6 1 0\n 6 7 2 0\n 7 8 1 0\n 8 9 1 0\n 5 10 1 0\n 10 11 2 0\n 10 12 1 0\n 12 2 1 0\n 8 4 1 0\nM RGP 1 9 1\nM END\n","n":"Guanine","na":"G","rs":1,"at":{"R1":"H"}}},
|
|
49
|
-
t9:{"args":{"a":{"T":"ATOM","p":{"x":192,"y":0},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_LINKER","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"p","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"_parent":"[object Object]","_aaid":6}},"tgt":{"id":"p","m":"\n RDKit 2D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n -1.2990 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2990 -0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7500 -1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7500 1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0\n 2 3 1 0\n 2 4 1 0\n 2 5 1 0\nM RGP 2 4 1 5 2\nM END\n","n":"Phosphate","na":"p","rs":2,"at":{"R1":"OH","R2":"OH"}}},
|
|
50
|
-
t10:{"args":{"a":{"T":"ATOM","p":{"x":192,"y":0},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_LINKER","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"p","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"tag":null,"_parent":"[object Object]","_aaid":6}},"tgt":{"id":"p","m":"\n RDKit 2D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n -1.2990 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2990 -0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7500 -1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7500 1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0\n 2 3 1 0\n 2 4 1 0\n 2 5 1 0\nM RGP 2 4 1 5 2\nM END\n","n":"Phosphate","na":"p","rs":2,"at":{"R1":"OH","R2":"OH"}}},
|
|
51
|
-
t11:{"args":{"a":{"T":"ATOM","p":{"x":205,"y":136},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_SUGAR","id":null,"ambiguity":null,"annotation":"5'","annotationshowright":null},"locked":false,"hidden":null,"_rect":null,"elem":"r","color":null,"hcount":null,"selected":false,"f":0,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"_parent":"[object Object]","_aaid":1,"ringclosures":null,"_outside":false,"_haslabel":false},"name":"r"},"tgt":{"id":"r","m":"\n RDKit 2D\n\n 12 12 0 0 0 0 0 0 0 0999 V2000\n 3.0807 1.3822 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 0.5005 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 0.9640 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0229 2.3906 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.4901 2.7025 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6910 -1.5485 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1910 -1.5485 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 -1.4630 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 -0.9995 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0807 -1.8812 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6\n 2 3 1 0\n 3 4 1 1\n 4 5 1 0\n 3 6 1 0\n 6 7 1 6\n 7 8 1 0\n 8 9 1 0\n 6 10 1 0\n 10 11 1 0\n 11 12 1 6\n 11 2 1 0\nM RGP 3 5 2 9 1 12 3\nM END\n","n":"Ribose","na":"r","rs":3,"at":{"R1":"H","R2":"H","R3":"OH"}}},
|
|
52
|
-
t12:{"args":{"a":{"T":"ATOM","p":{"x":205,"y":184},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_BASE","id":1,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"A","color":null,"hcount":null,"selected":false,"f":0,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"tag":null,"_parent":"[object Object]","_aaid":2,"ringclosures":null,"_outside":false,"_haslabel":false},"name":"A"},"tgt":{"id":"A","m":"\n RDKit 2D\n\n 11 12 0 0 0 0 0 0 0 0999 V2000\n -3.1265 0.5194 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -1.8274 -0.2306 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.8274 -1.7306 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -0.5284 -2.4806 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7707 -1.7306 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7707 -0.2306 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.5284 0.5194 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.2165 1.9866 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2753 2.1434 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8854 0.7731 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3526 0.4612 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0\n 2 3 2 0\n 3 4 1 0\n 4 5 2 0\n 5 6 1 0\n 6 7 2 0\n 7 8 1 0\n 8 9 2 0\n 9 10 1 0\n 10 11 1 0\n 7 2 1 0\n 10 6 1 0\nM RGP 1 11 1\nM END\n","n":"Adenine","na":"A","rs":1,"at":{"R1":"H"}}},
|
|
53
|
-
t13:{"args":{"a":{"T":"ATOM","p":{"x":240,"y":0},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_SUGAR","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"r","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"_parent":"[object Object]","_aaid":7}},"tgt":{"id":"r","m":"\n RDKit 2D\n\n 12 12 0 0 0 0 0 0 0 0999 V2000\n 3.0807 1.3822 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 0.5005 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 0.9640 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0229 2.3906 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.4901 2.7025 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6910 -1.5485 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1910 -1.5485 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 -1.4630 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 -0.9995 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0807 -1.8812 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6\n 2 3 1 0\n 3 4 1 1\n 4 5 1 0\n 3 6 1 0\n 6 7 1 6\n 7 8 1 0\n 8 9 1 0\n 6 10 1 0\n 10 11 1 0\n 11 12 1 6\n 11 2 1 0\nM RGP 3 5 2 9 1 12 3\nM END\n","n":"Ribose","na":"r","rs":3,"at":{"R1":"H","R2":"H","R3":"OH"}}},
|
|
54
|
-
t14:{"args":{"a":{"T":"ATOM","p":{"x":240,"y":0},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_SUGAR","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"r","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"tag":null,"_parent":"[object Object]","_aaid":7}},"tgt":{"id":"r","m":"\n RDKit 2D\n\n 12 12 0 0 0 0 0 0 0 0999 V2000\n 3.0807 1.3822 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 0.5005 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 0.9640 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0229 2.3906 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.4901 2.7025 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6910 -1.5485 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1910 -1.5485 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 -1.4630 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 -0.9995 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0807 -1.8812 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6\n 2 3 1 0\n 3 4 1 1\n 4 5 1 0\n 3 6 1 0\n 6 7 1 6\n 7 8 1 0\n 8 9 1 0\n 6 10 1 0\n 10 11 1 0\n 11 12 1 6\n 11 2 1 0\nM RGP 3 5 2 9 1 12 3\nM END\n","n":"Ribose","na":"r","rs":3,"at":{"R1":"H","R2":"H","R3":"OH"}}},
|
|
55
|
-
t15:{"args":{"a":{"T":"ATOM","p":{"x":240,"y":48},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_BASE","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"C","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"tag":null,"_parent":"[object Object]","_aaid":8}},"tgt":{"id":"C","m":"\n RDKit 2D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 2.8868 1.3333 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5877 0.5833 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5877 -0.9167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2887 -1.6667 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.0104 -0.9167 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3094 -1.6667 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n -1.0104 0.5833 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3094 1.3333 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2887 1.3333 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0\n 2 3 1 0\n 3 4 2 0\n 4 5 1 0\n 5 6 1 0\n 5 7 1 0\n 7 8 2 0\n 7 9 1 0\n 9 2 2 0\nM RGP 1 6 1\nM END\n","n":"Cytosine","na":"C","rs":1,"at":{"R1":"H"}}},
|
|
56
|
-
t16:{"args":{"a":{"T":"ATOM","p":{"x":253,"y":136},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_LINKER","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"p","color":null,"hcount":null,"selected":false,"f":0,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"_parent":"[object Object]","_aaid":3,"ringclosures":null,"_outside":false,"_haslabel":false},"name":"p"},"tgt":{"id":"p","m":"\n RDKit 2D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n -1.2990 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2990 -0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7500 -1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7500 1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0\n 2 3 1 0\n 2 4 1 0\n 2 5 1 0\nM RGP 2 4 1 5 2\nM END\n","n":"Phosphate","na":"p","rs":2,"at":{"R1":"OH","R2":"OH"}}},
|
|
57
|
-
t17:{"args":{"a":{"T":"ATOM","p":{"x":288,"y":0},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_LINKER","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"p","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"tag":null,"_parent":"[object Object]","_aaid":9}},"tgt":{"id":"p","m":"\n RDKit 2D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n -1.2990 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2990 -0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7500 -1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7500 1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0\n 2 3 1 0\n 2 4 1 0\n 2 5 1 0\nM RGP 2 4 1 5 2\nM END\n","n":"Phosphate","na":"p","rs":2,"at":{"R1":"OH","R2":"OH"}}},
|
|
58
|
-
t18:{"args":{"a":{"T":"ATOM","p":{"x":301,"y":136},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_SUGAR","id":null,"ambiguity":null,"annotation":null},"locked":false,"hidden":null,"_rect":null,"elem":"r","color":null,"hcount":null,"selected":false,"f":0,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"_parent":"[object Object]","_aaid":1,"ringclosures":null,"_outside":false,"_haslabel":false},"name":"r"},"tgt":{"id":"r","m":"\n RDKit 2D\n\n 12 12 0 0 0 0 0 0 0 0999 V2000\n 3.0807 1.3822 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 0.5005 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 0.9640 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0229 2.3906 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.4901 2.7025 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6910 -1.5485 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1910 -1.5485 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 -1.4630 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 -0.9995 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0807 -1.8812 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6\n 2 3 1 0\n 3 4 1 1\n 4 5 1 0\n 3 6 1 0\n 6 7 1 6\n 7 8 1 0\n 8 9 1 0\n 6 10 1 0\n 10 11 1 0\n 11 12 1 6\n 11 2 1 0\nM RGP 3 5 2 9 1 12 3\nM END\n","n":"Ribose","na":"r","rs":3,"at":{"R1":"H","R2":"H","R3":"OH"}}},
|
|
59
|
-
t19:{"args":{"a":{"T":"ATOM","p":{"x":301,"y":184},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_BASE","id":2,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"G","color":null,"hcount":null,"selected":false,"f":0,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"tag":null,"_parent":"[object Object]","_aaid":2,"ringclosures":null,"_outside":false,"_haslabel":false},"name":"G"},"tgt":{"id":"G","m":"\n RDKit 2D\n\n 12 13 0 0 0 0 0 0 0 0999 V2000\n 3.4022 -1.4050 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1032 -0.6550 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8041 -1.4050 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4949 -0.6550 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4949 0.8450 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9215 1.3085 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8032 0.0950 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9215 -1.1185 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3850 -2.5451 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8041 1.5950 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8041 3.0950 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1032 0.8450 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0\n 2 3 2 0\n 3 4 1 0\n 4 5 2 0\n 5 6 1 0\n 6 7 2 0\n 7 8 1 0\n 8 9 1 0\n 5 10 1 0\n 10 11 2 0\n 10 12 1 0\n 12 2 1 0\n 8 4 1 0\nM RGP 1 9 1\nM END\n","n":"Guanine","na":"G","rs":1,"at":{"R1":"H"}}},
|
|
60
|
-
t20:{"args":{"a":{"T":"ATOM","p":{"x":349,"y":136},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_LINKER","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"p","color":null,"hcount":null,"selected":false,"f":0,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"_parent":"[object Object]","_aaid":6,"ringclosures":null,"_outside":false,"_haslabel":false},"name":"p"},"tgt":{"id":"p","m":"\n RDKit 2D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n -1.2990 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2990 -0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7500 -1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7500 1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0\n 2 3 1 0\n 2 4 1 0\n 2 5 1 0\nM RGP 2 4 1 5 2\nM END\n","n":"Phosphate","na":"p","rs":2,"at":{"R1":"OH","R2":"OH"}}},
|
|
61
|
-
t21:{"args":{"a":{"T":"ATOM","p":{"x":397,"y":136},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_SUGAR","id":null,"ambiguity":null,"annotation":null},"locked":false,"hidden":null,"_rect":null,"elem":"r","color":null,"hcount":null,"selected":false,"f":0,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"_parent":"[object Object]","_aaid":1,"ringclosures":null,"_outside":false,"_haslabel":false},"name":"r"},"tgt":{"id":"r","m":"\n RDKit 2D\n\n 12 12 0 0 0 0 0 0 0 0999 V2000\n 3.0807 1.3822 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 0.5005 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 0.9640 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0229 2.3906 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.4901 2.7025 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6910 -1.5485 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1910 -1.5485 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 -1.4630 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 -0.9995 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0807 -1.8812 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6\n 2 3 1 0\n 3 4 1 1\n 4 5 1 0\n 3 6 1 0\n 6 7 1 6\n 7 8 1 0\n 8 9 1 0\n 6 10 1 0\n 10 11 1 0\n 11 12 1 6\n 11 2 1 0\nM RGP 3 5 2 9 1 12 3\nM END\n","n":"Ribose","na":"r","rs":3,"at":{"R1":"H","R2":"H","R3":"OH"}}},
|
|
62
|
-
t22:{"args":{"a":{"T":"ATOM","p":{"x":397,"y":184},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_BASE","id":3,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"C","color":null,"hcount":null,"selected":false,"f":0,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"tag":null,"_parent":"[object Object]","_aaid":2,"ringclosures":null,"_outside":false,"_haslabel":false},"name":"C"},"tgt":{"id":"C","m":"\n RDKit 2D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 2.8868 1.3333 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5877 0.5833 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5877 -0.9167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2887 -1.6667 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.0104 -0.9167 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3094 -1.6667 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n -1.0104 0.5833 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3094 1.3333 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2887 1.3333 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0\n 2 3 1 0\n 3 4 2 0\n 4 5 1 0\n 5 6 1 0\n 5 7 1 0\n 7 8 2 0\n 7 9 1 0\n 9 2 2 0\nM RGP 1 6 1\nM END\n","n":"Cytosine","na":"C","rs":1,"at":{"R1":"H"}}},
|
|
63
|
-
t23:{"args":{"a":{"T":"ATOM","p":{"x":445,"y":136},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_LINKER","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"p","color":null,"hcount":null,"selected":false,"f":0,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"_parent":"[object Object]","_aaid":9,"ringclosures":null,"_outside":false,"_haslabel":false},"name":"p"},"tgt":{"id":"p","m":"\n RDKit 2D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n -1.2990 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2990 -0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7500 -1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7500 1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0\n 2 3 1 0\n 2 4 1 0\n 2 5 1 0\nM RGP 2 4 1 5 2\nM END\n","n":"Phosphate","na":"p","rs":2,"at":{"R1":"OH","R2":"OH"}}},
|
|
64
|
-
t24:{"args":{"a":{"T":"ATOM","p":{"x":48,"y":0},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_SUGAR","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"r","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"_parent":"[object Object]","_aaid":1}},"tgt":{"id":"r","m":"\n RDKit 2D\n\n 12 12 0 0 0 0 0 0 0 0999 V2000\n 3.0807 1.3822 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 0.5005 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 0.9640 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0229 2.3906 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.4901 2.7025 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6910 -1.5485 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1910 -1.5485 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 -1.4630 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 -0.9995 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0807 -1.8812 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6\n 2 3 1 0\n 3 4 1 1\n 4 5 1 0\n 3 6 1 0\n 6 7 1 6\n 7 8 1 0\n 8 9 1 0\n 6 10 1 0\n 10 11 1 0\n 11 12 1 6\n 11 2 1 0\nM RGP 3 5 2 9 1 12 3\nM END\n","n":"Ribose","na":"r","rs":3,"at":{"R1":"H","R2":"H","R3":"OH"}}},
|
|
65
|
-
t25:{"args":{"a":{"T":"ATOM","p":{"x":48,"y":0},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_SUGAR","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"r","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"tag":null,"_parent":"[object Object]","_aaid":1}},"tgt":{"id":"r","m":"\n RDKit 2D\n\n 12 12 0 0 0 0 0 0 0 0999 V2000\n 3.0807 1.3822 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 0.5005 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 0.9640 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0229 2.3906 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.4901 2.7025 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9410 -0.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6910 -1.5485 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1910 -1.5485 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4406 -1.4630 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8672 -0.9995 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0807 -1.8812 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6\n 2 3 1 0\n 3 4 1 1\n 4 5 1 0\n 3 6 1 0\n 6 7 1 6\n 7 8 1 0\n 8 9 1 0\n 6 10 1 0\n 10 11 1 0\n 11 12 1 6\n 11 2 1 0\nM RGP 3 5 2 9 1 12 3\nM END\n","n":"Ribose","na":"r","rs":3,"at":{"R1":"H","R2":"H","R3":"OH"}}},
|
|
66
|
-
t26:{"args":{"a":{"T":"ATOM","p":{"x":48,"y":48},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_BASE","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"A","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"tag":null,"_parent":"[object Object]","_aaid":2}},"tgt":{"id":"A","m":"\n RDKit 2D\n\n 11 12 0 0 0 0 0 0 0 0999 V2000\n -3.1265 0.5194 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -1.8274 -0.2306 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.8274 -1.7306 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -0.5284 -2.4806 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7707 -1.7306 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7707 -0.2306 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.5284 0.5194 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.2165 1.9866 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2753 2.1434 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8854 0.7731 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3526 0.4612 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0\n 2 3 2 0\n 3 4 1 0\n 4 5 2 0\n 5 6 1 0\n 6 7 2 0\n 7 8 1 0\n 8 9 2 0\n 9 10 1 0\n 10 11 1 0\n 7 2 1 0\n 10 6 1 0\nM RGP 1 11 1\nM END\n","n":"Adenine","na":"A","rs":1,"at":{"R1":"H"}}},
|
|
67
|
-
t27:{"args":{"a":{"T":"ATOM","p":{"x":96,"y":0},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_LINKER","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"p","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"_parent":"[object Object]","_aaid":3}},"tgt":{"id":"p","m":"\n RDKit 2D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n -1.2990 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2990 -0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7500 -1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7500 1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0\n 2 3 1 0\n 2 4 1 0\n 2 5 1 0\nM RGP 2 4 1 5 2\nM END\n","n":"Phosphate","na":"p","rs":2,"at":{"R1":"OH","R2":"OH"}}},
|
|
68
|
-
t28:{"args":{"a":{"T":"ATOM","p":{"x":96,"y":0},"charge":0,"isotope":null,"radical":null,"group":null,"alias":null,"superatom":null,"attachpoints":[],"rgroup":null,"bio":{"type":"HELM_LINKER","id":null,"ambiguity":null},"locked":false,"hidden":null,"_rect":null,"elem":"p","color":null,"hcount":null,"selected":false,"f":null,"bonds":null,"id":null,"atommapid":null,"query":null,"hasError":null,"hs":null,"val":null,"tag":null,"_parent":"[object Object]","_aaid":3}},"tgt":{"id":"p","m":"\n RDKit 2D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n -1.2990 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2990 -0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7500 -1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7500 1.2990 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0\n 2 3 1 0\n 2 4 1 0\n 2 5 1 0\nM RGP 2 4 1 5 2\nM END\n","n":"Phosphate","na":"p","rs":2,"at":{"R1":"OH","R2":"OH"}}}
|
|
69
|
-
//@formatter:off
|
|
70
|
-
/* eslint-enable */
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
category('getMonomer', ()=> {
|
|
74
|
-
let helmHelper: IHelmHelper;
|
|
75
|
-
let monomerLibHelper: IMonomerLibHelper;
|
|
76
|
-
/** Backup actual user's monomer libraries settings */
|
|
77
|
-
let userLibSettings: UserLibSettings;
|
|
78
|
-
|
|
79
|
-
before(async ()=>{
|
|
80
|
-
await initHelmMainPackage();
|
|
81
|
-
|
|
82
|
-
[monomerLibHelper, helmHelper, userLibSettings] = await Promise.all(
|
|
83
|
-
[getMonomerLibHelper(), getHelmHelper(), getUserLibSettings()]);
|
|
84
|
-
|
|
85
|
-
await monomerLibHelper.loadMonomerLibForTests(); // load default libraries for tests
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
after(async ()=>{
|
|
89
|
-
await setUserLibSettings(userLibSettings);
|
|
90
|
-
await monomerLibHelper.loadMonomerLib(true);
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
test('original', async () =>{
|
|
94
|
-
const monomerLib = monomerLibHelper.getMonomerLib();
|
|
95
|
-
rewriteLibraries(monomerLib);
|
|
96
|
-
|
|
97
|
-
const helmHelper: IHelmHelper = await getHelmHelper();
|
|
98
|
-
expect(helmHelper != null, true);
|
|
99
|
-
const getMonomerFunc: GetMonomerFunc = helmHelper.originalMonomersFuncs!.getMonomer!;
|
|
100
|
-
const res = _testAll('original', getMonomerFunc);
|
|
101
|
-
return getResultDf ? (res ?? DG.DataFrame.create(0)) : null;
|
|
102
|
-
}, {isAggregated: getResultDf});
|
|
103
|
-
|
|
104
|
-
test('monomerLib', async () =>{
|
|
105
|
-
const getMonomerFunc = org.helm.webeditor.Monomers.getMonomer;
|
|
106
|
-
const res = _testAll('monomerLib', getMonomerFunc);
|
|
107
|
-
return getResultDf ? (res ?? DG.DataFrame.create(0)) : null;
|
|
108
|
-
}, {isAggregated: getResultDf});
|
|
109
|
-
|
|
110
|
-
function _testAll(prefix: string, getMonomerFunc: GetMonomerFunc): DG.DataFrame {
|
|
111
|
-
const resDf = DG.DataFrame.fromColumns([
|
|
112
|
-
DG.Column.fromStrings('subTest', []),
|
|
113
|
-
DG.Column.fromList(DG.COLUMN_TYPE.BOOL, 'success', []),
|
|
114
|
-
DG.Column.fromStrings('res', []),
|
|
115
|
-
DG.Column.fromStrings('tgt', []),
|
|
116
|
-
DG.Column.fromStrings('error', []),
|
|
117
|
-
DG.Column.fromStrings('stack', []),
|
|
118
|
-
]);
|
|
119
|
-
|
|
120
|
-
// const testCount: number = Object.keys(tests).length + 1;
|
|
121
|
-
// //* eslint-disable no-array-constructor */
|
|
122
|
-
// const subTestList: string[] = new Array<string>(testCount);
|
|
123
|
-
// const successList: boolean[] = new Array<boolean>(testCount);
|
|
124
|
-
// const resList: string[] = new Array<string>(testCount);
|
|
125
|
-
// const tgtList:string[] = new Array<string>(testCount);
|
|
126
|
-
// const errorList: string[] = new Array<string>(testCount);
|
|
127
|
-
// const stackList: string[] = new Array<string>(testCount);
|
|
128
|
-
// /* eslint-enable no-array-constructor */
|
|
129
|
-
|
|
130
|
-
const resI = resDf.rows.addNew().idx;
|
|
131
|
-
resDf.set('subTest', resI, 'Monomer lib');
|
|
132
|
-
resDf.set('res', resI, '');
|
|
133
|
-
resDf.set('tgt', resI, '');
|
|
134
|
-
try {
|
|
135
|
-
resDf.set('success', resI, true);
|
|
136
|
-
} catch (err) {
|
|
137
|
-
const [errMsg, errStack] = errInfo(err);
|
|
138
|
-
resDf.set('error', resI, errMsg);
|
|
139
|
-
resDf.set('stack', resI, errStack);
|
|
140
|
-
resDf.set('success', resI, false);
|
|
141
|
-
throw err;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
for (const [[testName, testData], testI] of wu.enumerate(Object.entries(tests))) {
|
|
145
|
-
const a: HelmAtom | HelmType = getAtomFromJson(testData.args.a);
|
|
146
|
-
const [biotype, elem] = getMonomerHandleArgs(a, testData.args.name);
|
|
147
|
-
const tgt = testData.tgt;
|
|
148
|
-
|
|
149
|
-
const resI = resDf.rows.addNew().idx;
|
|
150
|
-
resDf.set('subTest', resI, `${prefix}-${testName}-${biotype}-${elem}`);
|
|
151
|
-
resDf.set('tgt', resI, JSON.stringify(tgt ? {id: tgt.id, n: tgt.n, rs: tgt.rs} : null));
|
|
152
|
-
try {
|
|
153
|
-
const res: any = getMonomerFunc(a, testData.args.name);
|
|
154
|
-
resDf.set('res', resI, JSON.stringify(res ? {id: res.id, n: res.n, rs: res.rs} : null));
|
|
155
|
-
expectObjectWithNull(res, tgt);
|
|
156
|
-
resDf.set('success', resI, true);
|
|
157
|
-
} catch (err) {
|
|
158
|
-
const [errMsg, errStack] = errInfo(err);
|
|
159
|
-
resDf.set('error', resI, errMsg);
|
|
160
|
-
resDf.set('stack', resI, errStack);
|
|
161
|
-
resDf.set('success', resI, false);
|
|
162
|
-
throw err;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
return resDf;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
test('missing', async ()=> {
|
|
169
|
-
const monomerLib = monomerLibHelper.getMonomerLib();
|
|
170
|
-
/* Tests getMonomer function adding missing monomers. */
|
|
171
|
-
const helmStr = 'PEPTIDE1{[mis1].R.[mis2].T.C.F}$$$$;';
|
|
172
|
-
|
|
173
|
-
const libSummary = monomerLib.getSummaryObj();
|
|
174
|
-
const editor = new JSDraw2.Editor(ui.div(), {viewonly: true});
|
|
175
|
-
editor.setHelm(helmStr);
|
|
176
|
-
libSummary[PolymerTypes.PEPTIDE] += 2;
|
|
177
|
-
expectMonomerLib(monomerLib, libSummary);
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
function getAtomFromJson(argA: IJsAtom<HelmType> | HelmType): HelmAtom | HelmType {
|
|
182
|
-
let res: HelmAtom | HelmType;
|
|
183
|
-
const a = argA as IJsAtom<HelmType>;
|
|
184
|
-
if (a.T === 'ATOM')
|
|
185
|
-
res = new JSDraw2.Atom(a.p, a.elem, a.bio);
|
|
186
|
-
else
|
|
187
|
-
res = argA as HelmType;
|
|
188
|
-
return res;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
export function expectObjectWithNull(actual: { [key: string]: any }, expected: { [key: string]: any }) {
|
|
192
|
-
if (actual == null && expected == null)
|
|
193
|
-
return;
|
|
194
|
-
else if (actual == null && expected != null)
|
|
195
|
-
throw new Error('actual is null, but expected is not null');
|
|
196
|
-
else if (actual!= null && expected == null)
|
|
197
|
-
throw new Error('actual is not null, but expected is null');
|
|
198
|
-
else {
|
|
199
|
-
for (const [expectedKey, expectedValue] of Object.entries(expected)) {
|
|
200
|
-
if (!(expectedKey in actual || actual.hasOwnProperty(expectedKey)))
|
|
201
|
-
throw new Error(`Expected property "${expectedKey}" not found`);
|
|
202
|
-
|
|
203
|
-
const actualValue = actual[expectedKey];
|
|
204
|
-
if (actualValue instanceof Array && expectedValue instanceof Array)
|
|
205
|
-
expectArray(actualValue, expectedValue);
|
|
206
|
-
else if (actualValue instanceof Object && expectedValue instanceof Object)
|
|
207
|
-
expectObjectWithNull(actualValue, expectedValue);
|
|
208
|
-
else if (Number.isFinite(actualValue) && Number.isFinite(expectedValue))
|
|
209
|
-
expectFloat(actualValue, expectedValue);
|
|
210
|
-
else if (actualValue != expectedValue)
|
|
211
|
-
throw new Error(`Expected (${expectedValue}) for key '${expectedKey}', got (${actualValue})`);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import * as grok from 'datagrok-api/grok';
|
|
2
|
-
import * as ui from 'datagrok-api/ui';
|
|
3
|
-
import * as DG from 'datagrok-api/dg';
|
|
4
|
-
|
|
5
|
-
import {Subject} from 'rxjs';
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
category, expect, test, awaitCheck, delay, testEvent, before, after
|
|
9
|
-
} from '@datagrok-libraries/test/src/test';
|
|
10
|
-
import {getHelmHelper} from '@datagrok-libraries/bio/src/helm/helm-helper';
|
|
11
|
-
import {
|
|
12
|
-
getHelmService, HelmServiceBase, HelmAux, HelmProps
|
|
13
|
-
} from '@datagrok-libraries/bio/src/viewers/helm-service';
|
|
14
|
-
import {RenderTask} from '@datagrok-libraries/bio/src/utils/cell-renderer-async-base';
|
|
15
|
-
|
|
16
|
-
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
17
|
-
import {UserLibSettings} from '@datagrok-libraries/bio/src/monomer-works/types';
|
|
18
|
-
import {
|
|
19
|
-
getUserLibSettings, setUserLibSettings,
|
|
20
|
-
} from '@datagrok-libraries/bio/src/monomer-works/lib-settings';
|
|
21
|
-
|
|
22
|
-
import {initHelmMainPackage} from './utils';
|
|
23
|
-
|
|
24
|
-
import {_package} from '../package-test';
|
|
25
|
-
|
|
26
|
-
category('HelmService', () => {
|
|
27
|
-
let monomerLibHelper: IMonomerLibHelper;
|
|
28
|
-
/** Backup actual user's monomer libraries settings */
|
|
29
|
-
let userLibSettings: UserLibSettings;
|
|
30
|
-
|
|
31
|
-
let helmSvc: HelmServiceBase;
|
|
32
|
-
|
|
33
|
-
before(async () => {
|
|
34
|
-
const logPrefix = `Helm: tests: HelmService: before`;
|
|
35
|
-
_package.logger.debug(`${logPrefix}, start`);
|
|
36
|
-
await initHelmMainPackage();
|
|
37
|
-
try {
|
|
38
|
-
monomerLibHelper = await getMonomerLibHelper();
|
|
39
|
-
userLibSettings = await getUserLibSettings();
|
|
40
|
-
|
|
41
|
-
await monomerLibHelper.loadMonomerLibForTests(); // load default libraries
|
|
42
|
-
|
|
43
|
-
helmSvc = await getHelmService();
|
|
44
|
-
await helmSvc.reset();
|
|
45
|
-
|
|
46
|
-
_package.logger.debug(`${logPrefix}, end`);
|
|
47
|
-
} finally {
|
|
48
|
-
_package.logger.debug(`${logPrefix}, fina`);
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
after(async () => {
|
|
53
|
-
const logPrefix = `Helm: tests: HelmService: after`;
|
|
54
|
-
_package.logger.debug(`${logPrefix}, start`);
|
|
55
|
-
|
|
56
|
-
await helmSvc.reset();
|
|
57
|
-
|
|
58
|
-
await setUserLibSettings(userLibSettings);
|
|
59
|
-
await monomerLibHelper.loadMonomerLib(true); // load user settings libraries
|
|
60
|
-
_package.logger.debug(`${logPrefix}, end`);
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
test('helm', async () => {
|
|
64
|
-
const logPrefix: string = `Helm: tests: HelmService: helm`;
|
|
65
|
-
_package.logger.debug(`${logPrefix}, start`);
|
|
66
|
-
const helmStr: string = 'PEPTIDE1{I.H.A.N.T.Thr_PO3H2.Aca.D-Tyr_Et}$$$$';
|
|
67
|
-
const monomerLib = monomerLibHelper.getMonomerLib();
|
|
68
|
-
let consumerId: number | null = null;
|
|
69
|
-
let taskAux: HelmAux | null = null;
|
|
70
|
-
const event = new Subject<void>();
|
|
71
|
-
await testEvent(event,
|
|
72
|
-
() => {
|
|
73
|
-
},
|
|
74
|
-
() => {
|
|
75
|
-
const task: RenderTask<HelmProps, HelmAux> = {
|
|
76
|
-
name: 'test1',
|
|
77
|
-
props: {
|
|
78
|
-
helm: helmStr, monomerLib: monomerLib,
|
|
79
|
-
backColor: DG.Color.fromHtml('#FFFFFF'),
|
|
80
|
-
width: 300, height: 100,
|
|
81
|
-
},
|
|
82
|
-
onAfterRender: (canvas: HTMLCanvasElement, aux: HelmAux) => {
|
|
83
|
-
taskAux = aux;
|
|
84
|
-
event.next();
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
helmSvc.reset();
|
|
88
|
-
consumerId = helmSvc.render(consumerId, task, 0);
|
|
89
|
-
}, 7000);
|
|
90
|
-
expect(taskAux !== null, true, 'Helm task aux is null');
|
|
91
|
-
expect(taskAux!.mol.atoms.length > 0, true, 'Polymer mol atoms empty');
|
|
92
|
-
expect(taskAux!.mol.atoms.length, 8);
|
|
93
|
-
expect(taskAux!.mol.bonds.length, 7);
|
|
94
|
-
expect(helmSvc.errorCount, 0, 'There was errors in NglGlService.');
|
|
95
|
-
expect(consumerId !== null, true, 'consumerId not assigned');
|
|
96
|
-
_package.logger.debug(`${logPrefix}, end`);
|
|
97
|
-
}, {timeout: 10000});
|
|
98
|
-
});
|
package/src/types/dojo.ts
DELETED
package/src/types/index.ts
DELETED
package/src/utils/get-monomer.ts
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import * as grok from 'datagrok-api/grok';
|
|
2
|
-
import * as ui from 'datagrok-api/ui';
|
|
3
|
-
import * as DG from 'datagrok-api/dg';
|
|
4
|
-
|
|
5
|
-
import {ILogger} from '@datagrok-libraries/bio/src/utils/logger';
|
|
6
|
-
import {IMonomerLib, Monomer} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
7
|
-
import {Atom, HelmType, IWebEditorMonomer, GetMonomerResType, HelmAtom} from '@datagrok-libraries/bio/src/helm/types';
|
|
8
|
-
|
|
9
|
-
import {OrgHelmModule, ScilModule} from '../types';
|
|
10
|
-
import {RGROUP_CAP_GROUP_NAME, RGROUP_LABEL, SMILES} from '../constants';
|
|
11
|
-
|
|
12
|
-
import {_package} from '../package';
|
|
13
|
-
|
|
14
|
-
declare const org: OrgHelmModule;
|
|
15
|
-
declare const scil: ScilModule;
|
|
16
|
-
|
|
17
|
-
type GetMonomerOverridingFunc = (
|
|
18
|
-
a: HelmAtom | HelmType, name: string | undefined, monomerLib: IMonomerLib,
|
|
19
|
-
originalGetMonomer: (a: HelmAtom | HelmType, name: string) => GetMonomerResType) => GetMonomerResType;
|
|
20
|
-
|
|
21
|
-
export function getMonomerOverrideAndLogAlert(
|
|
22
|
-
monomerLib: IMonomerLib, getMonomerOverriding: GetMonomerOverridingFunc, trigger: () => void, logger: ILogger,
|
|
23
|
-
): void {
|
|
24
|
-
const logPrefix = 'Helm: overrideGetMonomerAndAlert()';
|
|
25
|
-
const monomers = org.helm.webeditor.Monomers;
|
|
26
|
-
const getMonomerOriginal = monomers.getMonomer.bind(monomers);
|
|
27
|
-
const alertOriginal = scil.Utils.alert;
|
|
28
|
-
try {
|
|
29
|
-
org.helm.webeditor.Monomers.getMonomer =
|
|
30
|
-
(a: HelmAtom | HelmType, name?: string): GetMonomerResType => {
|
|
31
|
-
return getMonomerOverriding(a, name, monomerLib, getMonomerOriginal);
|
|
32
|
-
};
|
|
33
|
-
// Preventing alert message box for missing monomers with compressed Scilligence.JSDraw2.Lite.js
|
|
34
|
-
scil.Utils.alert = (s: string): void => {
|
|
35
|
-
logger.warning(`${logPrefix}, scil.Utils.alert() s = 's'.`);
|
|
36
|
-
};
|
|
37
|
-
trigger();
|
|
38
|
-
} finally {
|
|
39
|
-
monomers.getMonomer = getMonomerOriginal;
|
|
40
|
-
scil.Utils.alert = alertOriginal;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/** Fills org.helm.webeditor.Monomers dictionary for WebEditor */
|
|
45
|
-
export function rewriteLibraries(monomerLib: IMonomerLib): void {
|
|
46
|
-
org.helm.webeditor.Monomers.clear();
|
|
47
|
-
monomerLib!.getPolymerTypes().forEach((polymerType) => {
|
|
48
|
-
const monomerSymbols = monomerLib!.getMonomerSymbolsByType(polymerType);
|
|
49
|
-
monomerSymbols.forEach((monomerSymbol) => {
|
|
50
|
-
let isBroken = false;
|
|
51
|
-
const monomer: Monomer = monomerLib!.getMonomer(polymerType, monomerSymbol)!;
|
|
52
|
-
const webEditorMonomer: IWebEditorMonomer = {
|
|
53
|
-
id: monomerSymbol,
|
|
54
|
-
m: monomer.molfile,
|
|
55
|
-
n: monomer.name,
|
|
56
|
-
na: monomer.naturalAnalog,
|
|
57
|
-
rs: monomer.rgroups.length,
|
|
58
|
-
type: monomer.polymerType,
|
|
59
|
-
mt: monomer.monomerType,
|
|
60
|
-
at: {},
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
if (monomer.rgroups.length > 0) {
|
|
64
|
-
// @ts-ignore
|
|
65
|
-
webEditorMonomer.rs = monomer.rgroups.length;
|
|
66
|
-
const at: { [prop: string]: any } = {};
|
|
67
|
-
monomer.rgroups.forEach((it) => {
|
|
68
|
-
at[it[RGROUP_LABEL]] = it[RGROUP_CAP_GROUP_NAME];
|
|
69
|
-
});
|
|
70
|
-
webEditorMonomer.at = at;
|
|
71
|
-
} else if (monomer[SMILES] != null) {
|
|
72
|
-
const rs = monomerLib.getRS(monomer[SMILES].toString());
|
|
73
|
-
if (rs == null || Object.keys(rs).length === 0)
|
|
74
|
-
isBroken = true;
|
|
75
|
-
else {
|
|
76
|
-
webEditorMonomer.rs = Object.keys(rs).length;
|
|
77
|
-
webEditorMonomer.at = rs;
|
|
78
|
-
}
|
|
79
|
-
} else
|
|
80
|
-
isBroken = true;
|
|
81
|
-
|
|
82
|
-
if (!isBroken)
|
|
83
|
-
org.helm.webeditor.Monomers.addOneMonomer(webEditorMonomer);
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
// Obsolete
|
|
88
|
-
const grid: DG.Grid = grok.shell.tv?.grid;
|
|
89
|
-
if (grid) grid.invalidate();
|
|
90
|
-
}
|