molstar 3.8.2 → 3.10.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.
Files changed (596) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +202 -202
  3. package/build/viewer/embedded.html +43 -43
  4. package/build/viewer/index.html +109 -106
  5. package/build/viewer/molstar.js +1 -1
  6. package/lib/apps/docking-viewer/index.html +36 -36
  7. package/lib/apps/viewer/app.d.ts +5 -2
  8. package/lib/apps/viewer/app.js +11 -7
  9. package/lib/apps/viewer/embedded.html +43 -43
  10. package/lib/apps/viewer/index.html +109 -106
  11. package/lib/cli/cif2bcif/converter.js +1 -1
  12. package/lib/commonjs/apps/viewer/app.d.ts +5 -2
  13. package/lib/commonjs/apps/viewer/app.js +12 -7
  14. package/lib/commonjs/cli/cif2bcif/converter.js +1 -1
  15. package/lib/commonjs/examples/alpha-orbitals/index.d.ts +1 -1
  16. package/lib/commonjs/examples/alpha-orbitals/index.js +4 -1
  17. package/lib/commonjs/examples/basic-wrapper/custom-theme.js +1 -1
  18. package/lib/commonjs/examples/proteopedia-wrapper/coloring.js +3 -3
  19. package/lib/commonjs/extensions/alpha-orbitals/density.d.ts +1 -1
  20. package/lib/commonjs/extensions/alpha-orbitals/density.js +6 -2
  21. package/lib/commonjs/extensions/alpha-orbitals/orbitals.d.ts +1 -1
  22. package/lib/commonjs/extensions/alpha-orbitals/orbitals.js +6 -3
  23. package/lib/commonjs/extensions/anvil/algorithm.js +1 -1
  24. package/lib/commonjs/extensions/cellpack/color/generate.js +1 -1
  25. package/lib/commonjs/extensions/cellpack/color/provided.js +1 -1
  26. package/lib/commonjs/extensions/cellpack/state.js +1 -1
  27. package/lib/commonjs/extensions/dnatco/confal-pyramids/color.js +1 -1
  28. package/lib/commonjs/extensions/g3d/model.js +1 -1
  29. package/lib/commonjs/extensions/geo-export/ui.js +1 -0
  30. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
  31. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
  32. package/lib/commonjs/extensions/mp4-export/ui.js +1 -0
  33. package/lib/commonjs/extensions/pdbe/structure-quality-report/color.js +1 -1
  34. package/lib/commonjs/extensions/rcsb/assembly-symmetry/color.js +4 -4
  35. package/lib/commonjs/extensions/rcsb/validation-report/color/density-fit.js +1 -1
  36. package/lib/commonjs/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
  37. package/lib/commonjs/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
  38. package/lib/commonjs/extensions/rcsb/validation-report/representation.js +2 -2
  39. package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
  40. package/lib/commonjs/mol-canvas3d/controls/trackball.js +7 -7
  41. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +14 -14
  42. package/lib/commonjs/mol-canvas3d/helper/interaction-events.js +5 -5
  43. package/lib/commonjs/mol-canvas3d/passes/draw.js +34 -5
  44. package/lib/commonjs/mol-canvas3d/passes/fxaa.js +5 -0
  45. package/lib/commonjs/mol-canvas3d/passes/marking.js +5 -0
  46. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +9 -0
  47. package/lib/commonjs/mol-canvas3d/passes/pick.d.ts +18 -5
  48. package/lib/commonjs/mol-canvas3d/passes/pick.js +125 -24
  49. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +5 -0
  50. package/lib/commonjs/mol-canvas3d/passes/smaa.js +4 -0
  51. package/lib/commonjs/mol-canvas3d/passes/wboit.js +4 -0
  52. package/lib/commonjs/mol-data/db/column.js +5 -5
  53. package/lib/commonjs/mol-data/db/table.js +2 -2
  54. package/lib/commonjs/mol-data/util/array.d.ts +1 -1
  55. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +1 -1
  56. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +0 -1
  57. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +1 -1
  58. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
  59. package/lib/commonjs/mol-gl/compute/grid3d.d.ts +2 -2
  60. package/lib/commonjs/mol-gl/compute/grid3d.js +30 -8
  61. package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
  62. package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
  63. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
  64. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +6 -1
  65. package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
  66. package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
  67. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
  68. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -10
  69. package/lib/commonjs/mol-gl/renderer.js +77 -32
  70. package/lib/commonjs/mol-gl/scene.js +2 -0
  71. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  72. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  73. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  74. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  75. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  76. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  77. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  78. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  79. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  80. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  81. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  82. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  83. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  84. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  85. package/lib/commonjs/mol-gl/shader/lines.frag.d.ts +1 -1
  86. package/lib/commonjs/mol-gl/shader/lines.frag.js +1 -1
  87. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  88. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  89. package/lib/commonjs/mol-gl/shader/points.frag.d.ts +1 -1
  90. package/lib/commonjs/mol-gl/shader/points.frag.js +1 -1
  91. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  92. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  93. package/lib/commonjs/mol-gl/shader/text.frag.d.ts +1 -1
  94. package/lib/commonjs/mol-gl/shader/text.frag.js +1 -1
  95. package/lib/commonjs/mol-gl/shader-code.d.ts +1 -1
  96. package/lib/commonjs/mol-gl/shader-code.js +41 -9
  97. package/lib/commonjs/mol-gl/webgl/compat.d.ts +34 -1
  98. package/lib/commonjs/mol-gl/webgl/compat.js +50 -2
  99. package/lib/commonjs/mol-gl/webgl/context.d.ts +2 -0
  100. package/lib/commonjs/mol-gl/webgl/context.js +3 -0
  101. package/lib/commonjs/mol-gl/webgl/extensions.d.ts +3 -2
  102. package/lib/commonjs/mol-gl/webgl/extensions.js +6 -1
  103. package/lib/commonjs/mol-gl/webgl/timer.d.ts +22 -0
  104. package/lib/commonjs/mol-gl/webgl/timer.js +169 -0
  105. package/lib/commonjs/mol-io/common/binary-cif/array-encoder.js +18 -18
  106. package/lib/commonjs/mol-io/common/binary-cif/decoder.js +16 -16
  107. package/lib/commonjs/mol-io/common/binary-cif/encoding.js +9 -9
  108. package/lib/commonjs/mol-io/reader/cif/binary/field.js +3 -3
  109. package/lib/commonjs/mol-io/reader/cif/data-model.js +14 -14
  110. package/lib/commonjs/mol-io/reader/cif/schema.js +1 -1
  111. package/lib/commonjs/mol-io/reader/cif/text/parser.js +23 -23
  112. package/lib/commonjs/mol-io/reader/common/text/column/fixed.js +1 -1
  113. package/lib/commonjs/mol-io/reader/common/text/column/token.js +1 -1
  114. package/lib/commonjs/mol-io/reader/common/text/number-parser.js +6 -6
  115. package/lib/commonjs/mol-io/reader/csv/parser.js +8 -8
  116. package/lib/commonjs/mol-io/writer/cif/encoder/binary.js +10 -10
  117. package/lib/commonjs/mol-io/writer/cif/encoder/text.js +7 -7
  118. package/lib/commonjs/mol-io/writer/cif/encoder.js +8 -8
  119. package/lib/commonjs/mol-io/writer/mol2/encoder.js +4 -4
  120. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +13 -2
  121. package/lib/commonjs/mol-model/sequence/alignment/sequence.js +3 -3
  122. package/lib/commonjs/mol-model/sequence/sequence.js +9 -9
  123. package/lib/commonjs/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
  124. package/lib/commonjs/mol-model/structure/export/categories/secondary-structure.js +2 -2
  125. package/lib/commonjs/mol-model/structure/export/categories/utils.js +1 -1
  126. package/lib/commonjs/mol-model/structure/model/model.js +2 -2
  127. package/lib/commonjs/mol-model/structure/model/properties/custom/indexed.js +6 -6
  128. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
  129. package/lib/commonjs/mol-model/structure/model/types.js +116 -116
  130. package/lib/commonjs/mol-model/structure/query/context.js +1 -1
  131. package/lib/commonjs/mol-model/structure/query/queries/generators.js +5 -5
  132. package/lib/commonjs/mol-model/structure/query/queries/internal.js +4 -4
  133. package/lib/commonjs/mol-model/structure/query/queries/modifiers.js +4 -4
  134. package/lib/commonjs/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
  135. package/lib/commonjs/mol-model/structure/query/utils/structure-distance.js +9 -9
  136. package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.d.ts +3 -1
  137. package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.js +192 -108
  138. package/lib/commonjs/mol-model/structure/structure/element/loci.js +5 -5
  139. package/lib/commonjs/mol-model/structure/structure/element/stats.js +5 -5
  140. package/lib/commonjs/mol-model/structure/structure/properties.js +5 -5
  141. package/lib/commonjs/mol-model/structure/structure/structure.js +11 -11
  142. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
  143. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
  144. package/lib/commonjs/mol-model/structure/structure/unit/bonds.js +2 -2
  145. package/lib/commonjs/mol-model/structure/structure/unit/resonance.js +1 -1
  146. package/lib/commonjs/mol-model/structure/structure/unit/rings/compute.js +6 -6
  147. package/lib/commonjs/mol-model/structure/structure/unit/rings.js +6 -6
  148. package/lib/commonjs/mol-model/structure/structure/unit.js +16 -16
  149. package/lib/commonjs/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
  150. package/lib/commonjs/mol-model/structure/util.js +4 -4
  151. package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +2 -2
  152. package/lib/commonjs/mol-model-formats/structure/basic/parser.js +4 -4
  153. package/lib/commonjs/mol-model-formats/structure/basic/properties.js +1 -1
  154. package/lib/commonjs/mol-model-formats/structure/basic/sort.js +1 -1
  155. package/lib/commonjs/mol-model-formats/structure/basic/util.js +1 -1
  156. package/lib/commonjs/mol-model-formats/structure/cif-core.js +6 -6
  157. package/lib/commonjs/mol-model-formats/structure/common/entity.js +1 -1
  158. package/lib/commonjs/mol-model-formats/structure/cube.js +1 -1
  159. package/lib/commonjs/mol-model-formats/structure/gro.js +1 -1
  160. package/lib/commonjs/mol-model-formats/structure/mol.js +1 -1
  161. package/lib/commonjs/mol-model-formats/structure/mol2.js +4 -4
  162. package/lib/commonjs/mol-model-formats/structure/prmtop.js +1 -1
  163. package/lib/commonjs/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
  164. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
  165. package/lib/commonjs/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
  166. package/lib/commonjs/mol-model-formats/structure/property/secondary-structure.js +8 -8
  167. package/lib/commonjs/mol-model-formats/structure/psf.js +1 -1
  168. package/lib/commonjs/mol-model-formats/structure/top.js +1 -1
  169. package/lib/commonjs/mol-model-formats/structure/xyz.js +1 -1
  170. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
  171. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
  172. package/lib/commonjs/mol-model-props/computed/accessible-surface-area.js +2 -2
  173. package/lib/commonjs/mol-model-props/computed/chemistry/functional-group.js +31 -31
  174. package/lib/commonjs/mol-model-props/computed/chemistry/geometry.js +22 -22
  175. package/lib/commonjs/mol-model-props/computed/chemistry/valence-model.js +32 -32
  176. package/lib/commonjs/mol-model-props/computed/interactions/charged.js +39 -39
  177. package/lib/commonjs/mol-model-props/computed/interactions/common.js +34 -34
  178. package/lib/commonjs/mol-model-props/computed/interactions/contacts-builder.js +1 -1
  179. package/lib/commonjs/mol-model-props/computed/interactions/contacts.js +1 -1
  180. package/lib/commonjs/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
  181. package/lib/commonjs/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
  182. package/lib/commonjs/mol-model-props/computed/interactions/hydrophobic.js +9 -9
  183. package/lib/commonjs/mol-model-props/computed/interactions/metal.js +26 -26
  184. package/lib/commonjs/mol-model-props/computed/interactions/refine.js +20 -20
  185. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
  186. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
  187. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
  188. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
  189. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
  190. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
  191. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
  192. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
  193. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp.js +30 -30
  194. package/lib/commonjs/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
  195. package/lib/commonjs/mol-model-props/computed/themes/interaction-type.js +10 -10
  196. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
  197. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
  198. package/lib/commonjs/mol-model-props/sequence/sifts-mapping.js +1 -1
  199. package/lib/commonjs/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
  200. package/lib/commonjs/mol-plugin/animation-loop.d.ts +2 -1
  201. package/lib/commonjs/mol-plugin/animation-loop.js +18 -5
  202. package/lib/commonjs/mol-plugin/behavior/dynamic/camera.js +12 -12
  203. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +7 -7
  204. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
  205. package/lib/commonjs/mol-plugin/config.d.ts +3 -0
  206. package/lib/commonjs/mol-plugin/config.js +3 -1
  207. package/lib/commonjs/mol-plugin/context.d.ts +2 -2
  208. package/lib/commonjs/mol-plugin/context.js +3 -0
  209. package/lib/commonjs/mol-plugin/state.d.ts +1 -14
  210. package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +12 -11
  211. package/lib/commonjs/mol-plugin-state/formats/volume.js +20 -13
  212. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +5 -5
  213. package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
  214. package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +1 -1
  215. package/lib/commonjs/mol-plugin-ui/controls.js +1 -1
  216. package/lib/commonjs/mol-plugin-ui/sequence/polymer.js +1 -1
  217. package/lib/commonjs/mol-plugin-ui/sequence/sequence.js +1 -1
  218. package/lib/commonjs/mol-plugin-ui/state/snapshots.js +1 -0
  219. package/lib/commonjs/mol-plugin-ui/structure/focus.js +1 -1
  220. package/lib/commonjs/mol-plugin-ui/viewport/screenshot.js +1 -0
  221. package/lib/commonjs/mol-plugin-ui/viewport.d.ts +2 -2
  222. package/lib/commonjs/mol-repr/shape/representation.d.ts +1 -1
  223. package/lib/commonjs/mol-repr/shape/representation.js +2 -1
  224. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +1 -1
  225. package/lib/commonjs/mol-repr/structure/complex-visual.js +2 -1
  226. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +1 -1
  227. package/lib/commonjs/mol-repr/structure/units-visual.js +2 -1
  228. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
  229. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
  230. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -15
  231. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +12 -15
  232. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
  233. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
  234. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
  235. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
  236. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  237. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
  238. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +2 -2
  239. package/lib/commonjs/mol-repr/structure/visual/util/common.js +3 -3
  240. package/lib/commonjs/mol-repr/structure/visual/util/link.js +30 -30
  241. package/lib/commonjs/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
  242. package/lib/commonjs/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
  243. package/lib/commonjs/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
  244. package/lib/commonjs/mol-repr/structure/visual/util/polymer.js +6 -6
  245. package/lib/commonjs/mol-repr/volume/representation.d.ts +1 -1
  246. package/lib/commonjs/mol-repr/volume/representation.js +2 -1
  247. package/lib/commonjs/mol-script/language/builder.d.ts +1 -0
  248. package/lib/commonjs/mol-script/language/symbol-table/core.d.ts +2 -2
  249. package/lib/commonjs/mol-script/runtime/query/table.js +13 -13
  250. package/lib/commonjs/mol-state/object.d.ts +3 -3
  251. package/lib/commonjs/mol-task/util/user-timing.js +1 -1
  252. package/lib/commonjs/mol-theme/clipping.js +19 -19
  253. package/lib/commonjs/mol-theme/color/atom-id.js +1 -1
  254. package/lib/commonjs/mol-theme/color/carbohydrate-symbol.js +1 -1
  255. package/lib/commonjs/mol-theme/color/chain-id.js +4 -4
  256. package/lib/commonjs/mol-theme/color/element-index.js +1 -1
  257. package/lib/commonjs/mol-theme/color/element-symbol.js +1 -1
  258. package/lib/commonjs/mol-theme/color/entity-id.js +4 -4
  259. package/lib/commonjs/mol-theme/color/entity-source.js +5 -4
  260. package/lib/commonjs/mol-theme/color/hydrophobicity.js +1 -1
  261. package/lib/commonjs/mol-theme/color/illustrative.js +1 -1
  262. package/lib/commonjs/mol-theme/color/model-index.js +1 -1
  263. package/lib/commonjs/mol-theme/color/molecule-type.js +8 -8
  264. package/lib/commonjs/mol-theme/color/occupancy.js +1 -1
  265. package/lib/commonjs/mol-theme/color/operator-hkl.js +1 -1
  266. package/lib/commonjs/mol-theme/color/operator-name.js +1 -1
  267. package/lib/commonjs/mol-theme/color/partial-charge.js +1 -1
  268. package/lib/commonjs/mol-theme/color/polymer-id.js +4 -4
  269. package/lib/commonjs/mol-theme/color/polymer-index.js +1 -1
  270. package/lib/commonjs/mol-theme/color/residue-name.js +1 -1
  271. package/lib/commonjs/mol-theme/color/secondary-structure.js +12 -12
  272. package/lib/commonjs/mol-theme/color/sequence-id.js +7 -7
  273. package/lib/commonjs/mol-theme/color/shape-group.js +1 -1
  274. package/lib/commonjs/mol-theme/color/uncertainty.js +1 -1
  275. package/lib/commonjs/mol-theme/color/uniform.js +1 -1
  276. package/lib/commonjs/mol-theme/color/unit-index.js +1 -1
  277. package/lib/commonjs/mol-theme/color/volume-value.js +1 -1
  278. package/lib/commonjs/mol-theme/label.js +3 -3
  279. package/lib/commonjs/mol-util/binding.js +4 -4
  280. package/lib/commonjs/mol-util/debug.d.ts +6 -1
  281. package/lib/commonjs/mol-util/debug.js +11 -1
  282. package/lib/commonjs/mol-util/input/input-observer.js +20 -20
  283. package/lib/commonjs/mol-util/string-builder.js +1 -1
  284. package/lib/commonjs/servers/model/preprocess/converter.js +1 -1
  285. package/lib/commonjs/servers/model/server/query.js +1 -1
  286. package/lib/commonjs/servers/model/utils/fetch-retry.js +3 -2
  287. package/lib/commonjs/servers/volume/server/algebra/coordinate.js +6 -6
  288. package/lib/commonjs/servers/volume/server/query/encode.js +1 -1
  289. package/lib/examples/alpha-orbitals/index.d.ts +1 -1
  290. package/lib/examples/alpha-orbitals/index.html +72 -61
  291. package/lib/examples/alpha-orbitals/index.js +4 -1
  292. package/lib/examples/basic-wrapper/custom-theme.js +1 -1
  293. package/lib/examples/basic-wrapper/index.html +137 -137
  294. package/lib/examples/lighting/index.html +88 -88
  295. package/lib/examples/proteopedia-wrapper/coloring.js +3 -3
  296. package/lib/examples/proteopedia-wrapper/index.html +236 -236
  297. package/lib/extensions/alpha-orbitals/density.d.ts +1 -1
  298. package/lib/extensions/alpha-orbitals/density.js +6 -2
  299. package/lib/extensions/alpha-orbitals/orbitals.d.ts +1 -1
  300. package/lib/extensions/alpha-orbitals/orbitals.js +6 -3
  301. package/lib/extensions/anvil/algorithm.js +1 -1
  302. package/lib/extensions/cellpack/color/generate.js +1 -1
  303. package/lib/extensions/cellpack/color/provided.js +1 -1
  304. package/lib/extensions/cellpack/state.js +1 -1
  305. package/lib/extensions/dnatco/confal-pyramids/color.js +1 -1
  306. package/lib/extensions/g3d/model.js +1 -1
  307. package/lib/extensions/geo-export/ui.js +1 -0
  308. package/lib/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
  309. package/lib/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
  310. package/lib/extensions/mp4-export/ui.js +1 -0
  311. package/lib/extensions/pdbe/structure-quality-report/color.js +1 -1
  312. package/lib/extensions/rcsb/assembly-symmetry/color.js +4 -4
  313. package/lib/extensions/rcsb/validation-report/color/density-fit.js +1 -1
  314. package/lib/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
  315. package/lib/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
  316. package/lib/extensions/rcsb/validation-report/representation.js +2 -2
  317. package/lib/mol-canvas3d/canvas3d.js +5 -1
  318. package/lib/mol-canvas3d/controls/trackball.js +7 -7
  319. package/lib/mol-canvas3d/helper/camera-helper.js +14 -14
  320. package/lib/mol-canvas3d/helper/interaction-events.js +5 -5
  321. package/lib/mol-canvas3d/passes/draw.js +34 -5
  322. package/lib/mol-canvas3d/passes/fxaa.js +5 -0
  323. package/lib/mol-canvas3d/passes/marking.js +5 -0
  324. package/lib/mol-canvas3d/passes/multi-sample.js +9 -0
  325. package/lib/mol-canvas3d/passes/pick.d.ts +18 -5
  326. package/lib/mol-canvas3d/passes/pick.js +125 -24
  327. package/lib/mol-canvas3d/passes/postprocessing.js +5 -0
  328. package/lib/mol-canvas3d/passes/smaa.js +5 -1
  329. package/lib/mol-canvas3d/passes/wboit.js +5 -1
  330. package/lib/mol-data/db/column.js +5 -5
  331. package/lib/mol-data/db/table.js +2 -2
  332. package/lib/mol-data/util/array.d.ts +1 -1
  333. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +1 -1
  334. package/lib/mol-geo/geometry/lines/lines.d.ts +0 -1
  335. package/lib/mol-geo/geometry/points/points.d.ts +1 -1
  336. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
  337. package/lib/mol-gl/compute/grid3d.d.ts +2 -2
  338. package/lib/mol-gl/compute/grid3d.js +30 -8
  339. package/lib/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
  340. package/lib/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
  341. package/lib/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
  342. package/lib/mol-gl/compute/histogram-pyramid/sum.js +6 -1
  343. package/lib/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
  344. package/lib/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
  345. package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
  346. package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -10
  347. package/lib/mol-gl/renderer.js +77 -32
  348. package/lib/mol-gl/scene.js +2 -0
  349. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  350. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  351. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  352. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  353. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  354. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  355. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  356. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  357. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  358. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  359. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  360. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  361. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  362. package/lib/mol-gl/shader/image.frag.js +1 -1
  363. package/lib/mol-gl/shader/lines.frag.d.ts +1 -1
  364. package/lib/mol-gl/shader/lines.frag.js +1 -1
  365. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  366. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  367. package/lib/mol-gl/shader/points.frag.d.ts +1 -1
  368. package/lib/mol-gl/shader/points.frag.js +1 -1
  369. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  370. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  371. package/lib/mol-gl/shader/text.frag.d.ts +1 -1
  372. package/lib/mol-gl/shader/text.frag.js +1 -1
  373. package/lib/mol-gl/shader-code.d.ts +1 -1
  374. package/lib/mol-gl/shader-code.js +41 -9
  375. package/lib/mol-gl/webgl/compat.d.ts +34 -1
  376. package/lib/mol-gl/webgl/compat.js +48 -1
  377. package/lib/mol-gl/webgl/context.d.ts +2 -0
  378. package/lib/mol-gl/webgl/context.js +3 -0
  379. package/lib/mol-gl/webgl/extensions.d.ts +3 -2
  380. package/lib/mol-gl/webgl/extensions.js +7 -2
  381. package/lib/mol-gl/webgl/timer.d.ts +22 -0
  382. package/lib/mol-gl/webgl/timer.js +164 -0
  383. package/lib/mol-io/common/binary-cif/array-encoder.js +18 -18
  384. package/lib/mol-io/common/binary-cif/decoder.js +16 -16
  385. package/lib/mol-io/common/binary-cif/encoding.js +9 -9
  386. package/lib/mol-io/reader/cif/binary/field.js +3 -3
  387. package/lib/mol-io/reader/cif/data-model.js +14 -14
  388. package/lib/mol-io/reader/cif/schema.js +1 -1
  389. package/lib/mol-io/reader/cif/text/parser.js +23 -23
  390. package/lib/mol-io/reader/common/text/column/fixed.js +1 -1
  391. package/lib/mol-io/reader/common/text/column/token.js +1 -1
  392. package/lib/mol-io/reader/common/text/number-parser.js +6 -6
  393. package/lib/mol-io/reader/csv/parser.js +8 -8
  394. package/lib/mol-io/writer/cif/encoder/binary.js +10 -10
  395. package/lib/mol-io/writer/cif/encoder/text.js +7 -7
  396. package/lib/mol-io/writer/cif/encoder.js +8 -8
  397. package/lib/mol-io/writer/mol2/encoder.js +4 -4
  398. package/lib/mol-math/geometry/gaussian-density/gpu.js +13 -2
  399. package/lib/mol-model/sequence/alignment/sequence.js +3 -3
  400. package/lib/mol-model/sequence/sequence.js +9 -9
  401. package/lib/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
  402. package/lib/mol-model/structure/export/categories/secondary-structure.js +2 -2
  403. package/lib/mol-model/structure/export/categories/utils.js +1 -1
  404. package/lib/mol-model/structure/model/model.js +2 -2
  405. package/lib/mol-model/structure/model/properties/custom/indexed.js +6 -6
  406. package/lib/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
  407. package/lib/mol-model/structure/model/types.js +116 -116
  408. package/lib/mol-model/structure/query/context.js +1 -1
  409. package/lib/mol-model/structure/query/queries/generators.js +5 -5
  410. package/lib/mol-model/structure/query/queries/internal.js +4 -4
  411. package/lib/mol-model/structure/query/queries/modifiers.js +4 -4
  412. package/lib/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
  413. package/lib/mol-model/structure/query/utils/structure-distance.js +9 -9
  414. package/lib/mol-model/structure/structure/carbohydrates/constants.d.ts +3 -1
  415. package/lib/mol-model/structure/structure/carbohydrates/constants.js +190 -107
  416. package/lib/mol-model/structure/structure/element/loci.js +5 -5
  417. package/lib/mol-model/structure/structure/element/stats.js +5 -5
  418. package/lib/mol-model/structure/structure/properties.js +5 -5
  419. package/lib/mol-model/structure/structure/structure.js +11 -11
  420. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
  421. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
  422. package/lib/mol-model/structure/structure/unit/bonds.js +2 -2
  423. package/lib/mol-model/structure/structure/unit/resonance.js +1 -1
  424. package/lib/mol-model/structure/structure/unit/rings/compute.js +6 -6
  425. package/lib/mol-model/structure/structure/unit/rings.js +6 -6
  426. package/lib/mol-model/structure/structure/unit.js +16 -16
  427. package/lib/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
  428. package/lib/mol-model/structure/util.js +4 -4
  429. package/lib/mol-model-formats/structure/basic/atomic.js +2 -2
  430. package/lib/mol-model-formats/structure/basic/parser.js +4 -4
  431. package/lib/mol-model-formats/structure/basic/properties.js +1 -1
  432. package/lib/mol-model-formats/structure/basic/sort.js +1 -1
  433. package/lib/mol-model-formats/structure/basic/util.js +1 -1
  434. package/lib/mol-model-formats/structure/cif-core.js +6 -6
  435. package/lib/mol-model-formats/structure/common/entity.js +1 -1
  436. package/lib/mol-model-formats/structure/cube.js +1 -1
  437. package/lib/mol-model-formats/structure/gro.js +1 -1
  438. package/lib/mol-model-formats/structure/mol.js +1 -1
  439. package/lib/mol-model-formats/structure/mol2.js +4 -4
  440. package/lib/mol-model-formats/structure/prmtop.js +1 -1
  441. package/lib/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
  442. package/lib/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
  443. package/lib/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
  444. package/lib/mol-model-formats/structure/property/secondary-structure.js +8 -8
  445. package/lib/mol-model-formats/structure/psf.js +1 -1
  446. package/lib/mol-model-formats/structure/top.js +1 -1
  447. package/lib/mol-model-formats/structure/xyz.js +1 -1
  448. package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
  449. package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
  450. package/lib/mol-model-props/computed/accessible-surface-area.js +2 -2
  451. package/lib/mol-model-props/computed/chemistry/functional-group.js +31 -31
  452. package/lib/mol-model-props/computed/chemistry/geometry.js +22 -22
  453. package/lib/mol-model-props/computed/chemistry/valence-model.js +32 -32
  454. package/lib/mol-model-props/computed/interactions/charged.js +39 -39
  455. package/lib/mol-model-props/computed/interactions/common.js +34 -34
  456. package/lib/mol-model-props/computed/interactions/contacts-builder.js +1 -1
  457. package/lib/mol-model-props/computed/interactions/contacts.js +1 -1
  458. package/lib/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
  459. package/lib/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
  460. package/lib/mol-model-props/computed/interactions/hydrophobic.js +9 -9
  461. package/lib/mol-model-props/computed/interactions/metal.js +26 -26
  462. package/lib/mol-model-props/computed/interactions/refine.js +20 -20
  463. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
  464. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
  465. package/lib/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
  466. package/lib/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
  467. package/lib/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
  468. package/lib/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
  469. package/lib/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
  470. package/lib/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
  471. package/lib/mol-model-props/computed/secondary-structure/dssp.js +30 -30
  472. package/lib/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
  473. package/lib/mol-model-props/computed/themes/interaction-type.js +10 -10
  474. package/lib/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
  475. package/lib/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
  476. package/lib/mol-model-props/sequence/sifts-mapping.js +1 -1
  477. package/lib/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
  478. package/lib/mol-plugin/animation-loop.d.ts +2 -1
  479. package/lib/mol-plugin/animation-loop.js +18 -5
  480. package/lib/mol-plugin/behavior/dynamic/camera.js +12 -12
  481. package/lib/mol-plugin/behavior/dynamic/representation.js +7 -7
  482. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
  483. package/lib/mol-plugin/config.d.ts +3 -0
  484. package/lib/mol-plugin/config.js +3 -1
  485. package/lib/mol-plugin/context.d.ts +2 -2
  486. package/lib/mol-plugin/context.js +3 -0
  487. package/lib/mol-plugin/state.d.ts +1 -14
  488. package/lib/mol-plugin/version.js +2 -2
  489. package/lib/mol-plugin-state/formats/volume.d.ts +12 -11
  490. package/lib/mol-plugin-state/formats/volume.js +20 -13
  491. package/lib/mol-plugin-state/helpers/structure-selection-query.js +5 -5
  492. package/lib/mol-plugin-state/transforms/representation.js +2 -2
  493. package/lib/mol-plugin-ui/controls/parameters.d.ts +1 -1
  494. package/lib/mol-plugin-ui/controls.js +1 -1
  495. package/lib/mol-plugin-ui/sequence/polymer.js +1 -1
  496. package/lib/mol-plugin-ui/sequence/sequence.js +1 -1
  497. package/lib/mol-plugin-ui/skin/base/base.scss +32 -32
  498. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  499. package/lib/mol-plugin-ui/skin/base/components/controls.scss +418 -418
  500. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  501. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  502. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  503. package/lib/mol-plugin-ui/skin/base/components/misc.scss +643 -643
  504. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  505. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  506. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  507. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  508. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  509. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +128 -128
  510. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  511. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  512. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  513. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  514. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  515. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  516. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  517. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  518. package/lib/mol-plugin-ui/skin/base/variables.scss +85 -85
  519. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  520. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  521. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  522. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  523. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  524. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  525. package/lib/mol-plugin-ui/state/snapshots.js +1 -0
  526. package/lib/mol-plugin-ui/structure/focus.js +1 -1
  527. package/lib/mol-plugin-ui/viewport/screenshot.js +1 -0
  528. package/lib/mol-plugin-ui/viewport.d.ts +2 -2
  529. package/lib/mol-repr/shape/representation.d.ts +1 -1
  530. package/lib/mol-repr/shape/representation.js +2 -1
  531. package/lib/mol-repr/structure/complex-visual.d.ts +1 -1
  532. package/lib/mol-repr/structure/complex-visual.js +2 -1
  533. package/lib/mol-repr/structure/units-visual.d.ts +1 -1
  534. package/lib/mol-repr/structure/units-visual.js +2 -1
  535. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
  536. package/lib/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
  537. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -15
  538. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +12 -15
  539. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
  540. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
  541. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
  542. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
  543. package/lib/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  544. package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
  545. package/lib/mol-repr/structure/visual/util/bond.js +2 -2
  546. package/lib/mol-repr/structure/visual/util/common.js +3 -3
  547. package/lib/mol-repr/structure/visual/util/link.js +30 -30
  548. package/lib/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
  549. package/lib/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
  550. package/lib/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
  551. package/lib/mol-repr/structure/visual/util/polymer.js +6 -6
  552. package/lib/mol-repr/volume/representation.d.ts +1 -1
  553. package/lib/mol-repr/volume/representation.js +2 -1
  554. package/lib/mol-script/language/builder.d.ts +1 -0
  555. package/lib/mol-script/language/symbol-table/core.d.ts +2 -2
  556. package/lib/mol-script/runtime/query/table.js +13 -13
  557. package/lib/mol-state/object.d.ts +3 -3
  558. package/lib/mol-task/util/user-timing.js +1 -1
  559. package/lib/mol-theme/clipping.js +19 -19
  560. package/lib/mol-theme/color/atom-id.js +1 -1
  561. package/lib/mol-theme/color/carbohydrate-symbol.js +1 -1
  562. package/lib/mol-theme/color/chain-id.js +4 -4
  563. package/lib/mol-theme/color/element-index.js +1 -1
  564. package/lib/mol-theme/color/element-symbol.js +1 -1
  565. package/lib/mol-theme/color/entity-id.js +4 -4
  566. package/lib/mol-theme/color/entity-source.js +5 -4
  567. package/lib/mol-theme/color/hydrophobicity.js +1 -1
  568. package/lib/mol-theme/color/illustrative.js +1 -1
  569. package/lib/mol-theme/color/model-index.js +1 -1
  570. package/lib/mol-theme/color/molecule-type.js +8 -8
  571. package/lib/mol-theme/color/occupancy.js +1 -1
  572. package/lib/mol-theme/color/operator-hkl.js +1 -1
  573. package/lib/mol-theme/color/operator-name.js +1 -1
  574. package/lib/mol-theme/color/partial-charge.js +1 -1
  575. package/lib/mol-theme/color/polymer-id.js +4 -4
  576. package/lib/mol-theme/color/polymer-index.js +1 -1
  577. package/lib/mol-theme/color/residue-name.js +1 -1
  578. package/lib/mol-theme/color/secondary-structure.js +12 -12
  579. package/lib/mol-theme/color/sequence-id.js +7 -7
  580. package/lib/mol-theme/color/shape-group.js +1 -1
  581. package/lib/mol-theme/color/uncertainty.js +1 -1
  582. package/lib/mol-theme/color/uniform.js +1 -1
  583. package/lib/mol-theme/color/unit-index.js +1 -1
  584. package/lib/mol-theme/color/volume-value.js +1 -1
  585. package/lib/mol-theme/label.js +3 -3
  586. package/lib/mol-util/binding.js +4 -4
  587. package/lib/mol-util/debug.d.ts +6 -1
  588. package/lib/mol-util/debug.js +9 -1
  589. package/lib/mol-util/input/input-observer.js +20 -20
  590. package/lib/mol-util/string-builder.js +1 -1
  591. package/lib/servers/model/preprocess/converter.js +1 -1
  592. package/lib/servers/model/server/query.js +1 -1
  593. package/lib/servers/model/utils/fetch-retry.js +3 -2
  594. package/lib/servers/volume/server/algebra/coordinate.js +6 -6
  595. package/lib/servers/volume/server/query/encode.js +1 -1
  596. package/package.json +162 -162
