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
@@ -52,36 +52,36 @@ function addUnitPositiveCharges(structure, unit, builder) {
52
52
  if (PositvelyCharged.includes(compId)) {
53
53
  builder.startState();
54
54
  for (var j = start; j < end; ++j) {
55
- if (typeSymbol(unit, j) === "N" /* N */ && !ProteinBackboneAtoms.has(atomId(unit, j))) {
55
+ if (typeSymbol(unit, j) === "N" /* Elements.N */ && !ProteinBackboneAtoms.has(atomId(unit, j))) {
56
56
  builder.pushMember(x[elements[j]], y[elements[j]], z[elements[j]], j);
57
57
  }
58
58
  }
59
- builder.finishState(1 /* PositiveCharge */, 0 /* None */);
59
+ builder.finishState(1 /* FeatureType.PositiveCharge */, 0 /* FeatureGroup.None */);
60
60
  }
61
61
  else if (!PolymerNames.has(compId)) {
62
62
  addedElements.clear();
63
63
  for (var j = start; j < end; ++j) {
64
- var group = 0 /* None */;
64
+ var group = 0 /* FeatureGroup.None */;
65
65
  if (isGuanidine(structure, unit, j)) {
66
- group = 8 /* Guanidine */;
66
+ group = 8 /* FeatureGroup.Guanidine */;
67
67
  }
68
68
  else if (isAcetamidine(structure, unit, j)) {
69
- group = 9 /* Acetamidine */;
69
+ group = 9 /* FeatureGroup.Acetamidine */;
70
70
  }
71
71
  if (group) {
72
72
  builder.startState();
73
73
  eachBondedAtom(structure, unit, j, function (_, k) {
74
- if (typeSymbol(unit, k) === "N" /* N */) {
74
+ if (typeSymbol(unit, k) === "N" /* Elements.N */) {
75
75
  addedElements.add(k);
76
76
  builder.pushMember(x[elements[k]], y[elements[k]], z[elements[k]], k);
77
77
  }
78
78
  });
79
- builder.finishState(1 /* PositiveCharge */, group);
79
+ builder.finishState(1 /* FeatureType.PositiveCharge */, group);
80
80
  }
81
81
  }
82
82
  for (var j = start; j < end; ++j) {
83
83
  if (charge[j] > 0 && !addedElements.has(j)) {
84
- builder.add(1 /* PositiveCharge */, 0 /* None */, x[elements[j]], y[elements[j]], z[elements[j]], j);
84
+ builder.add(1 /* FeatureType.PositiveCharge */, 0 /* FeatureGroup.None */, x[elements[j]], y[elements[j]], z[elements[j]], j);
85
85
  }
86
86
  }
87
87
  }
@@ -100,59 +100,59 @@ function addUnitNegativeCharges(structure, unit, builder) {
100
100
  if (NegativelyCharged.includes(compId)) {
101
101
  builder.startState();
102
102
  for (var j = start; j < end; ++j) {
103
- if (typeSymbol(unit, j) === "O" /* O */ && !ProteinBackboneAtoms.has(atomId(unit, j))) {
103
+ if (typeSymbol(unit, j) === "O" /* Elements.O */ && !ProteinBackboneAtoms.has(atomId(unit, j))) {
104
104
  builder.pushMember(x[elements[j]], y[elements[j]], z[elements[j]], j);
105
105
  }
106
106
  }
107
- builder.finishState(2 /* NegativeCharge */, 0 /* None */);
107
+ builder.finishState(2 /* FeatureType.NegativeCharge */, 0 /* FeatureGroup.None */);
108
108
  }
109
109
  else if (BaseNames.has(compId)) {
110
110
  for (var j = start; j < end; ++j) {
111
111
  if (isPhosphate(structure, unit, j)) {
112
112
  builder.startState();
113
113
  eachBondedAtom(structure, unit, j, function (_, k) {
114
- if (typeSymbol(unit, k) === "O" /* O */) {
114
+ if (typeSymbol(unit, k) === "O" /* Elements.O */) {
115
115
  builder.pushMember(x[elements[k]], y[elements[k]], z[elements[k]], k);
116
116
  }
117
117
  });
118
- builder.finishState(2 /* NegativeCharge */, 6 /* Phosphate */);
118
+ builder.finishState(2 /* FeatureType.NegativeCharge */, 6 /* FeatureGroup.Phosphate */);
119
119
  }
120
120
  }
121
121
  }
122
122
  else if (!PolymerNames.has(compId)) {
123
123
  for (var j = start; j < end; ++j) {
124
124
  builder.startState();
125
- if (typeSymbol(unit, j) === "N" /* N */ && !ProteinBackboneAtoms.has(atomId(unit, j))) {
125
+ if (typeSymbol(unit, j) === "N" /* Elements.N */ && !ProteinBackboneAtoms.has(atomId(unit, j))) {
126
126
  builder.pushMember(x[elements[j]], y[elements[j]], z[elements[j]], j);
127
127
  }
128
- builder.finishState(2 /* NegativeCharge */, 0 /* None */);
129
- var group = 0 /* None */;
128
+ builder.finishState(2 /* FeatureType.NegativeCharge */, 0 /* FeatureGroup.None */);
129
+ var group = 0 /* FeatureGroup.None */;
130
130
  if (isSulfonicAcid(structure, unit, j)) {
131
- group = 4 /* SulfonicAcid */;
131
+ group = 4 /* FeatureGroup.SulfonicAcid */;
132
132
  }
133
133
  else if (isPhosphate(structure, unit, j)) {
134
- group = 6 /* Phosphate */;
134
+ group = 6 /* FeatureGroup.Phosphate */;
135
135
  }
136
136
  else if (isSulfate(structure, unit, j)) {
137
- group = 5 /* Sulfate */;
137
+ group = 5 /* FeatureGroup.Sulfate */;
138
138
  }
139
139
  else if (isCarboxylate(structure, unit, j)) {
140
- group = 10 /* Carboxylate */;
140
+ group = 10 /* FeatureGroup.Carboxylate */;
141
141
  }
142
142
  if (group) {
143
143
  builder.startState();
144
144
  eachBondedAtom(structure, unit, j, function (_, k) {
145
- if (typeSymbol(unit, k) === "O" /* O */) {
145
+ if (typeSymbol(unit, k) === "O" /* Elements.O */) {
146
146
  addedElements.add(k);
147
147
  builder.pushMember(x[elements[k]], y[elements[k]], z[elements[k]], k);
148
148
  }
149
149
  });
150
- builder.finishState(2 /* NegativeCharge */, group);
150
+ builder.finishState(2 /* FeatureType.NegativeCharge */, group);
151
151
  }
152
152
  }
153
153
  for (var j = start; j < end; ++j) {
154
154
  if (charge[j] < 0 && !addedElements.has(j)) {
155
- builder.add(2 /* NegativeCharge */, 0 /* None */, x[elements[j]], y[elements[j]], z[elements[j]], j);
155
+ builder.add(2 /* FeatureType.NegativeCharge */, 0 /* FeatureGroup.None */, x[elements[j]], y[elements[j]], z[elements[j]], j);
156
156
  }
157
157
  }
158
158
  }
@@ -169,19 +169,19 @@ function addUnitAromaticRings(structure, unit, builder) {
169
169
  var j = ring[i];
170
170
  builder.pushMember(x[elements[j]], y[elements[j]], z[elements[j]], j);
171
171
  }
172
- builder.finishState(3 /* AromaticRing */, 0 /* None */);
172
+ builder.finishState(3 /* FeatureType.AromaticRing */, 0 /* FeatureGroup.None */);
173
173
  }
174
174
  }
175
175
  function isIonic(ti, tj) {
176
- return ((ti === 2 /* NegativeCharge */ && tj === 1 /* PositiveCharge */) ||
177
- (ti === 1 /* PositiveCharge */ && tj === 2 /* NegativeCharge */));
176
+ return ((ti === 2 /* FeatureType.NegativeCharge */ && tj === 1 /* FeatureType.PositiveCharge */) ||
177
+ (ti === 1 /* FeatureType.PositiveCharge */ && tj === 2 /* FeatureType.NegativeCharge */));
178
178
  }
179
179
  function isPiStacking(ti, tj) {
180
- return ti === 3 /* AromaticRing */ && tj === 3 /* AromaticRing */;
180
+ return ti === 3 /* FeatureType.AromaticRing */ && tj === 3 /* FeatureType.AromaticRing */;
181
181
  }
182
182
  function isCationPi(ti, tj) {
183
- return ((ti === 3 /* AromaticRing */ && tj === 1 /* PositiveCharge */) ||
184
- (ti === 1 /* PositiveCharge */ && tj === 3 /* AromaticRing */));
183
+ return ((ti === 3 /* FeatureType.AromaticRing */ && tj === 1 /* FeatureType.PositiveCharge */) ||
184
+ (ti === 1 /* FeatureType.PositiveCharge */ && tj === 3 /* FeatureType.AromaticRing */));
185
185
  }
186
186
  var tmpPointA = Vec3();
187
187
  var tmpPointB = Vec3();
@@ -246,7 +246,7 @@ function testIonic(structure, infoA, infoB, distanceSq, opts) {
246
246
  var typeB = infoB.types[infoB.feature];
247
247
  if (isIonic(typeA, typeB)) {
248
248
  if (areFeaturesWithinDistanceSq(infoA, infoB, opts.distanceMaxSq)) {
249
- return 1 /* Ionic */;
249
+ return 1 /* InteractionType.Ionic */;
250
250
  }
251
251
  }
252
252
  }
@@ -260,10 +260,10 @@ function testPiStacking(structure, infoA, infoB, distanceSq, opts) {
260
260
  var offset = Math.min(getOffset(infoA, infoB, tmpNormalB), getOffset(infoB, infoA, tmpNormalA));
261
261
  if (offset <= opts.offsetMax) {
262
262
  if (angle <= opts.angleDevMax || angle >= deg180InRad - opts.angleDevMax) {
263
- return 3 /* PiStacking */; // parallel
263
+ return 3 /* InteractionType.PiStacking */; // parallel
264
264
  }
265
265
  else if (angle <= opts.angleDevMax + deg90InRad && angle >= deg90InRad - opts.angleDevMax) {
266
- return 3 /* PiStacking */; // t-shaped
266
+ return 3 /* InteractionType.PiStacking */; // t-shaped
267
267
  }
268
268
  }
269
269
  }
@@ -272,18 +272,18 @@ function testCationPi(structure, infoA, infoB, distanceSq, opts) {
272
272
  var typeA = infoA.types[infoA.feature];
273
273
  var typeB = infoB.types[infoB.feature];
274
274
  if (isCationPi(typeA, typeB)) {
275
- var _a = typeA === 3 /* AromaticRing */ ? [infoA, infoB] : [infoB, infoA], infoR = _a[0], infoC = _a[1];
275
+ var _a = typeA === 3 /* FeatureType.AromaticRing */ ? [infoA, infoB] : [infoB, infoA], infoR = _a[0], infoC = _a[1];
276
276
  getNormal(tmpNormalA, infoR);
277
277
  var offset = getOffset(infoC, infoR, tmpNormalA);
278
278
  if (offset <= opts.offsetMax) {
279
- return 2 /* CationPi */;
279
+ return 2 /* InteractionType.CationPi */;
280
280
  }
281
281
  }
282
282
  }
283
283
  //
284
- export var NegativChargeProvider = Features.Provider([2 /* NegativeCharge */], addUnitNegativeCharges);
285
- export var PositiveChargeProvider = Features.Provider([1 /* PositiveCharge */], addUnitPositiveCharges);
286
- export var AromaticRingProvider = Features.Provider([3 /* AromaticRing */], addUnitAromaticRings);
284
+ export var NegativChargeProvider = Features.Provider([2 /* FeatureType.NegativeCharge */], addUnitNegativeCharges);
285
+ export var PositiveChargeProvider = Features.Provider([1 /* FeatureType.PositiveCharge */], addUnitPositiveCharges);
286
+ export var AromaticRingProvider = Features.Provider([3 /* FeatureType.AromaticRing */], addUnitAromaticRings);
287
287
  export var IonicProvider = {
288
288
  name: 'ionic',
289
289
  params: IonicParams,
@@ -291,7 +291,7 @@ export var IonicProvider = {
291
291
  var opts = getIonicOptions(props);
292
292
  return {
293
293
  maxDistance: props.distanceMax,
294
- requiredFeatures: new Set([2 /* NegativeCharge */, 1 /* PositiveCharge */]),
294
+ requiredFeatures: new Set([2 /* FeatureType.NegativeCharge */, 1 /* FeatureType.PositiveCharge */]),
295
295
  getType: function (structure, infoA, infoB, distanceSq) { return testIonic(structure, infoA, infoB, distanceSq, opts); }
296
296
  };
297
297
  }
@@ -303,7 +303,7 @@ export var PiStackingProvider = {
303
303
  var opts = getPiStackingOptions(props);
304
304
  return {
305
305
  maxDistance: props.distanceMax,
306
- requiredFeatures: new Set([3 /* AromaticRing */]),
306
+ requiredFeatures: new Set([3 /* FeatureType.AromaticRing */]),
307
307
  getType: function (structure, infoA, infoB, distanceSq) { return testPiStacking(structure, infoA, infoB, distanceSq, opts); }
308
308
  };
309
309
  }
@@ -315,7 +315,7 @@ export var CationPiProvider = {
315
315
  var opts = getCationPiOptions(props);
316
316
  return {
317
317
  maxDistance: props.distanceMax,
318
- requiredFeatures: new Set([3 /* AromaticRing */, 1 /* PositiveCharge */]),
318
+ requiredFeatures: new Set([3 /* FeatureType.AromaticRing */, 1 /* FeatureType.PositiveCharge */]),
319
319
  getType: function (structure, infoA, infoB, distanceSq) { return testCationPi(structure, infoA, infoB, distanceSq, opts); }
320
320
  };
321
321
  }
@@ -89,81 +89,81 @@ var InteractionsInterContacts = /** @class */ (function (_super) {
89
89
  }(InterUnitGraph));
90
90
  export function interactionTypeLabel(type) {
91
91
  switch (type) {
92
- case 4 /* HydrogenBond */:
92
+ case 4 /* InteractionType.HydrogenBond */:
93
93
  return 'Hydrogen Bond';
94
- case 6 /* Hydrophobic */:
94
+ case 6 /* InteractionType.Hydrophobic */:
95
95
  return 'Hydrophobic Contact';
96
- case 5 /* HalogenBond */:
96
+ case 5 /* InteractionType.HalogenBond */:
97
97
  return 'Halogen Bond';
98
- case 1 /* Ionic */:
98
+ case 1 /* InteractionType.Ionic */:
99
99
  return 'Ionic Interaction';
100
- case 7 /* MetalCoordination */:
100
+ case 7 /* InteractionType.MetalCoordination */:
101
101
  return 'Metal Coordination';
102
- case 2 /* CationPi */:
102
+ case 2 /* InteractionType.CationPi */:
103
103
  return 'Cation-Pi Interaction';
104
- case 3 /* PiStacking */:
104
+ case 3 /* InteractionType.PiStacking */:
105
105
  return 'Pi Stacking';
106
- case 8 /* WeakHydrogenBond */:
106
+ case 8 /* InteractionType.WeakHydrogenBond */:
107
107
  return 'Weak Hydrogen Bond';
108
- case 0 /* Unknown */:
108
+ case 0 /* InteractionType.Unknown */:
109
109
  return 'Unknown Interaction';
110
110
  }
111
111
  }
112
112
  export function featureTypeLabel(type) {
113
113
  switch (type) {
114
- case 0 /* None */:
114
+ case 0 /* FeatureType.None */:
115
115
  return 'None';
116
- case 1 /* PositiveCharge */:
116
+ case 1 /* FeatureType.PositiveCharge */:
117
117
  return 'Positive Charge';
118
- case 2 /* NegativeCharge */:
118
+ case 2 /* FeatureType.NegativeCharge */:
119
119
  return 'Negative Charge';
120
- case 3 /* AromaticRing */:
120
+ case 3 /* FeatureType.AromaticRing */:
121
121
  return 'Aromatic Ring';
122
- case 4 /* HydrogenDonor */:
122
+ case 4 /* FeatureType.HydrogenDonor */:
123
123
  return 'Hydrogen Donor';
124
- case 5 /* HydrogenAcceptor */:
124
+ case 5 /* FeatureType.HydrogenAcceptor */:
125
125
  return 'Hydrogen Acceptor';
126
- case 6 /* HalogenDonor */:
126
+ case 6 /* FeatureType.HalogenDonor */:
127
127
  return 'Halogen Donor';
128
- case 7 /* HalogenAcceptor */:
128
+ case 7 /* FeatureType.HalogenAcceptor */:
129
129
  return 'Halogen Acceptor';
130
- case 8 /* HydrophobicAtom */:
130
+ case 8 /* FeatureType.HydrophobicAtom */:
131
131
  return 'HydrophobicAtom';
132
- case 9 /* WeakHydrogenDonor */:
132
+ case 9 /* FeatureType.WeakHydrogenDonor */:
133
133
  return 'Weak Hydrogen Donor';
134
- case 10 /* IonicTypePartner */:
134
+ case 10 /* FeatureType.IonicTypePartner */:
135
135
  return 'Ionic Type Partner';
136
- case 11 /* DativeBondPartner */:
136
+ case 11 /* FeatureType.DativeBondPartner */:
137
137
  return 'Dative Bond Partner';
138
- case 12 /* TransitionMetal */:
138
+ case 12 /* FeatureType.TransitionMetal */:
139
139
  return 'Transition Metal';
140
- case 13 /* IonicTypeMetal */:
140
+ case 13 /* FeatureType.IonicTypeMetal */:
141
141
  return 'Ionic Type Metal';
142
142
  }
143
143
  }
144
144
  export function featureGroupLabel(group) {
145
145
  switch (group) {
146
- case 0 /* None */:
146
+ case 0 /* FeatureGroup.None */:
147
147
  return 'None';
148
- case 1 /* QuaternaryAmine */:
148
+ case 1 /* FeatureGroup.QuaternaryAmine */:
149
149
  return 'Quaternary Amine';
150
- case 2 /* TertiaryAmine */:
150
+ case 2 /* FeatureGroup.TertiaryAmine */:
151
151
  return 'Tertiary Amine';
152
- case 3 /* Sulfonium */:
152
+ case 3 /* FeatureGroup.Sulfonium */:
153
153
  return 'Sulfonium';
154
- case 4 /* SulfonicAcid */:
154
+ case 4 /* FeatureGroup.SulfonicAcid */:
155
155
  return 'Sulfonic Acid';
156
- case 5 /* Sulfate */:
156
+ case 5 /* FeatureGroup.Sulfate */:
157
157
  return 'Sulfate';
158
- case 6 /* Phosphate */:
158
+ case 6 /* FeatureGroup.Phosphate */:
159
159
  return 'Phosphate';
160
- case 7 /* Halocarbon */:
160
+ case 7 /* FeatureGroup.Halocarbon */:
161
161
  return 'Halocarbon';
162
- case 8 /* Guanidine */:
162
+ case 8 /* FeatureGroup.Guanidine */:
163
163
  return 'Guanidine';
164
- case 9 /* Acetamidine */:
164
+ case 9 /* FeatureGroup.Acetamidine */:
165
165
  return 'Acetamidine';
166
- case 10 /* Carboxylate */:
166
+ case 10 /* FeatureGroup.Carboxylate */:
167
167
  return 'Carboxylate';
168
168
  }
169
169
  }
@@ -53,7 +53,7 @@ var InterContactsBuilder;
53
53
  builder.finishUnitPair();
54
54
  },
55
55
  add: function (indexA, indexB, type) {
56
- builder.add(indexA, indexB, { type: type, flag: 0 /* None */ });
56
+ builder.add(indexA, indexB, { type: type, flag: 0 /* InteractionFlag.None */ });
57
57
  },
58
58
  getContacts: function (unitsFeatures) {
59
59
  return new InteractionsInterContacts(builder.getMap(), unitsFeatures);
@@ -70,7 +70,7 @@ function checkLineOfSight(structure, infoA, infoB, distFactor) {
70
70
  continue;
71
71
  var element = typeSymbol(unit, i);
72
72
  // allow hydrogens
73
- if (element === "H" /* H */)
73
+ if (element === "H" /* Elements.H */)
74
74
  continue;
75
75
  var vdw = VdwRadius(element);
76
76
  // check distance
@@ -15,7 +15,7 @@ var HalogenBondsParams = {
15
15
  distanceMax: PD.Numeric(4.0, { min: 1, max: 5, step: 0.1 }),
16
16
  angleMax: PD.Numeric(30, { min: 0, max: 60, step: 1 }),
17
17
  };
18
- var halBondElements = ["CL" /* CL */, "BR" /* BR */, "I" /* I */, "AT" /* AT */];
18
+ var halBondElements = ["CL" /* Elements.CL */, "BR" /* Elements.BR */, "I" /* Elements.I */, "AT" /* Elements.AT */];
19
19
  /**
20
20
  * Halogen bond donors (X-C, with X one of Cl, Br, I or At) not F!
21
21
  */
@@ -25,12 +25,12 @@ function addUnitHalogenDonors(structure, unit, builder) {
25
25
  for (var i = 0, il = elements.length; i < il; ++i) {
26
26
  var element = typeSymbol(unit, i);
27
27
  if (halBondElements.includes(element)) {
28
- builder.add(6 /* HalogenDonor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
28
+ builder.add(6 /* FeatureType.HalogenDonor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
29
29
  }
30
30
  }
31
31
  }
32
- var X = ["N" /* N */, "O" /* O */, "S" /* S */];
33
- var Y = ["C" /* C */, "N" /* N */, "P" /* P */, "S" /* S */];
32
+ var X = ["N" /* Elements.N */, "O" /* Elements.O */, "S" /* Elements.S */];
33
+ var Y = ["C" /* Elements.C */, "N" /* Elements.N */, "P" /* Elements.P */, "S" /* Elements.S */];
34
34
  /**
35
35
  * Halogen bond acceptors (Y-{O|N|S}, with Y=C,P,N,S)
36
36
  */
@@ -47,7 +47,7 @@ function addUnitHalogenAcceptors(structure, unit, builder) {
47
47
  }
48
48
  });
49
49
  if (flag_1) {
50
- builder.add(7 /* HalogenAcceptor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
50
+ builder.add(7 /* FeatureType.HalogenAcceptor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
51
51
  }
52
52
  }
53
53
  };
@@ -56,8 +56,8 @@ function addUnitHalogenAcceptors(structure, unit, builder) {
56
56
  }
57
57
  }
58
58
  function isHalogenBond(ti, tj) {
59
- return ((ti === 7 /* HalogenAcceptor */ && tj === 6 /* HalogenDonor */) ||
60
- (ti === 6 /* HalogenDonor */ && tj === 7 /* HalogenAcceptor */));
59
+ return ((ti === 7 /* FeatureType.HalogenAcceptor */ && tj === 6 /* FeatureType.HalogenDonor */) ||
60
+ (ti === 6 /* FeatureType.HalogenDonor */ && tj === 7 /* FeatureType.HalogenAcceptor */));
61
61
  }
62
62
  // http://www.pnas.org/content/101/48/16789.full
63
63
  var OptimalHalogenAngle = degToRad(180); // adjusted from 165 to account for spherical statistics
@@ -72,7 +72,7 @@ function testHalogenBond(structure, infoA, infoB, opts) {
72
72
  var typeB = infoB.types[infoB.feature];
73
73
  if (!isHalogenBond(typeA, typeB))
74
74
  return;
75
- var _a = typeA === 6 /* HalogenDonor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
75
+ var _a = typeA === 6 /* FeatureType.HalogenDonor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
76
76
  var donIndex = don.members[don.offsets[don.feature]];
77
77
  var accIndex = acc.members[acc.offsets[acc.feature]];
78
78
  var halogenAngles = calcAngles(structure, don.unit, donIndex, acc.unit, accIndex);
@@ -87,11 +87,11 @@ function testHalogenBond(structure, infoA, infoB, opts) {
87
87
  return;
88
88
  if (acceptorAngles.some(function (acceptorAngle) { return OptimalAcceptorAngle - acceptorAngle > opts.angleMax; }))
89
89
  return;
90
- return 5 /* HalogenBond */;
90
+ return 5 /* InteractionType.HalogenBond */;
91
91
  }
92
92
  //
93
- export var HalogenDonorProvider = Features.Provider([6 /* HalogenDonor */], addUnitHalogenDonors);
94
- export var HalogenAcceptorProvider = Features.Provider([7 /* HalogenAcceptor */], addUnitHalogenAcceptors);
93
+ export var HalogenDonorProvider = Features.Provider([6 /* FeatureType.HalogenDonor */], addUnitHalogenDonors);
94
+ export var HalogenAcceptorProvider = Features.Provider([7 /* FeatureType.HalogenAcceptor */], addUnitHalogenAcceptors);
95
95
  export var HalogenBondsProvider = {
96
96
  name: 'halogen-bonds',
97
97
  params: HalogenBondsParams,
@@ -99,7 +99,7 @@ export var HalogenBondsProvider = {
99
99
  var opts = getOptions(props);
100
100
  return {
101
101
  maxDistance: props.distanceMax,
102
- requiredFeatures: new Set([6 /* HalogenDonor */, 7 /* HalogenAcceptor */]),
102
+ requiredFeatures: new Set([6 /* FeatureType.HalogenDonor */, 7 /* FeatureType.HalogenAcceptor */]),
103
103
  getType: function (structure, infoA, infoB) { return testHalogenBond(structure, infoA, infoB, opts); }
104
104
  };
105
105
  }
@@ -52,8 +52,8 @@ function addUnitHydrogenDonors(structure, unit, builder) {
52
52
  // include both nitrogen atoms in histidine due to
53
53
  // their often ambiguous protonation assignment
54
54
  isHistidineNitrogen(unit, i)) || (totalH[i] > 0 &&
55
- (element === "N" /* N */ || element === "O" /* O */ || element === "S" /* S */))) {
56
- builder.add(4 /* HydrogenDonor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
55
+ (element === "N" /* Elements.N */ || element === "O" /* Elements.O */ || element === "S" /* Elements.S */))) {
56
+ builder.add(4 /* FeatureType.HydrogenDonor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
57
57
  }
58
58
  }
59
59
  }
@@ -65,12 +65,12 @@ function addUnitWeakHydrogenDonors(structure, unit, builder) {
65
65
  var elements = unit.elements;
66
66
  var _a = unit.model.atomicConformation, x = _a.x, y = _a.y, z = _a.z;
67
67
  for (var i = 0, il = elements.length; i < il; ++i) {
68
- if (typeSymbol(unit, i) === "C" /* C */ &&
68
+ if (typeSymbol(unit, i) === "C" /* Elements.C */ &&
69
69
  totalH[i] > 0 &&
70
- (bondToElementCount(structure, unit, i, "N" /* N */) > 0 ||
71
- bondToElementCount(structure, unit, i, "O" /* O */) > 0 ||
70
+ (bondToElementCount(structure, unit, i, "N" /* Elements.N */) > 0 ||
71
+ bondToElementCount(structure, unit, i, "O" /* Elements.O */) > 0 ||
72
72
  inAromaticRingWithElectronNegativeElement(unit, i))) {
73
- builder.add(9 /* WeakHydrogenDonor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
73
+ builder.add(9 /* FeatureType.WeakHydrogenDonor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
74
74
  }
75
75
  }
76
76
  }
@@ -83,7 +83,7 @@ function inAromaticRingWithElectronNegativeElement(unit, index) {
83
83
  var ring = all[ringIndices[i]];
84
84
  for (var j = 0, jl = ring.length; j < jl; ++j) {
85
85
  var element = typeSymbol(unit, ring[j]);
86
- if (element === "N" /* N */ || element === "O" /* O */) {
86
+ if (element === "N" /* Elements.N */ || element === "O" /* Elements.O */) {
87
87
  return true;
88
88
  }
89
89
  }
@@ -98,15 +98,15 @@ function addUnitHydrogenAcceptors(structure, unit, builder) {
98
98
  var elements = unit.elements;
99
99
  var _b = unit.model.atomicConformation, x = _b.x, y = _b.y, z = _b.z;
100
100
  var add = function (i) {
101
- builder.add(5 /* HydrogenAcceptor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
101
+ builder.add(5 /* FeatureType.HydrogenAcceptor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
102
102
  };
103
103
  for (var i = 0, il = elements.length; i < il; ++i) {
104
104
  var element = typeSymbol(unit, i);
105
- if (element === "O" /* O */) {
105
+ if (element === "O" /* Elements.O */) {
106
106
  // Basically assume all oxygen atoms are acceptors!
107
107
  add(i);
108
108
  }
109
- else if (element === "N" /* N */) {
109
+ else if (element === "N" /* Elements.N */) {
110
110
  if (isHistidineNitrogen(unit, i)) {
111
111
  // include both nitrogen atoms in histidine due to
112
112
  // their often ambiguous protonation assignment
@@ -117,14 +117,14 @@ function addUnitHydrogenAcceptors(structure, unit, builder) {
117
117
  // It must have at least one lone pair not conjugated
118
118
  var totalBonds = bondCount(structure, unit, i) + implicitH[i];
119
119
  var ig = idealGeometry[i];
120
- if ((ig === 4 /* Tetrahedral */ && totalBonds < 4) ||
121
- (ig === 3 /* Trigonal */ && totalBonds < 3) ||
122
- (ig === 2 /* Linear */ && totalBonds < 2)) {
120
+ if ((ig === 4 /* AtomGeometry.Tetrahedral */ && totalBonds < 4) ||
121
+ (ig === 3 /* AtomGeometry.Trigonal */ && totalBonds < 3) ||
122
+ (ig === 2 /* AtomGeometry.Linear */ && totalBonds < 2)) {
123
123
  add(i);
124
124
  }
125
125
  }
126
126
  }
127
- else if (element === "S" /* S */) {
127
+ else if (element === "S" /* Elements.S */) {
128
128
  var resname = compId(unit, i);
129
129
  if (resname === 'CYS' || resname === 'MET' || formalCharge(unit, i) === -1) {
130
130
  add(i);
@@ -133,7 +133,7 @@ function addUnitHydrogenAcceptors(structure, unit, builder) {
133
133
  }
134
134
  }
135
135
  function isWater(unit, index) {
136
- return unit.model.atomicHierarchy.derived.residue.moleculeType[unit.residueIndex[unit.elements[index]]] === 2 /* Water */;
136
+ return unit.model.atomicHierarchy.derived.residue.moleculeType[unit.residueIndex[unit.elements[index]]] === 2 /* MoleculeType.Water */;
137
137
  }
138
138
  function isBackbone(unit, index) {
139
139
  return ProteinBackboneAtoms.has(atomId(unit, index));
@@ -142,7 +142,7 @@ function isRing(unit, index) {
142
142
  return unit.rings.elementRingIndices.has(index);
143
143
  }
144
144
  function isHistidineNitrogen(unit, index) {
145
- return compId(unit, index) === 'HIS' && typeSymbol(unit, index) === "N" /* N */ && isRing(unit, index);
145
+ return compId(unit, index) === 'HIS' && typeSymbol(unit, index) === "N" /* Elements.N */ && isRing(unit, index);
146
146
  }
147
147
  function isBackboneHydrogenBond(unitA, indexA, unitB, indexB) {
148
148
  return isBackbone(unitA, indexA) && isBackbone(unitB, indexB);
@@ -151,12 +151,12 @@ function isWaterHydrogenBond(unitA, indexA, unitB, indexB) {
151
151
  return isWater(unitA, indexA) && isWater(unitB, indexB);
152
152
  }
153
153
  function isHydrogenBond(ti, tj) {
154
- return ((ti === 5 /* HydrogenAcceptor */ && tj === 4 /* HydrogenDonor */) ||
155
- (ti === 4 /* HydrogenDonor */ && tj === 5 /* HydrogenAcceptor */));
154
+ return ((ti === 5 /* FeatureType.HydrogenAcceptor */ && tj === 4 /* FeatureType.HydrogenDonor */) ||
155
+ (ti === 4 /* FeatureType.HydrogenDonor */ && tj === 5 /* FeatureType.HydrogenAcceptor */));
156
156
  }
157
157
  function isWeakHydrogenBond(ti, tj) {
158
- return ((ti === 9 /* WeakHydrogenDonor */ && tj === 5 /* HydrogenAcceptor */) ||
159
- (ti === 5 /* HydrogenAcceptor */ && tj === 9 /* WeakHydrogenDonor */));
158
+ return ((ti === 9 /* FeatureType.WeakHydrogenDonor */ && tj === 5 /* FeatureType.HydrogenAcceptor */) ||
159
+ (ti === 5 /* FeatureType.HydrogenAcceptor */ && tj === 9 /* FeatureType.WeakHydrogenDonor */));
160
160
  }
161
161
  function getGeometryOptions(props) {
162
162
  return {
@@ -180,7 +180,7 @@ function checkGeometry(structure, don, acc, opts) {
180
180
  var idealDonAngle = AtomGeometryAngles.get(don.idealGeometry[donIndex]) || deg120InRad;
181
181
  if (donAngles.some(function (donAngle) { return Math.abs(idealDonAngle - donAngle) > opts.maxDonAngleDev; }))
182
182
  return;
183
- if (don.idealGeometry[donIndex] === 3 /* Trigonal */) {
183
+ if (don.idealGeometry[donIndex] === 3 /* AtomGeometry.Trigonal */) {
184
184
  var outOfPlane = calcPlaneAngle(structure, don.unit, donIndex, acc.unit, accIndex);
185
185
  if (outOfPlane !== undefined && outOfPlane > opts.maxDonOutOfPlaneAngle)
186
186
  return;
@@ -190,7 +190,7 @@ function checkGeometry(structure, don, acc, opts) {
190
190
  // Do not limit large acceptor angles
191
191
  if (accAngles.some(function (accAngle) { return idealAccAngle - accAngle > opts.maxAccAngleDev; }))
192
192
  return;
193
- if (acc.idealGeometry[accIndex] === 3 /* Trigonal */) {
193
+ if (acc.idealGeometry[accIndex] === 3 /* AtomGeometry.Trigonal */) {
194
194
  var outOfPlane = calcPlaneAngle(structure, acc.unit, accIndex, don.unit, donIndex);
195
195
  if (outOfPlane !== undefined && outOfPlane > opts.maxAccOutOfPlaneAngle)
196
196
  return;
@@ -202,33 +202,33 @@ function testHydrogenBond(structure, infoA, infoB, distanceSq, opts) {
202
202
  var typeB = infoB.types[infoB.feature];
203
203
  if (!isHydrogenBond(typeA, typeB))
204
204
  return;
205
- var _a = typeB === 5 /* HydrogenAcceptor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
205
+ var _a = typeB === 5 /* FeatureType.HydrogenAcceptor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
206
206
  var donIndex = don.members[don.offsets[don.feature]];
207
207
  var accIndex = acc.members[acc.offsets[acc.feature]];
208
208
  // check if distance is ok depending on non-sulfur-containing hbond
209
- var maxDistSq = typeSymbol(don.unit, donIndex) === "S" /* S */ || typeSymbol(acc.unit, accIndex) === "S" /* S */ ? opts.maxSulfurDistSq : opts.maxDistSq;
209
+ var maxDistSq = typeSymbol(don.unit, donIndex) === "S" /* Elements.S */ || typeSymbol(acc.unit, accIndex) === "S" /* Elements.S */ ? opts.maxSulfurDistSq : opts.maxDistSq;
210
210
  if (distanceSq > maxDistSq)
211
211
  return;
212
212
  if (!opts.includeWater && isWaterHydrogenBond(don.unit, donIndex, acc.unit, accIndex))
213
213
  return;
214
214
  if (!checkGeometry(structure, don, acc, opts))
215
215
  return;
216
- return 4 /* HydrogenBond */;
216
+ return 4 /* InteractionType.HydrogenBond */;
217
217
  }
218
218
  function testWeakHydrogenBond(structure, infoA, infoB, distanceSq, opts) {
219
219
  var typeA = infoA.types[infoA.feature];
220
220
  var typeB = infoB.types[infoB.feature];
221
221
  if (!isWeakHydrogenBond(typeA, typeB))
222
222
  return;
223
- var _a = typeB === 5 /* HydrogenAcceptor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
223
+ var _a = typeB === 5 /* FeatureType.HydrogenAcceptor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
224
224
  if (!checkGeometry(structure, don, acc, opts))
225
225
  return;
226
- return 8 /* WeakHydrogenBond */;
226
+ return 8 /* InteractionType.WeakHydrogenBond */;
227
227
  }
228
228
  //
229
- export var HydrogenDonorProvider = Features.Provider([4 /* HydrogenDonor */], addUnitHydrogenDonors);
230
- export var WeakHydrogenDonorProvider = Features.Provider([9 /* WeakHydrogenDonor */], addUnitWeakHydrogenDonors);
231
- export var HydrogenAcceptorProvider = Features.Provider([5 /* HydrogenAcceptor */], addUnitHydrogenAcceptors);
229
+ export var HydrogenDonorProvider = Features.Provider([4 /* FeatureType.HydrogenDonor */], addUnitHydrogenDonors);
230
+ export var WeakHydrogenDonorProvider = Features.Provider([9 /* FeatureType.WeakHydrogenDonor */], addUnitWeakHydrogenDonors);
231
+ export var HydrogenAcceptorProvider = Features.Provider([5 /* FeatureType.HydrogenAcceptor */], addUnitHydrogenAcceptors);
232
232
  export var HydrogenBondsProvider = {
233
233
  name: 'hydrogen-bonds',
234
234
  params: HydrogenBondsParams,
@@ -237,7 +237,7 @@ export var HydrogenBondsProvider = {
237
237
  var opts = getHydrogenBondsOptions(props);
238
238
  return {
239
239
  maxDistance: maxDistance,
240
- requiredFeatures: new Set([4 /* HydrogenDonor */, 5 /* HydrogenAcceptor */]),
240
+ requiredFeatures: new Set([4 /* FeatureType.HydrogenDonor */, 5 /* FeatureType.HydrogenAcceptor */]),
241
241
  getType: function (structure, infoA, infoB, distanceSq) { return testHydrogenBond(structure, infoA, infoB, distanceSq, opts); }
242
242
  };
243
243
  }
@@ -249,7 +249,7 @@ export var WeakHydrogenBondsProvider = {
249
249
  var opts = getGeometryOptions(props);
250
250
  return {
251
251
  maxDistance: props.distanceMax,
252
- requiredFeatures: new Set([9 /* WeakHydrogenDonor */, 5 /* HydrogenAcceptor */]),
252
+ requiredFeatures: new Set([9 /* FeatureType.WeakHydrogenDonor */, 5 /* FeatureType.HydrogenAcceptor */]),
253
253
  getType: function (structure, infoA, infoB, distanceSq) { return testWeakHydrogenBond(structure, infoA, infoB, distanceSq, opts); }
254
254
  };
255
255
  }