@@ -20,48 +20,48 @@ export var SaccharideColors = ColorMap({
20
20
  Secondary: 0xf1ece1
21
21
  });
22
22
  var SaccharideTypeNameMap = (_a = {},
23
- _a[0 /* Hexose */] = 'Hexose',
24
- _a[1 /* HexNAc */] = 'HexNAc',
25
- _a[2 /* Hexosamine */] = 'Hexosamine',
26
- _a[3 /* Hexuronate */] = 'Hexuronate',
27
- _a[4 /* Deoxyhexose */] = 'Deoxyhexose',
28
- _a[5 /* DeoxyhexNAc */] = 'DeoxyhexNAc',
29
- _a[6 /* DiDeoxyhexose */] = 'Di-deoxyhexose',
30
- _a[7 /* Pentose */] = 'Pentose',
31
- _a[8 /* Deoxynonulosonate */] = 'Deoxynonulosonate',
32
- _a[9 /* DiDeoxynonulosonate */] = 'Di-deoxynonulosonate',
33
- _a[10 /* Unknown */] = 'Unknown',
34
- _a[11 /* Assigned */] = 'Assigned',
23
+ _a[0 /* SaccharideType.Hexose */] = 'Hexose',
24
+ _a[1 /* SaccharideType.HexNAc */] = 'HexNAc',
25
+ _a[2 /* SaccharideType.Hexosamine */] = 'Hexosamine',
26
+ _a[3 /* SaccharideType.Hexuronate */] = 'Hexuronate',
27
+ _a[4 /* SaccharideType.Deoxyhexose */] = 'Deoxyhexose',
28
+ _a[5 /* SaccharideType.DeoxyhexNAc */] = 'DeoxyhexNAc',
29
+ _a[6 /* SaccharideType.DiDeoxyhexose */] = 'Di-deoxyhexose',
30
+ _a[7 /* SaccharideType.Pentose */] = 'Pentose',
31
+ _a[8 /* SaccharideType.Deoxynonulosonate */] = 'Deoxynonulosonate',
32
+ _a[9 /* SaccharideType.DiDeoxynonulosonate */] = 'Di-deoxynonulosonate',
33
+ _a[10 /* SaccharideType.Unknown */] = 'Unknown',
34
+ _a[11 /* SaccharideType.Assigned */] = 'Assigned',
35
35
  _a);
36
36
  export function getSaccharideName(type) {
37
37
  return SaccharideTypeNameMap[type];
38
38
  }
39
39
  var SaccharideTypeShapeMap = (_b = {},
40
- _b[0 /* Hexose */] = 0 /* FilledSphere */,
41
- _b[1 /* HexNAc */] = 1 /* FilledCube */,
42
- _b[2 /* Hexosamine */] = 2 /* CrossedCube */,
43
- _b[3 /* Hexuronate */] = 3 /* DividedDiamond */,
44
- _b[4 /* Deoxyhexose */] = 4 /* FilledCone */,
45
- _b[5 /* DeoxyhexNAc */] = 5 /* DevidedCone */,
46
- _b[6 /* DiDeoxyhexose */] = 6 /* FlatBox */,
47
- _b[7 /* Pentose */] = 7 /* FilledStar */,
48
- _b[8 /* Deoxynonulosonate */] = 8 /* FilledDiamond */,
49
- _b[9 /* DiDeoxynonulosonate */] = 9 /* FlatDiamond */,
50
- _b[10 /* Unknown */] = 10 /* FlatHexagon */,
51
- _b[11 /* Assigned */] = 11 /* Pentagon */,
40
+ _b[0 /* SaccharideType.Hexose */] = 0 /* SaccharideShape.FilledSphere */,
41
+ _b[1 /* SaccharideType.HexNAc */] = 1 /* SaccharideShape.FilledCube */,
42
+ _b[2 /* SaccharideType.Hexosamine */] = 2 /* SaccharideShape.CrossedCube */,
43
+ _b[3 /* SaccharideType.Hexuronate */] = 3 /* SaccharideShape.DividedDiamond */,
44
+ _b[4 /* SaccharideType.Deoxyhexose */] = 4 /* SaccharideShape.FilledCone */,
45
+ _b[5 /* SaccharideType.DeoxyhexNAc */] = 5 /* SaccharideShape.DevidedCone */,
46
+ _b[6 /* SaccharideType.DiDeoxyhexose */] = 6 /* SaccharideShape.FlatBox */,
47
+ _b[7 /* SaccharideType.Pentose */] = 7 /* SaccharideShape.FilledStar */,
48
+ _b[8 /* SaccharideType.Deoxynonulosonate */] = 8 /* SaccharideShape.FilledDiamond */,
49
+ _b[9 /* SaccharideType.DiDeoxynonulosonate */] = 9 /* SaccharideShape.FlatDiamond */,
50
+ _b[10 /* SaccharideType.Unknown */] = 10 /* SaccharideShape.FlatHexagon */,
51
+ _b[11 /* SaccharideType.Assigned */] = 11 /* SaccharideShape.Pentagon */,
52
52
  _b);
53
53
  export function getSaccharideShape(type, ringMemberCount) {
54
- if (type === 10 /* Unknown */) {
54
+ if (type === 10 /* SaccharideType.Unknown */) {
55
55
  if (ringMemberCount === 4)
56
- return 12 /* DiamondPrism */;
56
+ return 12 /* SaccharideShape.DiamondPrism */;
57
57
  else if (ringMemberCount === 5)
58
- return 13 /* PentagonalPrism */;
58
+ return 13 /* SaccharideShape.PentagonalPrism */;
59
59
  else if (ringMemberCount === 6)
60
- return 14 /* HexagonalPrism */;
60
+ return 14 /* SaccharideShape.HexagonalPrism */;
61
61
  else if (ringMemberCount === 7)
62
- return 15 /* HeptagonalPrism */;
62
+ return 15 /* SaccharideShape.HeptagonalPrism */;
63
63
  else
64
- return 10 /* FlatHexagon */;
64
+ return 10 /* SaccharideShape.FlatHexagon */;
65
65
  }
66
66
  else {
67
67
  return SaccharideTypeShapeMap[type];
@@ -71,84 +71,84 @@ export var UnknownSaccharideComponent = {
71
71
  abbr: 'Unk',
72
72
  name: 'Unknown',
73
73
  color: SaccharideColors.Secondary,
74
- type: 10 /* Unknown */
74
+ type: 10 /* SaccharideType.Unknown */
75
75
  };
76
76
  var Monosaccharides = [
77
- { abbr: 'Glc', name: 'Glucose', color: SaccharideColors.Blue, type: 0 /* Hexose */ },
78
- { abbr: 'Man', name: 'Mannose', color: SaccharideColors.Green, type: 0 /* Hexose */ },
79
- { abbr: 'Gal', name: 'Galactose', color: SaccharideColors.Yellow, type: 0 /* Hexose */ },
80
- { abbr: 'Gul', name: 'Gulose', color: SaccharideColors.Orange, type: 0 /* Hexose */ },
81
- { abbr: 'Alt', name: 'Altrose', color: SaccharideColors.Pink, type: 0 /* Hexose */ },
82
- { abbr: 'All', name: 'Allose', color: SaccharideColors.Purple, type: 0 /* Hexose */ },
83
- { abbr: 'Tal', name: 'Talose', color: SaccharideColors.LightBlue, type: 0 /* Hexose */ },
84
- { abbr: 'Ido', name: 'Idose', color: SaccharideColors.Brown, type: 0 /* Hexose */ },
85
- { abbr: 'GlcNAc', name: 'N-Acetyl Glucosamine', color: SaccharideColors.Blue, type: 1 /* HexNAc */ },
86
- { abbr: 'ManNAc', name: 'N-Acetyl Mannosamine', color: SaccharideColors.Green, type: 1 /* HexNAc */ },
87
- { abbr: 'GalNAc', name: 'N-Acetyl Galactosamine', color: SaccharideColors.Yellow, type: 1 /* HexNAc */ },
88
- { abbr: 'GulNAc', name: 'N-Acetyl Gulosamine', color: SaccharideColors.Orange, type: 1 /* HexNAc */ },
89
- { abbr: 'AltNAc', name: 'N-Acetyl Altrosamine', color: SaccharideColors.Pink, type: 1 /* HexNAc */ },
90
- { abbr: 'AllNAc', name: 'N-Acetyl Allosamine', color: SaccharideColors.Purple, type: 1 /* HexNAc */ },
91
- { abbr: 'TalNAc', name: 'N-Acetyl Talosamine', color: SaccharideColors.LightBlue, type: 1 /* HexNAc */ },
92
- { abbr: 'IdoNAc', name: 'N-Acetyl Idosamine', color: SaccharideColors.Brown, type: 1 /* HexNAc */ },
93
- { abbr: 'GlcN', name: 'Glucosamine', color: SaccharideColors.Blue, type: 2 /* Hexosamine */ },
94
- { abbr: 'ManN', name: 'Mannosamine', color: SaccharideColors.Green, type: 2 /* Hexosamine */ },
95
- { abbr: 'GalN', name: 'Galactosamine', color: SaccharideColors.Yellow, type: 2 /* Hexosamine */ },
96
- { abbr: 'GulN', name: 'Gulosamine', color: SaccharideColors.Orange, type: 2 /* Hexosamine */ },
97
- { abbr: 'AltN', name: 'Altrosamine', color: SaccharideColors.Pink, type: 2 /* Hexosamine */ },
98
- { abbr: 'AllN', name: 'Allosamine', color: SaccharideColors.Purple, type: 2 /* Hexosamine */ },
99
- { abbr: 'TalN', name: 'Talosamine', color: SaccharideColors.LightBlue, type: 2 /* Hexosamine */ },
100
- { abbr: 'IdoN', name: 'Idosamine', color: SaccharideColors.Brown, type: 2 /* Hexosamine */ },
101
- { abbr: 'GlcA', name: 'Glucuronic Acid', color: SaccharideColors.Blue, type: 3 /* Hexuronate */ },
102
- { abbr: 'ManA', name: 'Mannuronic Acid', color: SaccharideColors.Green, type: 3 /* Hexuronate */ },
103
- { abbr: 'GalA', name: 'Galacturonic Acid', color: SaccharideColors.Yellow, type: 3 /* Hexuronate */ },
104
- { abbr: 'GulA', name: 'Guluronic Acid', color: SaccharideColors.Orange, type: 3 /* Hexuronate */ },
105
- { abbr: 'AltA', name: 'Altruronic Acid', color: SaccharideColors.Pink, type: 3 /* Hexuronate */ },
106
- { abbr: 'AllA', name: 'Alluronic Acid', color: SaccharideColors.Purple, type: 3 /* Hexuronate */ },
107
- { abbr: 'TalA', name: 'Taluronic Acid', color: SaccharideColors.LightBlue, type: 3 /* Hexuronate */ },
108
- { abbr: 'IdoA', name: 'Iduronic Acid', color: SaccharideColors.Brown, type: 3 /* Hexuronate */ },
109
- { abbr: 'Qui', name: 'Quinovose', color: SaccharideColors.Blue, type: 4 /* Deoxyhexose */ },
110
- { abbr: 'Rha', name: 'Rhamnose', color: SaccharideColors.Green, type: 4 /* Deoxyhexose */ },
111
- { abbr: '6dGul', name: '6-Deoxy Gulose', color: SaccharideColors.Orange, type: 4 /* Deoxyhexose */ },
112
- { abbr: '6dAlt', name: '6-Deoxy Altrose', color: SaccharideColors.Pink, type: 4 /* Deoxyhexose */ },
113
- { abbr: '6dTal', name: '6-Deoxy Talose', color: SaccharideColors.LightBlue, type: 4 /* Deoxyhexose */ },
114
- { abbr: 'Fuc', name: 'Fucose', color: SaccharideColors.Red, type: 4 /* Deoxyhexose */ },
115
- { abbr: 'QuiNAc', name: 'N-Acetyl Quinovosamine', color: SaccharideColors.Blue, type: 5 /* DeoxyhexNAc */ },
116
- { abbr: 'RhaNAc', name: 'N-Acetyl Rhamnosamine', color: SaccharideColors.Green, type: 5 /* DeoxyhexNAc */ },
117
- { abbr: '6dAltNAc', name: 'N-Acetyl 6-Deoxy Altrosamine', color: SaccharideColors.Pink, type: 5 /* DeoxyhexNAc */ },
118
- { abbr: '6dTalNAc', name: 'N-Acetyl 6-Deoxy Talosamine', color: SaccharideColors.LightBlue, type: 5 /* DeoxyhexNAc */ },
119
- { abbr: 'FucNAc', name: 'N-Acetyl Fucosamine', color: SaccharideColors.Red, type: 5 /* DeoxyhexNAc */ },
120
- { abbr: 'Oli', name: 'Olivose', color: SaccharideColors.Blue, type: 6 /* DiDeoxyhexose */ },
121
- { abbr: 'Tyv', name: 'Tyvelose', color: SaccharideColors.Green, type: 6 /* DiDeoxyhexose */ },
122
- { abbr: 'Abe', name: 'Abequose', color: SaccharideColors.Orange, type: 6 /* DiDeoxyhexose */ },
123
- { abbr: 'Par', name: 'Paratose', color: SaccharideColors.Pink, type: 6 /* DiDeoxyhexose */ },
124
- { abbr: 'Dig', name: 'Digitoxose', color: SaccharideColors.Purple, type: 6 /* DiDeoxyhexose */ },
125
- { abbr: 'Col', name: 'Colitose', color: SaccharideColors.LightBlue, type: 6 /* DiDeoxyhexose */ },
126
- { abbr: 'Ara', name: 'Arabinose', color: SaccharideColors.Green, type: 7 /* Pentose */ },
127
- { abbr: 'Lyx', name: 'Lyxose', color: SaccharideColors.Yellow, type: 7 /* Pentose */ },
128
- { abbr: 'Xyl', name: 'Xylose', color: SaccharideColors.Orange, type: 7 /* Pentose */ },
129
- { abbr: 'Rib', name: 'Ribose', color: SaccharideColors.Pink, type: 7 /* Pentose */ },
130
- { abbr: 'Kdn', name: 'Keto-Deoxy Nonulonic Acid', color: SaccharideColors.Green, type: 8 /* Deoxynonulosonate */ },
131
- { abbr: 'Neu5Ac', name: 'N-Acetyl Neuraminic Acid', color: SaccharideColors.Purple, type: 8 /* Deoxynonulosonate */ },
132
- { abbr: 'Neu5Gc', name: 'N-Glycolyl Neuraminic Acid', color: SaccharideColors.LightBlue, type: 8 /* Deoxynonulosonate */ },
133
- { abbr: 'Neu', name: 'Neuraminic Acid', color: SaccharideColors.Brown, type: 8 /* Deoxynonulosonate */ },
134
- { abbr: 'Sia', name: 'Sialic acid', color: SaccharideColors.Red, type: 8 /* Deoxynonulosonate */ },
135
- { abbr: 'Pse', name: 'Pseudaminic Acid', color: SaccharideColors.Green, type: 9 /* DiDeoxynonulosonate */ },
136
- { abbr: 'Leg', name: 'Legionaminic Acid', color: SaccharideColors.Yellow, type: 9 /* DiDeoxynonulosonate */ },
137
- { abbr: 'Aci', name: 'Acinetaminic Acid', color: SaccharideColors.Pink, type: 9 /* DiDeoxynonulosonate */ },
138
- { abbr: '4eLeg', name: '4-Epilegionaminic Acid', color: SaccharideColors.LightBlue, type: 9 /* DiDeoxynonulosonate */ },
139
- { abbr: 'Bac', name: 'Bacillosamine', color: SaccharideColors.Blue, type: 10 /* Unknown */ },
140
- { abbr: 'LDmanHep', name: 'L-Glycero-D-Manno Heptose', color: SaccharideColors.Green, type: 10 /* Unknown */ },
141
- { abbr: 'Kdo', name: 'Keto-Deoxy Octulonic Acid', color: SaccharideColors.Yellow, type: 10 /* Unknown */ },
142
- { abbr: 'Dha', name: '3-Deoxy Lyxo-Heptulosaric Acid', color: SaccharideColors.Orange, type: 10 /* Unknown */ },
143
- { abbr: 'DDmanHep', name: 'D-Glycero-D-Manno-Heptose', color: SaccharideColors.Pink, type: 10 /* Unknown */ },
144
- { abbr: 'MurNAc', name: 'N-Acetyl Muramic Acid', color: SaccharideColors.Purple, type: 10 /* Unknown */ },
145
- { abbr: 'MurNGc', name: 'N-Glycolyl Muramic Acid', color: SaccharideColors.LightBlue, type: 10 /* Unknown */ },
146
- { abbr: 'Mur', name: 'Muramic Acid', color: SaccharideColors.Brown, type: 10 /* Unknown */ },
147
- { abbr: 'Api', name: 'Apicose', color: SaccharideColors.Green, type: 11 /* Assigned */ },
148
- { abbr: 'Fru', name: 'Fructose', color: SaccharideColors.Green, type: 11 /* Assigned */ },
149
- { abbr: 'Tag', name: 'Tagatose', color: SaccharideColors.Yellow, type: 11 /* Assigned */ },
150
- { abbr: 'Sor', name: 'Sorbose', color: SaccharideColors.Orange, type: 11 /* Assigned */ },
151
- { abbr: 'Psi', name: 'Psicose', color: SaccharideColors.Pink, type: 11 /* Assigned */ },
77
+ { abbr: 'Glc', name: 'Glucose', color: SaccharideColors.Blue, type: 0 /* SaccharideType.Hexose */ },
78
+ { abbr: 'Man', name: 'Mannose', color: SaccharideColors.Green, type: 0 /* SaccharideType.Hexose */ },
79
+ { abbr: 'Gal', name: 'Galactose', color: SaccharideColors.Yellow, type: 0 /* SaccharideType.Hexose */ },
80
+ { abbr: 'Gul', name: 'Gulose', color: SaccharideColors.Orange, type: 0 /* SaccharideType.Hexose */ },
81
+ { abbr: 'Alt', name: 'Altrose', color: SaccharideColors.Pink, type: 0 /* SaccharideType.Hexose */ },
82
+ { abbr: 'All', name: 'Allose', color: SaccharideColors.Purple, type: 0 /* SaccharideType.Hexose */ },
83
+ { abbr: 'Tal', name: 'Talose', color: SaccharideColors.LightBlue, type: 0 /* SaccharideType.Hexose */ },
84
+ { abbr: 'Ido', name: 'Idose', color: SaccharideColors.Brown, type: 0 /* SaccharideType.Hexose */ },
85
+ { abbr: 'GlcNAc', name: 'N-Acetyl Glucosamine', color: SaccharideColors.Blue, type: 1 /* SaccharideType.HexNAc */ },
86
+ { abbr: 'ManNAc', name: 'N-Acetyl Mannosamine', color: SaccharideColors.Green, type: 1 /* SaccharideType.HexNAc */ },
87
+ { abbr: 'GalNAc', name: 'N-Acetyl Galactosamine', color: SaccharideColors.Yellow, type: 1 /* SaccharideType.HexNAc */ },
88
+ { abbr: 'GulNAc', name: 'N-Acetyl Gulosamine', color: SaccharideColors.Orange, type: 1 /* SaccharideType.HexNAc */ },
89
+ { abbr: 'AltNAc', name: 'N-Acetyl Altrosamine', color: SaccharideColors.Pink, type: 1 /* SaccharideType.HexNAc */ },
90
+ { abbr: 'AllNAc', name: 'N-Acetyl Allosamine', color: SaccharideColors.Purple, type: 1 /* SaccharideType.HexNAc */ },
91
+ { abbr: 'TalNAc', name: 'N-Acetyl Talosamine', color: SaccharideColors.LightBlue, type: 1 /* SaccharideType.HexNAc */ },
92
+ { abbr: 'IdoNAc', name: 'N-Acetyl Idosamine', color: SaccharideColors.Brown, type: 1 /* SaccharideType.HexNAc */ },
93
+ { abbr: 'GlcN', name: 'Glucosamine', color: SaccharideColors.Blue, type: 2 /* SaccharideType.Hexosamine */ },
94
+ { abbr: 'ManN', name: 'Mannosamine', color: SaccharideColors.Green, type: 2 /* SaccharideType.Hexosamine */ },
95
+ { abbr: 'GalN', name: 'Galactosamine', color: SaccharideColors.Yellow, type: 2 /* SaccharideType.Hexosamine */ },
96
+ { abbr: 'GulN', name: 'Gulosamine', color: SaccharideColors.Orange, type: 2 /* SaccharideType.Hexosamine */ },
97
+ { abbr: 'AltN', name: 'Altrosamine', color: SaccharideColors.Pink, type: 2 /* SaccharideType.Hexosamine */ },
98
+ { abbr: 'AllN', name: 'Allosamine', color: SaccharideColors.Purple, type: 2 /* SaccharideType.Hexosamine */ },
99
+ { abbr: 'TalN', name: 'Talosamine', color: SaccharideColors.LightBlue, type: 2 /* SaccharideType.Hexosamine */ },
100
+ { abbr: 'IdoN', name: 'Idosamine', color: SaccharideColors.Brown, type: 2 /* SaccharideType.Hexosamine */ },
101
+ { abbr: 'GlcA', name: 'Glucuronic Acid', color: SaccharideColors.Blue, type: 3 /* SaccharideType.Hexuronate */ },
102
+ { abbr: 'ManA', name: 'Mannuronic Acid', color: SaccharideColors.Green, type: 3 /* SaccharideType.Hexuronate */ },
103
+ { abbr: 'GalA', name: 'Galacturonic Acid', color: SaccharideColors.Yellow, type: 3 /* SaccharideType.Hexuronate */ },
104
+ { abbr: 'GulA', name: 'Guluronic Acid', color: SaccharideColors.Orange, type: 3 /* SaccharideType.Hexuronate */ },
105
+ { abbr: 'AltA', name: 'Altruronic Acid', color: SaccharideColors.Pink, type: 3 /* SaccharideType.Hexuronate */ },
106
+ { abbr: 'AllA', name: 'Alluronic Acid', color: SaccharideColors.Purple, type: 3 /* SaccharideType.Hexuronate */ },
107
+ { abbr: 'TalA', name: 'Taluronic Acid', color: SaccharideColors.LightBlue, type: 3 /* SaccharideType.Hexuronate */ },
108
+ { abbr: 'IdoA', name: 'Iduronic Acid', color: SaccharideColors.Brown, type: 3 /* SaccharideType.Hexuronate */ },
109
+ { abbr: 'Qui', name: 'Quinovose', color: SaccharideColors.Blue, type: 4 /* SaccharideType.Deoxyhexose */ },
110
+ { abbr: 'Rha', name: 'Rhamnose', color: SaccharideColors.Green, type: 4 /* SaccharideType.Deoxyhexose */ },
111
+ { abbr: '6dGul', name: '6-Deoxy Gulose', color: SaccharideColors.Orange, type: 4 /* SaccharideType.Deoxyhexose */ },
112
+ { abbr: '6dAlt', name: '6-Deoxy Altrose', color: SaccharideColors.Pink, type: 4 /* SaccharideType.Deoxyhexose */ },
113
+ { abbr: '6dTal', name: '6-Deoxy Talose', color: SaccharideColors.LightBlue, type: 4 /* SaccharideType.Deoxyhexose */ },
114
+ { abbr: 'Fuc', name: 'Fucose', color: SaccharideColors.Red, type: 4 /* SaccharideType.Deoxyhexose */ },
115
+ { abbr: 'QuiNAc', name: 'N-Acetyl Quinovosamine', color: SaccharideColors.Blue, type: 5 /* SaccharideType.DeoxyhexNAc */ },
116
+ { abbr: 'RhaNAc', name: 'N-Acetyl Rhamnosamine', color: SaccharideColors.Green, type: 5 /* SaccharideType.DeoxyhexNAc */ },
117
+ { abbr: '6dAltNAc', name: 'N-Acetyl 6-Deoxy Altrosamine', color: SaccharideColors.Pink, type: 5 /* SaccharideType.DeoxyhexNAc */ },
118
+ { abbr: '6dTalNAc', name: 'N-Acetyl 6-Deoxy Talosamine', color: SaccharideColors.LightBlue, type: 5 /* SaccharideType.DeoxyhexNAc */ },
119
+ { abbr: 'FucNAc', name: 'N-Acetyl Fucosamine', color: SaccharideColors.Red, type: 5 /* SaccharideType.DeoxyhexNAc */ },
120
+ { abbr: 'Oli', name: 'Olivose', color: SaccharideColors.Blue, type: 6 /* SaccharideType.DiDeoxyhexose */ },
121
+ { abbr: 'Tyv', name: 'Tyvelose', color: SaccharideColors.Green, type: 6 /* SaccharideType.DiDeoxyhexose */ },
122
+ { abbr: 'Abe', name: 'Abequose', color: SaccharideColors.Orange, type: 6 /* SaccharideType.DiDeoxyhexose */ },
123
+ { abbr: 'Par', name: 'Paratose', color: SaccharideColors.Pink, type: 6 /* SaccharideType.DiDeoxyhexose */ },
124
+ { abbr: 'Dig', name: 'Digitoxose', color: SaccharideColors.Purple, type: 6 /* SaccharideType.DiDeoxyhexose */ },
125
+ { abbr: 'Col', name: 'Colitose', color: SaccharideColors.LightBlue, type: 6 /* SaccharideType.DiDeoxyhexose */ },
126
+ { abbr: 'Ara', name: 'Arabinose', color: SaccharideColors.Green, type: 7 /* SaccharideType.Pentose */ },
127
+ { abbr: 'Lyx', name: 'Lyxose', color: SaccharideColors.Yellow, type: 7 /* SaccharideType.Pentose */ },
128
+ { abbr: 'Xyl', name: 'Xylose', color: SaccharideColors.Orange, type: 7 /* SaccharideType.Pentose */ },
129
+ { abbr: 'Rib', name: 'Ribose', color: SaccharideColors.Pink, type: 7 /* SaccharideType.Pentose */ },
130
+ { abbr: 'Kdn', name: 'Keto-Deoxy Nonulonic Acid', color: SaccharideColors.Green, type: 8 /* SaccharideType.Deoxynonulosonate */ },
131
+ { abbr: 'Neu5Ac', name: 'N-Acetyl Neuraminic Acid', color: SaccharideColors.Purple, type: 8 /* SaccharideType.Deoxynonulosonate */ },
132
+ { abbr: 'Neu5Gc', name: 'N-Glycolyl Neuraminic Acid', color: SaccharideColors.LightBlue, type: 8 /* SaccharideType.Deoxynonulosonate */ },
133
+ { abbr: 'Neu', name: 'Neuraminic Acid', color: SaccharideColors.Brown, type: 8 /* SaccharideType.Deoxynonulosonate */ },
134
+ { abbr: 'Sia', name: 'Sialic acid', color: SaccharideColors.Red, type: 8 /* SaccharideType.Deoxynonulosonate */ },
135
+ { abbr: 'Pse', name: 'Pseudaminic Acid', color: SaccharideColors.Green, type: 9 /* SaccharideType.DiDeoxynonulosonate */ },
136
+ { abbr: 'Leg', name: 'Legionaminic Acid', color: SaccharideColors.Yellow, type: 9 /* SaccharideType.DiDeoxynonulosonate */ },
137
+ { abbr: 'Aci', name: 'Acinetaminic Acid', color: SaccharideColors.Pink, type: 9 /* SaccharideType.DiDeoxynonulosonate */ },
138
+ { abbr: '4eLeg', name: '4-Epilegionaminic Acid', color: SaccharideColors.LightBlue, type: 9 /* SaccharideType.DiDeoxynonulosonate */ },
139
+ { abbr: 'Bac', name: 'Bacillosamine', color: SaccharideColors.Blue, type: 10 /* SaccharideType.Unknown */ },
140
+ { abbr: 'LDmanHep', name: 'L-Glycero-D-Manno Heptose', color: SaccharideColors.Green, type: 10 /* SaccharideType.Unknown */ },
141
+ { abbr: 'Kdo', name: 'Keto-Deoxy Octulonic Acid', color: SaccharideColors.Yellow, type: 10 /* SaccharideType.Unknown */ },
142
+ { abbr: 'Dha', name: '3-Deoxy Lyxo-Heptulosaric Acid', color: SaccharideColors.Orange, type: 10 /* SaccharideType.Unknown */ },
143
+ { abbr: 'DDmanHep', name: 'D-Glycero-D-Manno-Heptose', color: SaccharideColors.Pink, type: 10 /* SaccharideType.Unknown */ },
144
+ { abbr: 'MurNAc', name: 'N-Acetyl Muramic Acid', color: SaccharideColors.Purple, type: 10 /* SaccharideType.Unknown */ },
145
+ { abbr: 'MurNGc', name: 'N-Glycolyl Muramic Acid', color: SaccharideColors.LightBlue, type: 10 /* SaccharideType.Unknown */ },
146
+ { abbr: 'Mur', name: 'Muramic Acid', color: SaccharideColors.Brown, type: 10 /* SaccharideType.Unknown */ },
147
+ { abbr: 'Api', name: 'Apicose', color: SaccharideColors.Green, type: 11 /* SaccharideType.Assigned */ },
148
+ { abbr: 'Fru', name: 'Fructose', color: SaccharideColors.Green, type: 11 /* SaccharideType.Assigned */ },
149
+ { abbr: 'Tag', name: 'Tagatose', color: SaccharideColors.Yellow, type: 11 /* SaccharideType.Assigned */ },
150
+ { abbr: 'Sor', name: 'Sorbose', color: SaccharideColors.Orange, type: 11 /* SaccharideType.Assigned */ },
151
+ { abbr: 'Psi', name: 'Psicose', color: SaccharideColors.Pink, type: 11 /* SaccharideType.Assigned */ },
152
152
  ];
153
153
  export var SaccharidesSnfgMap = (function () {
154
154
  var map = new Map();
@@ -288,7 +288,77 @@ var CharmmSaccharideNames = {
288
288
  Fru: ['AFRU', 'BFRU'],
289
289
  Neu5Ac: ['ANE5AC', 'BNE5AC'],
290
290
  };
291
- export var SaccharideCompIdMap = (function () {
291
+ /**
292
+ * From http://glycam.org/docs/othertoolsservice/2016/06/09/3d-snfg-list-of-residue-names/#GLYCAM
293
+ */
294
+ var GlycamSaccharideNames = {
295
+ Glc: ['0GA', '0GB', '1GA', '1GB', '2GA', '2GB', '3GA', '3GB', '4GA', '4GB', '6GA', '6GB', 'ZGA', 'ZGB', 'YGA', 'YGB', 'XGA', 'XGB', 'WGA', 'WGB', 'VGA', 'VGB', 'UGA', 'UGB', 'TGA', 'TGB', 'SGA', 'SGB', 'RGA', 'RGB', 'QGA', 'QGB', 'PGA', 'PGB', '0gA', '0gB', '1gA', '1gB', '2gA', '2gB', '3gA', '3gB', '4gA', '4gB', '6gA', '6gB', 'ZgA', 'ZgB', 'YgA', 'YgB', 'XgA', 'XgB', 'WgA', 'WgB', 'VgA', 'VgB', 'UgA', 'UgB', 'TgA', 'TgB', 'SgA', 'SgB', 'RgA', 'RgB', 'QgA', 'QgB', 'PgA', 'PgB'],
296
+ GlcNAc: ['0YA', '0YB', '1YA', '1YB', '3YA', '3YB', '4YA', '4YB', '6YA', '6YB', 'WYA', 'WYB', 'VYA', 'VYB', 'UYA', 'UYB', 'QYA', 'QYB', '0yA', '0yB', '1yA', '1yB', '3yA', '3yB', '4yA', '4yB', '6yA', '6yB', 'WyA', 'WyB', 'VyA', 'VyB', 'UyA', 'UyB', 'QyA', 'QyB', '0YS', '0Ys', '3YS', '3Ys', '4YS', '4Ys', '6YS', '6Ys', 'QYS', 'QYs', 'UYS', 'UYs', 'VYS', 'VYs', 'WYS', 'WYs', '0yS', '0ys', '3yS', '3ys', '4yS', '4ys'],
297
+ GlcA: ['0ZA', '0ZB', '1ZA', '1ZB', '2ZA', '2ZB', '3ZA', '3ZB', '4ZA', '4ZB', 'ZZA', 'ZZB', 'YZA', 'YZB', 'WZA', 'WZB', 'TZA', 'TZB', '0zA', '0zB', '1zA', '1zB', '2zA', '2zB', '3zA', '3zB', '4zA', '4zB', 'ZzA', 'ZzB', 'YzA', 'YzB', 'WzA', 'WzB', 'TzA', 'TzB', '0ZBP'],
298
+ GlcN: ['0YN', '3YN', '4YN', '6YN', 'WYN', 'VYN', 'UYN', 'QYN', '3Yn', '4Yn', 'WYn', '0Yn', '0YP', '3YP', '4YP', '6YP', 'WYP', 'VYP', 'UYP', 'QYP', '0Yp', '3Yp', '4Yp', 'WYp'],
299
+ Man: ['0MA', '0MB', '1MA', '1MB', '2MA', '2MB', '3MA', '3MB', '4MA', '4MB', '6MA', '6MB', 'ZMA', 'ZMB', 'YMA', 'YMB', 'XMA', 'XMB', 'WMA', 'WMB', 'VMA', 'VMB', 'UMA', 'UMB', 'TMA', 'TMB', 'SMA', 'SMB', 'RMA', 'RMB', 'QMA', 'QMB', 'PMA', 'PMB', '0mA', '0mB', '1mA', '1mB', '2mA', '2mB', '3mA', '3mB', '4mA', '4mB', '6mA', '6mB', 'ZmA', 'ZmB', 'YmA', 'YmB', 'XmA', 'XmB', 'WmA', 'WmB', 'VmA', 'VmB', 'UmA', 'UmB', 'TmA', 'TmB', 'SmA', 'SmB', 'RmA', 'RmB', 'QmA', 'QmB', 'PmA', 'PmB'],
300
+ ManNAc: ['0WA', '0WB', '1WA', '1WB', '3WA', '3WB', '4WA', '4WB', '6WA', '6WB', 'WWA', 'WWB', 'VWA', 'VWB', 'UWA', 'UWB', 'QWA', 'QWB', '0wA', '0wB', '1wA', '1wB', '3wA', '3wB', '4wA', '4wB', '6wA', '6wB', 'WwA', 'WwB', 'VwA', 'VwB', 'UwA', 'UwB', 'QwA', 'QwB'],
301
+ Ara: ['0AA', '0AB', '1AA', '1AB', '2AA', '2AB', '3AA', '3AB', '4AA', '4AB', 'ZAA', 'ZAB', 'YAA', 'YAB', 'WAA', 'WAB', 'TAA', 'TAB', '0AD', '0AU', '1AD', '1AU', '2AD', '2AU', '3AD', '3AU', '5AD', '5AU', 'ZAD', 'ZAU', '0aA', '0aB', '1aA', '1aB', '2aA', '2aB', '3aA', '3aB', '4aA', '4aB', 'ZaA', 'ZaB', 'YaA', 'YaB', 'WaA', 'WaB', 'TaA', 'TaB', '0aD', '0aU', '1aD', '1aU', '2aD', '2aU', '3aD', '3aU', '5aD', '5aU', 'ZaD', 'ZaU'],
302
+ Gal: ['0LA', '0LB', '1LA', '1LB', '2LA', '2LB', '3LA', '3LB', '4LA', '4LB', '6LA', '6LB', 'ZLA', 'ZLB', 'YLA', 'YLB', 'XLA', 'XLB', 'WLA', 'WLB', 'VLA', 'VLB', 'ULA', 'ULB', 'TLA', 'TLB', 'SLA', 'SLB', 'RLA', 'RLB', 'QLA', 'QLB', 'PLA', 'PLB', '0lA', '0lB', '1lA', '1lB', '2lA', '2lB', '3lA', '3lB', '4lA', '4lB', '6lA', '6lB', 'ZlA', 'ZlB', 'YlA', 'YlB', 'XlA', 'XlB', 'WlA', 'WlB', 'VlA', 'VlB', 'UlA', 'UlB', 'TlA', 'TlB', 'SlA', 'SlB', 'RlA', 'RlB', 'QlA', 'QlB', 'PlA', 'PlB'],
303
+ GalNAc: ['0VA', '0VB', '1VA', '1VB', '3VA', '3VB', '4VA', '4VB', '6VA', '6VB', 'WVA', 'WVB', 'VVA', 'VVB', 'UVA', 'UVB', 'QVA', 'QVB', '0vA', '0vB', '1vA', '1vB', '3vA', '3vB', '4vA', '4vB', '6vA', '6vB', 'WvA', 'WvB', 'VvA', 'VvB', 'UvA', 'UvB', 'QvA', 'QvB'],
304
+ GalA: ['0OA', '0OB', '1OA', '1OB', '2OA', '2OB', '3OA', '3OB', '4OA', '4OB', 'ZOA', 'ZOB', 'YOA', 'YOB', 'WOA', 'WOB', 'TOA', 'TOB', '0oA', '0oB', '1oA', '1oB', '2oA', '2oB', '3oA', '3oB', '4oA', '4oB', 'ZoA', 'ZoB', 'YoA', 'YoB', 'WoA', 'WoB', 'ToA', 'ToB'],
305
+ Gul: ['0KA', '0KB', '1KA', '1KB', '2KA', '2KB', '3KA', '3KB', '4KA', '4KB', '6KA', '6KB', 'ZKA', 'ZKB', 'YKA', 'YKB', 'XKA', 'XKB', 'WKA', 'WKB', 'VKA', 'VKB', 'UKA', 'UKB', 'TKA', 'TKB', 'SKA', 'SKB', 'RKA', 'RKB', 'QKA', 'QKB', 'PKA', 'PKB', '0kA', '0kB', '1kA', '1kB', '2kA', '2kB', '3kA', '3kB', '4kA', '4kB', '6kA', '6kB', 'ZkA', 'ZkB', 'YkA', 'YkB', 'XkA', 'XkB', 'WkA', 'WkB', 'VkA', 'VkB', 'UkA', 'UkB', 'TkA', 'TkB', 'SkA', 'SkB', 'RkA', 'RkB', 'QkA', 'QkB', 'PkA', 'PkB'],
306
+ Alt: ['0EA', '0EB', '1EA', '1EB', '2EA', '2EB', '3EA', '3EB', '4EA', '4EB', '6EA', '6EB', 'ZEA', 'ZEB', 'YEA', 'YEB', 'XEA', 'XEB', 'WEA', 'WEB', 'VEA', 'VEB', 'UEA', 'UEB', 'TEA', 'TEB', 'SEA', 'SEB', 'REA', 'REB', 'QEA', 'QEB', 'PEA', 'PEB', '0eA', '0eB', '1eA', '1eB', '2eA', '2eB', '3eA', '3eB', '4eA', '4eB', '6eA', '6eB', 'ZeA', 'ZeB', 'YeA', 'YeB', 'XeA', 'XeB', 'WeA', 'WeB', 'VeA', 'VeB', 'UeA', 'UeB', 'TeA', 'TeB', 'SeA', 'SeB', 'ReA', 'ReB', 'QeA', 'QeB', 'PeA', 'PeB'],
307
+ All: ['0NA', '0NB', '1NA', '1NB', '2NA', '2NB', '3NA', '3NB', '4NA', '4NB', '6NA', '6NB', 'ZNA', 'ZNB', 'YNA', 'YNB', 'XNA', 'XNB', 'WNA', 'WNB', 'VNA', 'VNB', 'UNA', 'UNB', 'TNA', 'TNB', 'SNA', 'SNB', 'RNA', 'RNB', 'QNA', 'QNB', 'PNA', 'PNB', '0nA', '0nB', '1nA', '1nB', '2nA', '2nB', '3nA', '3nB', '4nA', '4nB', '6nA', '6nB', 'ZnA', 'ZnB', 'YnA', 'YnB', 'XnA', 'XnB', 'WnA', 'WnB', 'VnA', 'VnB', 'UnA', 'UnB', 'TnA', 'TnB', 'SnA', 'SnB', 'RnA', 'RnB', 'QnA', 'QnB', 'PnA', 'PnB'],
308
+ Tal: ['0TA', '0TB', '1TA', '1TB', '2TA', '2TB', '3TA', '3TB', '4TA', '4TB', '6TA', '6TB', 'ZTA', 'ZTB', 'YTA', 'YTB', 'XTA', 'XTB', 'WTA', 'WTB', 'VTA', 'VTB', 'UTA', 'UTB', 'TTA', 'TTB', 'STA', 'STB', 'RTA', 'RTB', 'QTA', 'QTB', 'PTA', 'PTB', '0tA', '0tB', '1tA', '1tB', '2tA', '2tB', '3tA', '3tB', '4tA', '4tB', '6tA', '6tB', 'ZtA', 'ZtB', 'YtA', 'YtB', 'XtA', 'XtB', 'WtA', 'WtB', 'VtA', 'VtB', 'UtA', 'UtB', 'TtA', 'TtB', 'StA', 'StB', 'RtA', 'RtB', 'QtA', 'QtB', 'PtA', 'PtB'],
309
+ Ido: ['0IA', '0IB', '1IA', '1IB', '2IA', '2IB', '3IA', '3IB', '4IA', '4IB', '6IA', '6IB', 'ZIA', 'ZIB', 'YIA', 'YIB', 'XIA', 'XIB', 'WIA', 'WIB', 'VIA', 'VIB', 'UIA', 'UIB', 'TIA', 'TIB', 'SIA', 'SIB', 'RIA', 'RIB', 'QIA', 'QIB', 'PIA', 'PIB', '0iA', '0iB', '1iA', '1iB', '2iA', '2iB', '3iA', '3iB', '4iA', '4iB', '6iA', '6iB', 'ZiA', 'ZiB', 'YiA', 'YiB', 'XiA', 'XiB', 'WiA', 'WiB', 'ViA', 'ViB', 'UiA', 'UiB', 'TiA', 'TiB', 'SiA', 'SiB', 'RiA', 'RiB', 'QiA', 'QiB', 'PiA', 'PiB'],
310
+ IdoA: ['0UA', '0UB', '1UA', '1UB', '2UA', '2UB', '3UA', '3UB', '4UA', '4UB', 'ZUA', 'ZUB', 'YUA', 'YUB', 'WUA', 'WUB', 'TUA', 'TUB', '0uA', '0uB', '1uA', '1uB', '2uA', '2uB', '3uA', '3uB', '4uA', '4uB', 'ZuA', 'ZuB', 'YuA', 'YuB', 'WuA', 'WuB', 'TuA', 'TuB', 'YuAP'],
311
+ Fuc: ['0FA', '0FB', '1FA', '1FB', '2FA', '2FB', '3FA', '3FB', '4FA', '4FB', 'ZFA', 'ZFB', 'YFA', 'YFB', 'WFA', 'WFB', 'TFA', 'TFB', '0fA', '0fB', '1fA', '1fB', '2fA', '2fB', '3fA', '3fB', '4fA', '4fB', 'ZfA', 'ZfB', 'YfA', 'YfB', 'WfA', 'WfB', 'TfA', 'TfB'],
312
+ Rha: ['0HA', '0HB', '1HA', '1HB', '2HA', '2HB', '3HA', '3HB', '4HA', '4HB', 'ZHA', 'ZHB', 'YHA', 'YHB', 'WHA', 'WHB', 'THA', 'THB', '0hA', '0hB', '1hA', '1hB', '2hA', '2hB', '3hA', '3hB', '4hA', '4hB', 'ZhA', 'ZhB', 'YhA', 'YhB', 'WhA', 'WhB', 'ThA', 'ThB'],
313
+ Qui: ['0QA', '0QB', '1QA', '1QB', '2QA', '2QB', '3QA', '3QB', '4QA', '4QB', 'ZQA', 'ZQB', 'YQA', 'YQB', 'WQA', 'WQB', 'TQA', 'TQB', '0qA', '0qB', '1qA', '1qB', '2qA', '2qB', '3qA', '3qB', '4qA', '4qB', 'ZqA', 'ZqB', 'YqA', 'YqB', 'WqA', 'WqB', 'TqA', 'TqB'],
314
+ Lyx: ['0DA', '0DB', '1DA', '1DB', '2DA', '2DB', '3DA', '3DB', '4DA', '4DB', 'ZDA', 'ZDB', 'YDA', 'YDB', 'WDA', 'WDB', 'TDA', 'TDB', '0DD', '0DU', '1DD', '1DU', '2DD', '2DU', '3DD', '3DU', '5DD', '5DU', 'ZDD', 'ZDU', '0dA', '0dB', '1dA', '1dB', '2dA', '2dB', '3dA', '3dB', '4dA', '4dB', 'ZdA', 'ZdB', 'YdA', 'YdB', 'WdA', 'WdB', 'TdA', 'TdB', '0dD', '0dU', '1dD', '1dU', '2dD', '2dU', '3dD', '3dU', '5dD', '5dU', 'ZdD', 'ZdU'],
315
+ Xyl: ['0XA', '0XB', '1XA', '1XB', '2XA', '2XB', '3XA', '3XB', '4XA', '4XB', 'ZXA', 'ZXB', 'YXA', 'YXB', 'WXA', 'WXB', 'TXA', 'TXB', '0XD', '0XU', '1XD', '1XU', '2XD', '2XU', '3XD', '3XU', '5XD', '5XU', 'ZXD', 'ZXU', '0xA', '0xB', '1xA', '1xB', '2xA', '2xB', '3xA', '3xB', '4xA', '4xB', 'ZxA', 'ZxB', 'YxA', 'YxB', 'WxA', 'WxB', 'TxA', 'TxB', '0xD', '0xU', '1xD', '1xU', '2xD', '2xU', '3xD', '3xU', '5xD', '5xU', 'ZxD', 'ZxU'],
316
+ Rib: ['0RA', '0RB', '1RA', '1RB', '2RA', '2RB', '3RA', '3RB', '4RA', '4RB', 'ZRA', 'ZRB', 'YRA', 'YRB', 'WRA', 'WRB', 'TRA', 'TRB', '0RD', '0RU', '1RD', '1RU', '2RD', '2RU', '3RD', '3RU', '5RD', '5RU', 'ZRD', 'ZRU', '0rA', '0rB', '1rA', '1rB', '2rA', '2rB', '3rA', '3rB', '4rA', '4rB', 'ZrA', 'ZrB', 'YrA', 'YrB', 'WrA', 'WrB', 'TrA', 'TrB', '0rD', '0rU', '1rD', '1rU', '2rD', '2rU', '3rD', '3rU', '5rD', '5rU', 'ZrD', 'ZrU'],
317
+ Fru: ['0CA', '0CB', '1CA', '1CB', '2CA', '2CB', '3CA', '3CB', '4CA', '4CB', '5CA', '5CB', 'WCA', 'WCB', '0CD', '0CU', '1CD', '1CU', '2CD', '2CU', '3CD', '3CU', '4CD', '4CU', '6CD', '6CU', 'WCD', 'WCU', 'VCD', 'VCU', 'UCD', 'UCU', 'QCD', 'QCU', '0cA', '0cB', '1cA', '1cB', '2cA', '2cB', '3cA', '3cB', '4cA', '4cB', '5cA', '5cB', 'WcA', 'WcB', '0cD', '0cU', '1cD', '1cU', '2cD', '2cU', '3cD', '3cU', '4cD', '4cU', '6cD', '6cU', 'WcD', 'WcU', 'VcD', 'VcU', 'UcD', 'UcU', 'QcD', 'QcU'],
318
+ Tag: ['0JA', '0JB', '1JA', '1JB', '2JA', '2JB', '3JA', '3JB', '4JA', '4JB', '5JA', '5JB', 'WJA', 'WJB', '0JD', '0JU', '1JD', '1JU', '2JD', '2JU', '3JD', '3JU', '4JD', '4JU', '6JD', '6JU', 'WJD', 'WJU', 'VJD', 'VJU', 'UJD', 'UJU', 'QJD', 'QJU', '0jA', '0jB', '1jA', '1jB', '2jA', '2jB', '3jA', '3jB', '4jA', '4jB', '5jA', '5jB', 'WjA', 'WjB', '0jD', '0jU', '1jD', '1jU', '2jD', '2jU', '3jD', '3jU', '4jD', '4jU', '6jD', '6jU', 'WjD', 'WjU', 'VjD', 'VjU', 'UjD', 'UjU', 'QjD', 'QjU'],
319
+ Sor: ['0BA', '0BB', '1BA', '1BB', '2BA', '2BB', '3BA', '3BB', '4BA', '4BB', '5BA', '5BB', 'WBA', 'WBB', '0BD', '0BU', '1BD', '1BU', '2BD', '2BU', '3BD', '3BU', '4BD', '4BU', '6BD', '6BU', 'WBD', 'WBU', 'VBD', 'VBU', 'UBD', 'UBU', 'QBD', 'QBU', '0bA', '0bB', '1bA', '1bB', '2bA', '2bB', '3bA', '3bB', '4bA', '4bB', '5bA', '5bB', 'WbA', 'WbB', '0bD', '0bU', '1bD', '1bU', '2bD', '2bU', '3bD', '3bU', '4bD', '4bU', '6bD', '6bU', 'WbD', 'WbU', 'VbD', 'VbU', 'UbD', 'UbU', 'QbD', 'QbU'],
320
+ Psi: ['0PA', '0PB', '1PA', '1PB', '2PA', '2PB', '3PA', '3PB', '4PA', '4PB', '5PA', '5PB', 'WPA', 'WPB', '0PD', '0PU', '1PD', '1PU', '2PD', '2PU', '3PD', '3PU', '4PD', '4PU', '6PD', '6PU', 'WPD', 'WPU', 'VPD', 'VPU', 'UPD', 'UPU', 'QPD', 'QPU', '0pA', '0pB', '1pA', '1pB', '2pA', '2pB', '3pA', '3pB', '4pA', '4pB', '5pA', '5pB', 'WpA', 'WpB', '0pD', '0pU', '1pD', '1pU', '2pD', '2pU', '3pD', '3pU', '4pD', '4pU', '6pD', '6pU', 'WpD', 'WpU', 'VpD', 'VpU', 'UpD', 'UpU', 'QpD', 'QpU'],
321
+ Neu5Ac: ['0SA', '0SB', '4SA', '4SB', '7SA', '7SB', '8SA', '8SB', '9SA', '9SB', 'ASA', 'ASB', 'BSA', 'BSB', 'CSA', 'CSB', 'DSA', 'DSB', 'ESA', 'ESB', 'FSA', 'FSB', 'GSA', 'GSB', 'HSA', 'HSB', 'ISA', 'ISB', 'JSA', 'JSB', 'KSA', 'KSB', '0sA', '0sB', '4sA', '4sB', '7sA', '7sB', '8sA', '8sB', '9sA', '9sB', 'AsA', 'AsB', 'BsA', 'BsB', 'CsA', 'CsB', 'DsA', 'DsB', 'EsA', 'EsB', 'FsA', 'FsB', 'GsA', 'GsB', 'HsA', 'HsB', 'IsA', 'IsB', 'JsA', 'JsB', 'KsA', 'KsB'],
322
+ Neu5Gc: ['0GL', '4GL', '7GL', '8GL', '9GL', 'CGL', 'DGL', 'EGL', 'FGL', 'GGL', 'HGL', 'IGL', 'JGL', 'KGL', '0gL', '4gL', '7gL', '8gL', '9gL', 'AgL', 'BgL', 'CgL', 'DgL', 'EgL', 'FgL', 'GgL', 'HgL', 'IgL', 'JgL', 'KgL'],
323
+ Tyv: ['0TV', '0Tv', '1TV', '1Tv', '2TV', '2Tv', '4TV', '4Tv', 'YTV', 'YTv', '0tV', '0tv', '1tV', '1tv', '2tV', '2tv', '4tV', '4tv', 'YtV', 'Ytv'],
324
+ Abe: ['0AE', '2AE', '4AE', 'YGa', '0AF', '2AF', '4AF', 'YAF'],
325
+ Bac: ['0BC', '3BC', '0bC', '3bC'],
326
+ Kdn: ['0KN', '4KN', '5KN', '7KN', '8KN', '9KN', 'AKN', 'BKN', 'CKN', 'DKN', 'EKN', 'FKN', 'GKN', 'HKN', 'IKN', 'JKN', 'KKN', 'LKN', 'MKN', 'NKN', 'OKN', 'PKN', 'QKN', 'RKN', 'SKN', 'TKN', 'UKN', 'VKN', 'WKN', 'XKN', 'YKN', '0Kn', '4Kn', '5Kn', '7Kn', '8Kn', '9Kn', 'AKn', 'BKn', 'CKn', 'DKn', 'EKn', 'FKn', 'GKn', 'HKn', 'IKn', 'JKn', 'KKn', 'LKn', 'MKn', 'NKn', 'OKn', 'PKn', 'QKn', 'RKn', 'SKn', 'TKn', 'UKn', 'VKn', 'WKn', 'XKn', 'YKn'],
327
+ Kdo: ['0KO', '4KO', '5KO', '7KO', '8KO', 'AKO', 'BKO', 'CKO', 'DKO', 'EKO', 'FKO', 'GKO', 'HKO', 'IKO', 'JKO', 'KKO', '0Ko', '4Ko', '5Ko', '7Ko', '8Ko', 'AKo', 'BKo', 'CKo', 'DKo', 'EKo', 'FKo', 'GKo', 'HKo', 'IKo', 'JKo', 'KKo'],
328
+ };
329
+ var DefaultSaccharideCompIdMap = (function () {
330
+ var map = new Map();
331
+ for (var i = 0, il = Monosaccharides.length; i < il; ++i) {
332
+ var saccharide = Monosaccharides[i];
333
+ var common = CommonSaccharideNames[saccharide.abbr];
334
+ if (common) {
335
+ for (var j = 0, jl = common.length; j < jl; ++j) {
336
+ map.set(common[j], saccharide);
337
+ }
338
+ }
339
+ var charmm = CharmmSaccharideNames[saccharide.abbr];
340
+ if (charmm) {
341
+ for (var j = 0, jl = charmm.length; j < jl; ++j) {
342
+ map.set(charmm[j], saccharide);
343
+ }
344
+ }
345
+ var glycam = GlycamSaccharideNames[saccharide.abbr];
346
+ if (glycam) {
347
+ for (var j = 0, jl = glycam.length; j < jl; ++j) {
348
+ // On collision, use PDB name as default.
349
+ if (!map.has(glycam[j])) {
350
+ map.set(glycam[j], saccharide);
351
+ }
352
+ }
353
+ }
354
+ }
355
+ SaccharideNames.forEach(function (name) {
356
+ if (!map.has(name))
357
+ map.set(name, UnknownSaccharideComponent);
358
+ });
359
+ return map;
360
+ })();
361
+ var GlycamSaccharideCompIdMap = (function () {
292
362
  var map = new Map();
293
363
  for (var i = 0, il = Monosaccharides.length; i < il; ++i) {
294
364
  var saccharide = Monosaccharides[i];
@@ -304,6 +374,15 @@ export var SaccharideCompIdMap = (function () {
304
374
  map.set(charmm[j], saccharide);
305
375
  }
306
376
  }
377
+ var glycam = GlycamSaccharideNames[saccharide.abbr];
378
+ if (glycam) {
379
+ for (var j = 0, jl = glycam.length; j < jl; ++j) {
380
+ // On collision, use PDB name as default.
381
+ if (!map.has(glycam[j])) {
382
+ map.set(glycam[j], saccharide);
383
+ }
384
+ }
385
+ }
307
386
  }
308
387
  SaccharideNames.forEach(function (name) {
309
388
  if (!map.has(name))
@@ -311,3 +390,7 @@ export var SaccharideCompIdMap = (function () {
311
390
  });
312
391
  return map;
313
392
  })();
393
+ export function setSaccharideCompIdMapType(type) {
394
+ SaccharideCompIdMap = type === 'default' ? DefaultSaccharideCompIdMap : GlycamSaccharideCompIdMap;
395
+ }
396
+ export var SaccharideCompIdMap = DefaultSaccharideCompIdMap;
@@ -278,7 +278,7 @@ export function Loci(structure, elements) {
278
278
  elements[elements.length] = lociElement;
279
279
  continue;
280
280
  }
281
- if (lociElement.unit.kind === 0 /* Atomic */) {
281
+ if (lociElement.unit.kind === 0 /* Unit.Kind.Atomic */) {
282
282
  var unitElements = lociElement.unit.elements;
283
283
  var h = lociElement.unit.model.atomicHierarchy;
284
284
  var label_alt_id = lociElement.unit.model.atomicHierarchy.atoms.label_alt_id;
@@ -322,9 +322,9 @@ export function Loci(structure, elements) {
322
322
  Loci.extendToWholeResidues = extendToWholeResidues;
323
323
  function getChainSegments(unit) {
324
324
  switch (unit.kind) {
325
- case 0 /* Atomic */: return unit.model.atomicHierarchy.chainAtomSegments;
326
- case 1 /* Spheres */: return unit.model.coarseHierarchy.spheres.chainElementSegments;
327
- case 2 /* Gaussians */: return unit.model.coarseHierarchy.gaussians.chainElementSegments;
325
+ case 0 /* Unit.Kind.Atomic */: return unit.model.atomicHierarchy.chainAtomSegments;
326
+ case 1 /* Unit.Kind.Spheres */: return unit.model.coarseHierarchy.spheres.chainElementSegments;
327
+ case 2 /* Unit.Kind.Gaussians */: return unit.model.coarseHierarchy.gaussians.chainElementSegments;
328
328
  }
329
329
  }
330
330
  function isWholeUnit(element) {
@@ -389,7 +389,7 @@ export function Loci(structure, elements) {
389
389
  var elements = [];
390
390
  for (var i = 0, len = loci.elements.length; i < len; i++) {
391
391
  var e = loci.elements[i];
392
- if (Unit.Traits.is(e.unit.traits, 2 /* Partitioned */)) {
392
+ if (Unit.Traits.is(e.unit.traits, 2 /* Unit.Trait.Partitioned */)) {
393
393
  var start = i;
394
394
  while (i < len && Unit.areSameChainOperatorGroup(loci.elements[i].unit, e.unit)) {
395
395
  i++;
@@ -48,7 +48,7 @@ export var Stats;
48
48
  }
49
49
  }
50
50
  else if (size === 1) {
51
- if (Unit.Traits.is(unit.traits, 1 /* MultiChain */)) {
51
+ if (Unit.Traits.is(unit.traits, 1 /* Unit.Trait.MultiChain */)) {
52
52
  // handled in `handleUnitChainsSimple`
53
53
  return;
54
54
  }
@@ -133,7 +133,7 @@ export var Stats;
133
133
  if (size === 0)
134
134
  return;
135
135
  var elements = unit.elements;
136
- if (!Unit.Traits.is(unit.traits, 1 /* MultiChain */)) {
136
+ if (!Unit.Traits.is(unit.traits, 1 /* Unit.Trait.MultiChain */)) {
137
137
  if (size === elements.length) {
138
138
  stats.chainCount += 1;
139
139
  if (stats.chainCount === 1) {
@@ -207,7 +207,7 @@ export var Stats;
207
207
  if (size === 0)
208
208
  continue;
209
209
  var elements = unit.elements;
210
- if (!Unit.Traits.is(unit.traits, 1 /* MultiChain */)) {
210
+ if (!Unit.Traits.is(unit.traits, 1 /* Unit.Trait.MultiChain */)) {
211
211
  var eI = elements[OrderedSet.start(indices)];
212
212
  addCountHelper(chainCounts, index[eI], elements.length);
213
213
  continue;
@@ -275,7 +275,7 @@ export var Stats;
275
275
  for (var _i = 0, _b = loci.elements; _i < _b.length; _i++) {
276
276
  var e = _b[_i];
277
277
  handleElement(stats, loci.structure, e);
278
- if (!Unit.Traits.is(e.unit.traits, 2 /* Partitioned */)) {
278
+ if (!Unit.Traits.is(e.unit.traits, 2 /* Unit.Trait.Partitioned */)) {
279
279
  handleUnitChainsSimple(stats, loci.structure, e);
280
280
  }
281
281
  else {
@@ -286,7 +286,7 @@ export var Stats;
286
286
  if (hasPartitions) {
287
287
  for (var i = 0, len = loci.elements.length; i < len; i++) {
288
288
  var e = loci.elements[i];
289
- if (!Unit.Traits.is(e.unit.traits, 2 /* Partitioned */))
289
+ if (!Unit.Traits.is(e.unit.traits, 2 /* Unit.Trait.Partitioned */))
290
290
  continue;
291
291
  var start = i;
292
292
  while (i < len && Unit.areSameChainOperatorGroup(loci.elements[i].unit, e.unit)) {
@@ -87,7 +87,7 @@ var residue = {
87
87
  if (!Unit.isAtomic(l.unit))
88
88
  notAtomic();
89
89
  var secStruc = (_a = SecondaryStructureProvider.get(l.structure).value) === null || _a === void 0 ? void 0 : _a.get(l.unit.invariantId);
90
- return secStruc ? secStruc.type[secStruc.getIndex(l.unit.residueIndex[l.element])] : 536870912 /* NA */;
90
+ return secStruc ? secStruc.type[secStruc.getIndex(l.unit.residueIndex[l.element])] : 536870912 /* SecondaryStructureType.Flag.NA */;
91
91
  }),
92
92
  secondary_structure_key: p(function (l) {
93
93
  var _a;
@@ -121,11 +121,11 @@ var coarse = {
121
121
  };
122
122
  function eK(l) {
123
123
  switch (l.unit.kind) {
124
- case 0 /* Atomic */:
124
+ case 0 /* Unit.Kind.Atomic */:
125
125
  return l.unit.model.atomicHierarchy.index.getEntityFromChain(l.unit.chainIndex[l.element]);
126
- case 1 /* Spheres */:
126
+ case 1 /* Unit.Kind.Spheres */:
127
127
  return l.unit.model.coarseHierarchy.spheres.entityKey[l.element];
128
- case 2 /* Gaussians */:
128
+ case 2 /* Unit.Kind.Gaussians */:
129
129
  return l.unit.model.coarseHierarchy.gaussians.entityKey[l.element];
130
130
  }
131
131
  }
@@ -148,7 +148,7 @@ var _emptyList = [];
148
148
  var unit = {
149
149
  id: p(function (l) { return l.unit.id; }),
150
150
  chainGroupId: p(function (l) { return l.unit.chainGroupId; }),
151
- multiChain: p(function (l) { return Unit.Traits.is(l.unit.traits, 1 /* MultiChain */); }),
151
+ multiChain: p(function (l) { return Unit.Traits.is(l.unit.traits, 1 /* Unit.Trait.MultiChain */); }),
152
152
  object_primitive: p(function (l) { return l.unit.objectPrimitive; }),
153
153
  operator_name: p(function (l) { return l.unit.conformation.operator.name; }),
154
154
  model_index: p(function (l) { return l.unit.model.modelNum; }),
@@ -595,7 +595,7 @@ function getEntityIndices(structure) {
595
595
  var keys = UniqueArray.create();
596
596
  for (var _a = 0, units_2 = units; _a < units_2.length; _a++) {
597
597
  var unit = units_2[_a];
598
- var prop = unit.kind === 0 /* Atomic */ ? StructureProperties.entity.key : StructureProperties.coarse.entityKey;
598
+ var prop = unit.kind === 0 /* Unit.Kind.Atomic */ ? StructureProperties.entity.key : StructureProperties.coarse.entityKey;
599
599
  l.unit = unit;
600
600
  var elements = unit.elements;
601
601
  var chainsIt = Segmentation.transientSegments(unit.model.atomicHierarchy.chainAtomSegments, elements);
@@ -921,20 +921,20 @@ function getSerialMapping(structure) {
921
921
  partitionAtomicUnitByResidue(model, elements, builder, multiChain, operator);
922
922
  }
923
923
  else {
924
- builder.addUnit(0 /* Atomic */, model, operator, elements, multiChain ? 1 /* MultiChain */ : 0 /* None */);
924
+ builder.addUnit(0 /* Unit.Kind.Atomic */, model, operator, elements, multiChain ? 1 /* Unit.Trait.MultiChain */ : 0 /* Unit.Trait.None */);
925
925
  }
926
926
  }
927
927
  else {
928
- builder.addUnit(0 /* Atomic */, model, operator, elements, multiChain ? 1 /* MultiChain */ : 0 /* None */);
928
+ builder.addUnit(0 /* Unit.Kind.Atomic */, model, operator, elements, multiChain ? 1 /* Unit.Trait.MultiChain */ : 0 /* Unit.Trait.None */);
929
929
  }
930
930
  }
931
931
  var cs = model.coarseHierarchy;
932
932
  if (cs.isDefined) {
933
933
  if (cs.spheres.count > 0) {
934
- addCoarseUnits(builder, model, model.coarseHierarchy.spheres, 1 /* Spheres */);
934
+ addCoarseUnits(builder, model, model.coarseHierarchy.spheres, 1 /* Unit.Kind.Spheres */);
935
935
  }
936
936
  if (cs.gaussians.count > 0) {
937
- addCoarseUnits(builder, model, model.coarseHierarchy.gaussians, 2 /* Gaussians */);
937
+ addCoarseUnits(builder, model, model.coarseHierarchy.gaussians, 2 /* Unit.Kind.Gaussians */);
938
938
  }
939
939
  }
940
940
  return builder.getStructure();
@@ -953,7 +953,7 @@ function getSerialMapping(structure) {
953
953
  var position = { x: x, y: y, z: z, indices: indices };
954
954
  var lookup = GridLookup3D(position, getBoundary(position), 8192);
955
955
  var _b = lookup.buckets, offset = _b.offset, count = _b.count, array = _b.array;
956
- var traits = (multiChain ? 1 /* MultiChain */ : 0 /* None */) | (offset.length > 1 ? 2 /* Partitioned */ : 0 /* None */);
956
+ var traits = (multiChain ? 1 /* Unit.Trait.MultiChain */ : 0 /* Unit.Trait.None */) | (offset.length > 1 ? 2 /* Unit.Trait.Partitioned */ : 0 /* Unit.Trait.None */);
957
957
  builder.beginChainGroup();
958
958
  for (var i = 0, _i = offset.length; i < _i; i++) {
959
959
  var start = offset[i];
@@ -961,7 +961,7 @@ function getSerialMapping(structure) {
961
961
  for (var j = 0, _j = count[i]; j < _j; j++) {
962
962
  set[j] = indices[array[start + j]];
963
963
  }
964
- builder.addUnit(0 /* Atomic */, model, operator, SortedArray.ofSortedArray(set), traits);
964
+ builder.addUnit(0 /* Unit.Kind.Atomic */, model, operator, SortedArray.ofSortedArray(set), traits);
965
965
  }
966
966
  builder.endChainGroup();
967
967
  }
@@ -982,7 +982,7 @@ function getSerialMapping(structure) {
982
982
  var position = { x: x, y: y, z: z, indices: SortedArray.ofSortedArray(startIndices) };
983
983
  var lookup = GridLookup3D(position, getBoundary(position), gridCellCount);
984
984
  var _b = lookup.buckets, offset = _b.offset, count = _b.count, array = _b.array;
985
- var traits = (multiChain ? 1 /* MultiChain */ : 0 /* None */) | (offset.length > 1 ? 2 /* Partitioned */ : 0 /* None */);
985
+ var traits = (multiChain ? 1 /* Unit.Trait.MultiChain */ : 0 /* Unit.Trait.None */) | (offset.length > 1 ? 2 /* Unit.Trait.Partitioned */ : 0 /* Unit.Trait.None */);
986
986
  builder.beginChainGroup();
987
987
  for (var i = 0, _i = offset.length; i < _i; i++) {
988
988
  var start = offset[i];
@@ -993,7 +993,7 @@ function getSerialMapping(structure) {
993
993
  set[set.length] = l;
994
994
  }
995
995
  }
996
- builder.addUnit(0 /* Atomic */, model, operator, SortedArray.ofSortedArray(new Int32Array(set)), traits);
996
+ builder.addUnit(0 /* Unit.Kind.Atomic */, model, operator, SortedArray.ofSortedArray(new Int32Array(set)), traits);
997
997
  }
998
998
  builder.endChainGroup();
999
999
  }
@@ -1001,7 +1001,7 @@ function getSerialMapping(structure) {
1001
1001
  var chainElementSegments = elements.chainElementSegments;
1002
1002
  for (var cI = 0; cI < chainElementSegments.count; cI++) {
1003
1003
  var elements_1 = SortedArray.ofBounds(chainElementSegments.offsets[cI], chainElementSegments.offsets[cI + 1]);
1004
- builder.addUnit(kind, model, SymmetryOperator.Default, elements_1, 0 /* None */);
1004
+ builder.addUnit(kind, model, SymmetryOperator.Default, elements_1, 0 /* Unit.Trait.None */);
1005
1005
  }
1006
1006
  }
1007
1007
  function transform(s, transform) {
@@ -1278,7 +1278,7 @@ function getSerialMapping(structure) {
1278
1278
  var l = StructureElement.Location.create(structure);
1279
1279
  for (var _b = 0, _c = structure.units; _b < _c.length; _b++) {
1280
1280
  var unit = _c[_b];
1281
- if (unit.kind !== 0 /* Atomic */)
1281
+ if (unit.kind !== 0 /* Unit.Kind.Atomic */)
1282
1282
  continue;
1283
1283
  l.unit = unit;
1284
1284
  var elements = unit.elements;