molstar 3.8.2 → 3.9.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 (516) hide show
  1. package/build/viewer/index.html +4 -1
  2. package/build/viewer/molstar.js +1 -1
  3. package/lib/apps/viewer/app.d.ts +1 -1
  4. package/lib/apps/viewer/app.js +1 -1
  5. package/lib/apps/viewer/index.html +4 -1
  6. package/lib/cli/cif2bcif/converter.js +1 -1
  7. package/lib/commonjs/apps/viewer/app.d.ts +1 -1
  8. package/lib/commonjs/apps/viewer/app.js +2 -1
  9. package/lib/commonjs/cli/cif2bcif/converter.js +1 -1
  10. package/lib/commonjs/examples/alpha-orbitals/index.d.ts +1 -1
  11. package/lib/commonjs/examples/alpha-orbitals/index.js +4 -1
  12. package/lib/commonjs/examples/basic-wrapper/custom-theme.js +1 -1
  13. package/lib/commonjs/examples/proteopedia-wrapper/coloring.js +3 -3
  14. package/lib/commonjs/extensions/alpha-orbitals/density.d.ts +1 -1
  15. package/lib/commonjs/extensions/alpha-orbitals/density.js +6 -2
  16. package/lib/commonjs/extensions/alpha-orbitals/orbitals.d.ts +1 -1
  17. package/lib/commonjs/extensions/alpha-orbitals/orbitals.js +6 -3
  18. package/lib/commonjs/extensions/anvil/algorithm.js +1 -1
  19. package/lib/commonjs/extensions/cellpack/color/generate.js +1 -1
  20. package/lib/commonjs/extensions/cellpack/color/provided.js +1 -1
  21. package/lib/commonjs/extensions/cellpack/state.js +1 -1
  22. package/lib/commonjs/extensions/dnatco/confal-pyramids/color.js +1 -1
  23. package/lib/commonjs/extensions/g3d/model.js +1 -1
  24. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
  25. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
  26. package/lib/commonjs/extensions/pdbe/structure-quality-report/color.js +1 -1
  27. package/lib/commonjs/extensions/rcsb/assembly-symmetry/color.js +4 -4
  28. package/lib/commonjs/extensions/rcsb/validation-report/color/density-fit.js +1 -1
  29. package/lib/commonjs/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
  30. package/lib/commonjs/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
  31. package/lib/commonjs/extensions/rcsb/validation-report/representation.js +2 -2
  32. package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
  33. package/lib/commonjs/mol-canvas3d/controls/trackball.js +7 -7
  34. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +14 -14
  35. package/lib/commonjs/mol-canvas3d/helper/interaction-events.js +5 -5
  36. package/lib/commonjs/mol-canvas3d/passes/draw.js +34 -5
  37. package/lib/commonjs/mol-canvas3d/passes/fxaa.js +5 -0
  38. package/lib/commonjs/mol-canvas3d/passes/marking.js +5 -0
  39. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +9 -0
  40. package/lib/commonjs/mol-canvas3d/passes/pick.d.ts +18 -5
  41. package/lib/commonjs/mol-canvas3d/passes/pick.js +125 -24
  42. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +5 -0
  43. package/lib/commonjs/mol-canvas3d/passes/smaa.js +4 -0
  44. package/lib/commonjs/mol-canvas3d/passes/wboit.js +4 -0
  45. package/lib/commonjs/mol-data/db/column.js +5 -5
  46. package/lib/commonjs/mol-data/db/table.js +2 -2
  47. package/lib/commonjs/mol-data/util/array.d.ts +1 -1
  48. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
  49. package/lib/commonjs/mol-gl/compute/grid3d.d.ts +2 -2
  50. package/lib/commonjs/mol-gl/compute/grid3d.js +30 -8
  51. package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
  52. package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
  53. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
  54. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +6 -1
  55. package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
  56. package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
  57. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
  58. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -10
  59. package/lib/commonjs/mol-gl/renderer.js +77 -32
  60. package/lib/commonjs/mol-gl/scene.js +2 -0
  61. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  62. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  63. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  64. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  65. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  66. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  67. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  68. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  69. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  70. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  71. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  72. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  73. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  74. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  75. package/lib/commonjs/mol-gl/shader/lines.frag.d.ts +1 -1
  76. package/lib/commonjs/mol-gl/shader/lines.frag.js +1 -1
  77. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  78. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  79. package/lib/commonjs/mol-gl/shader/points.frag.d.ts +1 -1
  80. package/lib/commonjs/mol-gl/shader/points.frag.js +1 -1
  81. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  82. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  83. package/lib/commonjs/mol-gl/shader/text.frag.d.ts +1 -1
  84. package/lib/commonjs/mol-gl/shader/text.frag.js +1 -1
  85. package/lib/commonjs/mol-gl/shader-code.d.ts +1 -1
  86. package/lib/commonjs/mol-gl/shader-code.js +41 -9
  87. package/lib/commonjs/mol-gl/webgl/compat.d.ts +34 -1
  88. package/lib/commonjs/mol-gl/webgl/compat.js +50 -2
  89. package/lib/commonjs/mol-gl/webgl/context.d.ts +2 -0
  90. package/lib/commonjs/mol-gl/webgl/context.js +3 -0
  91. package/lib/commonjs/mol-gl/webgl/extensions.d.ts +3 -2
  92. package/lib/commonjs/mol-gl/webgl/extensions.js +6 -1
  93. package/lib/commonjs/mol-gl/webgl/timer.d.ts +22 -0
  94. package/lib/commonjs/mol-gl/webgl/timer.js +169 -0
  95. package/lib/commonjs/mol-io/common/binary-cif/array-encoder.js +18 -18
  96. package/lib/commonjs/mol-io/common/binary-cif/decoder.js +16 -16
  97. package/lib/commonjs/mol-io/common/binary-cif/encoding.js +9 -9
  98. package/lib/commonjs/mol-io/reader/cif/binary/field.js +3 -3
  99. package/lib/commonjs/mol-io/reader/cif/data-model.js +14 -14
  100. package/lib/commonjs/mol-io/reader/cif/schema.js +1 -1
  101. package/lib/commonjs/mol-io/reader/cif/text/parser.js +23 -23
  102. package/lib/commonjs/mol-io/reader/common/text/column/fixed.js +1 -1
  103. package/lib/commonjs/mol-io/reader/common/text/column/token.js +1 -1
  104. package/lib/commonjs/mol-io/reader/common/text/number-parser.js +6 -6
  105. package/lib/commonjs/mol-io/reader/csv/parser.js +8 -8
  106. package/lib/commonjs/mol-io/writer/cif/encoder/binary.js +10 -10
  107. package/lib/commonjs/mol-io/writer/cif/encoder/text.js +7 -7
  108. package/lib/commonjs/mol-io/writer/cif/encoder.js +8 -8
  109. package/lib/commonjs/mol-io/writer/mol2/encoder.js +4 -4
  110. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +13 -2
  111. package/lib/commonjs/mol-model/sequence/alignment/sequence.js +3 -3
  112. package/lib/commonjs/mol-model/sequence/sequence.js +9 -9
  113. package/lib/commonjs/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
  114. package/lib/commonjs/mol-model/structure/export/categories/secondary-structure.js +2 -2
  115. package/lib/commonjs/mol-model/structure/export/categories/utils.js +1 -1
  116. package/lib/commonjs/mol-model/structure/model/model.js +2 -2
  117. package/lib/commonjs/mol-model/structure/model/properties/custom/indexed.js +6 -6
  118. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
  119. package/lib/commonjs/mol-model/structure/model/types.js +116 -116
  120. package/lib/commonjs/mol-model/structure/query/context.js +1 -1
  121. package/lib/commonjs/mol-model/structure/query/queries/generators.js +5 -5
  122. package/lib/commonjs/mol-model/structure/query/queries/internal.js +4 -4
  123. package/lib/commonjs/mol-model/structure/query/queries/modifiers.js +4 -4
  124. package/lib/commonjs/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
  125. package/lib/commonjs/mol-model/structure/query/utils/structure-distance.js +9 -9
  126. package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.js +106 -106
  127. package/lib/commonjs/mol-model/structure/structure/element/loci.js +5 -5
  128. package/lib/commonjs/mol-model/structure/structure/element/stats.js +5 -5
  129. package/lib/commonjs/mol-model/structure/structure/properties.js +5 -5
  130. package/lib/commonjs/mol-model/structure/structure/structure.js +11 -11
  131. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
  132. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
  133. package/lib/commonjs/mol-model/structure/structure/unit/bonds.js +2 -2
  134. package/lib/commonjs/mol-model/structure/structure/unit/resonance.js +1 -1
  135. package/lib/commonjs/mol-model/structure/structure/unit/rings/compute.js +6 -6
  136. package/lib/commonjs/mol-model/structure/structure/unit/rings.js +6 -6
  137. package/lib/commonjs/mol-model/structure/structure/unit.js +16 -16
  138. package/lib/commonjs/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
  139. package/lib/commonjs/mol-model/structure/util.js +4 -4
  140. package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +2 -2
  141. package/lib/commonjs/mol-model-formats/structure/basic/parser.js +4 -4
  142. package/lib/commonjs/mol-model-formats/structure/basic/properties.js +1 -1
  143. package/lib/commonjs/mol-model-formats/structure/basic/sort.js +1 -1
  144. package/lib/commonjs/mol-model-formats/structure/basic/util.js +1 -1
  145. package/lib/commonjs/mol-model-formats/structure/cif-core.js +6 -6
  146. package/lib/commonjs/mol-model-formats/structure/common/entity.js +1 -1
  147. package/lib/commonjs/mol-model-formats/structure/cube.js +1 -1
  148. package/lib/commonjs/mol-model-formats/structure/gro.js +1 -1
  149. package/lib/commonjs/mol-model-formats/structure/mol.js +1 -1
  150. package/lib/commonjs/mol-model-formats/structure/mol2.js +4 -4
  151. package/lib/commonjs/mol-model-formats/structure/prmtop.js +1 -1
  152. package/lib/commonjs/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
  153. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
  154. package/lib/commonjs/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
  155. package/lib/commonjs/mol-model-formats/structure/property/secondary-structure.js +8 -8
  156. package/lib/commonjs/mol-model-formats/structure/psf.js +1 -1
  157. package/lib/commonjs/mol-model-formats/structure/top.js +1 -1
  158. package/lib/commonjs/mol-model-formats/structure/xyz.js +1 -1
  159. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
  160. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
  161. package/lib/commonjs/mol-model-props/computed/accessible-surface-area.js +2 -2
  162. package/lib/commonjs/mol-model-props/computed/chemistry/functional-group.js +31 -31
  163. package/lib/commonjs/mol-model-props/computed/chemistry/geometry.js +22 -22
  164. package/lib/commonjs/mol-model-props/computed/chemistry/valence-model.js +32 -32
  165. package/lib/commonjs/mol-model-props/computed/interactions/charged.js +39 -39
  166. package/lib/commonjs/mol-model-props/computed/interactions/common.js +34 -34
  167. package/lib/commonjs/mol-model-props/computed/interactions/contacts-builder.js +1 -1
  168. package/lib/commonjs/mol-model-props/computed/interactions/contacts.js +1 -1
  169. package/lib/commonjs/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
  170. package/lib/commonjs/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
  171. package/lib/commonjs/mol-model-props/computed/interactions/hydrophobic.js +9 -9
  172. package/lib/commonjs/mol-model-props/computed/interactions/metal.js +26 -26
  173. package/lib/commonjs/mol-model-props/computed/interactions/refine.js +20 -20
  174. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
  175. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
  176. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
  177. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
  178. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
  179. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
  180. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
  181. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
  182. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp.js +30 -30
  183. package/lib/commonjs/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
  184. package/lib/commonjs/mol-model-props/computed/themes/interaction-type.js +10 -10
  185. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
  186. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
  187. package/lib/commonjs/mol-model-props/sequence/sifts-mapping.js +1 -1
  188. package/lib/commonjs/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
  189. package/lib/commonjs/mol-plugin/animation-loop.d.ts +2 -1
  190. package/lib/commonjs/mol-plugin/animation-loop.js +18 -5
  191. package/lib/commonjs/mol-plugin/behavior/dynamic/camera.js +12 -12
  192. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +7 -7
  193. package/lib/commonjs/mol-plugin/context.d.ts +2 -2
  194. package/lib/commonjs/mol-plugin/state.d.ts +1 -14
  195. package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +12 -11
  196. package/lib/commonjs/mol-plugin-state/formats/volume.js +20 -13
  197. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +5 -5
  198. package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
  199. package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +1 -1
  200. package/lib/commonjs/mol-plugin-ui/sequence/polymer.js +1 -1
  201. package/lib/commonjs/mol-plugin-ui/sequence/sequence.js +1 -1
  202. package/lib/commonjs/mol-plugin-ui/structure/focus.js +1 -1
  203. package/lib/commonjs/mol-plugin-ui/viewport.d.ts +2 -2
  204. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
  205. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
  206. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -12
  207. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +12 -12
  208. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
  209. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
  210. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
  211. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
  212. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  213. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
  214. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +2 -2
  215. package/lib/commonjs/mol-repr/structure/visual/util/common.js +3 -3
  216. package/lib/commonjs/mol-repr/structure/visual/util/link.js +30 -30
  217. package/lib/commonjs/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
  218. package/lib/commonjs/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
  219. package/lib/commonjs/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
  220. package/lib/commonjs/mol-repr/structure/visual/util/polymer.js +6 -6
  221. package/lib/commonjs/mol-script/language/symbol-table/core.d.ts +2 -2
  222. package/lib/commonjs/mol-script/runtime/query/table.js +13 -13
  223. package/lib/commonjs/mol-state/object.d.ts +3 -3
  224. package/lib/commonjs/mol-task/util/user-timing.js +1 -1
  225. package/lib/commonjs/mol-theme/clipping.js +19 -19
  226. package/lib/commonjs/mol-theme/color/atom-id.js +1 -1
  227. package/lib/commonjs/mol-theme/color/carbohydrate-symbol.js +1 -1
  228. package/lib/commonjs/mol-theme/color/chain-id.js +4 -4
  229. package/lib/commonjs/mol-theme/color/element-index.js +1 -1
  230. package/lib/commonjs/mol-theme/color/element-symbol.js +1 -1
  231. package/lib/commonjs/mol-theme/color/entity-id.js +4 -4
  232. package/lib/commonjs/mol-theme/color/entity-source.js +5 -4
  233. package/lib/commonjs/mol-theme/color/hydrophobicity.js +1 -1
  234. package/lib/commonjs/mol-theme/color/illustrative.js +1 -1
  235. package/lib/commonjs/mol-theme/color/model-index.js +1 -1
  236. package/lib/commonjs/mol-theme/color/molecule-type.js +8 -8
  237. package/lib/commonjs/mol-theme/color/occupancy.js +1 -1
  238. package/lib/commonjs/mol-theme/color/operator-hkl.js +1 -1
  239. package/lib/commonjs/mol-theme/color/operator-name.js +1 -1
  240. package/lib/commonjs/mol-theme/color/partial-charge.js +1 -1
  241. package/lib/commonjs/mol-theme/color/polymer-id.js +4 -4
  242. package/lib/commonjs/mol-theme/color/polymer-index.js +1 -1
  243. package/lib/commonjs/mol-theme/color/residue-name.js +1 -1
  244. package/lib/commonjs/mol-theme/color/secondary-structure.js +12 -12
  245. package/lib/commonjs/mol-theme/color/sequence-id.js +7 -7
  246. package/lib/commonjs/mol-theme/color/shape-group.js +1 -1
  247. package/lib/commonjs/mol-theme/color/uncertainty.js +1 -1
  248. package/lib/commonjs/mol-theme/color/uniform.js +1 -1
  249. package/lib/commonjs/mol-theme/color/unit-index.js +1 -1
  250. package/lib/commonjs/mol-theme/color/volume-value.js +1 -1
  251. package/lib/commonjs/mol-theme/label.js +3 -3
  252. package/lib/commonjs/mol-util/binding.js +4 -4
  253. package/lib/commonjs/mol-util/debug.d.ts +6 -1
  254. package/lib/commonjs/mol-util/debug.js +11 -1
  255. package/lib/commonjs/mol-util/input/input-observer.js +20 -20
  256. package/lib/commonjs/mol-util/string-builder.js +1 -1
  257. package/lib/commonjs/servers/model/preprocess/converter.js +1 -1
  258. package/lib/commonjs/servers/model/server/query.js +1 -1
  259. package/lib/commonjs/servers/model/utils/fetch-retry.js +3 -2
  260. package/lib/commonjs/servers/volume/server/algebra/coordinate.js +6 -6
  261. package/lib/commonjs/servers/volume/server/query/encode.js +1 -1
  262. package/lib/examples/alpha-orbitals/index.d.ts +1 -1
  263. package/lib/examples/alpha-orbitals/index.html +11 -0
  264. package/lib/examples/alpha-orbitals/index.js +4 -1
  265. package/lib/examples/basic-wrapper/custom-theme.js +1 -1
  266. package/lib/examples/proteopedia-wrapper/coloring.js +3 -3
  267. package/lib/extensions/alpha-orbitals/density.d.ts +1 -1
  268. package/lib/extensions/alpha-orbitals/density.js +6 -2
  269. package/lib/extensions/alpha-orbitals/orbitals.d.ts +1 -1
  270. package/lib/extensions/alpha-orbitals/orbitals.js +6 -3
  271. package/lib/extensions/anvil/algorithm.js +1 -1
  272. package/lib/extensions/cellpack/color/generate.js +1 -1
  273. package/lib/extensions/cellpack/color/provided.js +1 -1
  274. package/lib/extensions/cellpack/state.js +1 -1
  275. package/lib/extensions/dnatco/confal-pyramids/color.js +1 -1
  276. package/lib/extensions/g3d/model.js +1 -1
  277. package/lib/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
  278. package/lib/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
  279. package/lib/extensions/pdbe/structure-quality-report/color.js +1 -1
  280. package/lib/extensions/rcsb/assembly-symmetry/color.js +4 -4
  281. package/lib/extensions/rcsb/validation-report/color/density-fit.js +1 -1
  282. package/lib/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
  283. package/lib/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
  284. package/lib/extensions/rcsb/validation-report/representation.js +2 -2
  285. package/lib/mol-canvas3d/canvas3d.js +5 -1
  286. package/lib/mol-canvas3d/controls/trackball.js +7 -7
  287. package/lib/mol-canvas3d/helper/camera-helper.js +14 -14
  288. package/lib/mol-canvas3d/helper/interaction-events.js +5 -5
  289. package/lib/mol-canvas3d/passes/draw.js +34 -5
  290. package/lib/mol-canvas3d/passes/fxaa.js +5 -0
  291. package/lib/mol-canvas3d/passes/marking.js +5 -0
  292. package/lib/mol-canvas3d/passes/multi-sample.js +9 -0
  293. package/lib/mol-canvas3d/passes/pick.d.ts +18 -5
  294. package/lib/mol-canvas3d/passes/pick.js +125 -24
  295. package/lib/mol-canvas3d/passes/postprocessing.js +5 -0
  296. package/lib/mol-canvas3d/passes/smaa.js +5 -1
  297. package/lib/mol-canvas3d/passes/wboit.js +5 -1
  298. package/lib/mol-data/db/column.js +5 -5
  299. package/lib/mol-data/db/table.js +2 -2
  300. package/lib/mol-data/util/array.d.ts +1 -1
  301. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
  302. package/lib/mol-gl/compute/grid3d.d.ts +2 -2
  303. package/lib/mol-gl/compute/grid3d.js +30 -8
  304. package/lib/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
  305. package/lib/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
  306. package/lib/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
  307. package/lib/mol-gl/compute/histogram-pyramid/sum.js +6 -1
  308. package/lib/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
  309. package/lib/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
  310. package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
  311. package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -10
  312. package/lib/mol-gl/renderer.js +77 -32
  313. package/lib/mol-gl/scene.js +2 -0
  314. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  315. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  316. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  317. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  318. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  319. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  320. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  321. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  322. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  323. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  324. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  325. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  326. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  327. package/lib/mol-gl/shader/image.frag.js +1 -1
  328. package/lib/mol-gl/shader/lines.frag.d.ts +1 -1
  329. package/lib/mol-gl/shader/lines.frag.js +1 -1
  330. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  331. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  332. package/lib/mol-gl/shader/points.frag.d.ts +1 -1
  333. package/lib/mol-gl/shader/points.frag.js +1 -1
  334. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  335. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  336. package/lib/mol-gl/shader/text.frag.d.ts +1 -1
  337. package/lib/mol-gl/shader/text.frag.js +1 -1
  338. package/lib/mol-gl/shader-code.d.ts +1 -1
  339. package/lib/mol-gl/shader-code.js +41 -9
  340. package/lib/mol-gl/webgl/compat.d.ts +34 -1
  341. package/lib/mol-gl/webgl/compat.js +48 -1
  342. package/lib/mol-gl/webgl/context.d.ts +2 -0
  343. package/lib/mol-gl/webgl/context.js +3 -0
  344. package/lib/mol-gl/webgl/extensions.d.ts +3 -2
  345. package/lib/mol-gl/webgl/extensions.js +7 -2
  346. package/lib/mol-gl/webgl/timer.d.ts +22 -0
  347. package/lib/mol-gl/webgl/timer.js +164 -0
  348. package/lib/mol-io/common/binary-cif/array-encoder.js +18 -18
  349. package/lib/mol-io/common/binary-cif/decoder.js +16 -16
  350. package/lib/mol-io/common/binary-cif/encoding.js +9 -9
  351. package/lib/mol-io/reader/cif/binary/field.js +3 -3
  352. package/lib/mol-io/reader/cif/data-model.js +14 -14
  353. package/lib/mol-io/reader/cif/schema.js +1 -1
  354. package/lib/mol-io/reader/cif/text/parser.js +23 -23
  355. package/lib/mol-io/reader/common/text/column/fixed.js +1 -1
  356. package/lib/mol-io/reader/common/text/column/token.js +1 -1
  357. package/lib/mol-io/reader/common/text/number-parser.js +6 -6
  358. package/lib/mol-io/reader/csv/parser.js +8 -8
  359. package/lib/mol-io/writer/cif/encoder/binary.js +10 -10
  360. package/lib/mol-io/writer/cif/encoder/text.js +7 -7
  361. package/lib/mol-io/writer/cif/encoder.js +8 -8
  362. package/lib/mol-io/writer/mol2/encoder.js +4 -4
  363. package/lib/mol-math/geometry/gaussian-density/gpu.js +13 -2
  364. package/lib/mol-model/sequence/alignment/sequence.js +3 -3
  365. package/lib/mol-model/sequence/sequence.js +9 -9
  366. package/lib/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
  367. package/lib/mol-model/structure/export/categories/secondary-structure.js +2 -2
  368. package/lib/mol-model/structure/export/categories/utils.js +1 -1
  369. package/lib/mol-model/structure/model/model.js +2 -2
  370. package/lib/mol-model/structure/model/properties/custom/indexed.js +6 -6
  371. package/lib/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
  372. package/lib/mol-model/structure/model/types.js +116 -116
  373. package/lib/mol-model/structure/query/context.js +1 -1
  374. package/lib/mol-model/structure/query/queries/generators.js +5 -5
  375. package/lib/mol-model/structure/query/queries/internal.js +4 -4
  376. package/lib/mol-model/structure/query/queries/modifiers.js +4 -4
  377. package/lib/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
  378. package/lib/mol-model/structure/query/utils/structure-distance.js +9 -9
  379. package/lib/mol-model/structure/structure/carbohydrates/constants.js +106 -106
  380. package/lib/mol-model/structure/structure/element/loci.js +5 -5
  381. package/lib/mol-model/structure/structure/element/stats.js +5 -5
  382. package/lib/mol-model/structure/structure/properties.js +5 -5
  383. package/lib/mol-model/structure/structure/structure.js +11 -11
  384. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
  385. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
  386. package/lib/mol-model/structure/structure/unit/bonds.js +2 -2
  387. package/lib/mol-model/structure/structure/unit/resonance.js +1 -1
  388. package/lib/mol-model/structure/structure/unit/rings/compute.js +6 -6
  389. package/lib/mol-model/structure/structure/unit/rings.js +6 -6
  390. package/lib/mol-model/structure/structure/unit.js +16 -16
  391. package/lib/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
  392. package/lib/mol-model/structure/util.js +4 -4
  393. package/lib/mol-model-formats/structure/basic/atomic.js +2 -2
  394. package/lib/mol-model-formats/structure/basic/parser.js +4 -4
  395. package/lib/mol-model-formats/structure/basic/properties.js +1 -1
  396. package/lib/mol-model-formats/structure/basic/sort.js +1 -1
  397. package/lib/mol-model-formats/structure/basic/util.js +1 -1
  398. package/lib/mol-model-formats/structure/cif-core.js +6 -6
  399. package/lib/mol-model-formats/structure/common/entity.js +1 -1
  400. package/lib/mol-model-formats/structure/cube.js +1 -1
  401. package/lib/mol-model-formats/structure/gro.js +1 -1
  402. package/lib/mol-model-formats/structure/mol.js +1 -1
  403. package/lib/mol-model-formats/structure/mol2.js +4 -4
  404. package/lib/mol-model-formats/structure/prmtop.js +1 -1
  405. package/lib/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
  406. package/lib/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
  407. package/lib/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
  408. package/lib/mol-model-formats/structure/property/secondary-structure.js +8 -8
  409. package/lib/mol-model-formats/structure/psf.js +1 -1
  410. package/lib/mol-model-formats/structure/top.js +1 -1
  411. package/lib/mol-model-formats/structure/xyz.js +1 -1
  412. package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
  413. package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
  414. package/lib/mol-model-props/computed/accessible-surface-area.js +2 -2
  415. package/lib/mol-model-props/computed/chemistry/functional-group.js +31 -31
  416. package/lib/mol-model-props/computed/chemistry/geometry.js +22 -22
  417. package/lib/mol-model-props/computed/chemistry/valence-model.js +32 -32
  418. package/lib/mol-model-props/computed/interactions/charged.js +39 -39
  419. package/lib/mol-model-props/computed/interactions/common.js +34 -34
  420. package/lib/mol-model-props/computed/interactions/contacts-builder.js +1 -1
  421. package/lib/mol-model-props/computed/interactions/contacts.js +1 -1
  422. package/lib/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
  423. package/lib/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
  424. package/lib/mol-model-props/computed/interactions/hydrophobic.js +9 -9
  425. package/lib/mol-model-props/computed/interactions/metal.js +26 -26
  426. package/lib/mol-model-props/computed/interactions/refine.js +20 -20
  427. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
  428. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
  429. package/lib/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
  430. package/lib/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
  431. package/lib/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
  432. package/lib/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
  433. package/lib/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
  434. package/lib/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
  435. package/lib/mol-model-props/computed/secondary-structure/dssp.js +30 -30
  436. package/lib/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
  437. package/lib/mol-model-props/computed/themes/interaction-type.js +10 -10
  438. package/lib/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
  439. package/lib/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
  440. package/lib/mol-model-props/sequence/sifts-mapping.js +1 -1
  441. package/lib/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
  442. package/lib/mol-plugin/animation-loop.d.ts +2 -1
  443. package/lib/mol-plugin/animation-loop.js +18 -5
  444. package/lib/mol-plugin/behavior/dynamic/camera.js +12 -12
  445. package/lib/mol-plugin/behavior/dynamic/representation.js +7 -7
  446. package/lib/mol-plugin/context.d.ts +2 -2
  447. package/lib/mol-plugin/state.d.ts +1 -14
  448. package/lib/mol-plugin/version.js +2 -2
  449. package/lib/mol-plugin-state/formats/volume.d.ts +12 -11
  450. package/lib/mol-plugin-state/formats/volume.js +20 -13
  451. package/lib/mol-plugin-state/helpers/structure-selection-query.js +5 -5
  452. package/lib/mol-plugin-state/transforms/representation.js +2 -2
  453. package/lib/mol-plugin-ui/controls/parameters.d.ts +1 -1
  454. package/lib/mol-plugin-ui/sequence/polymer.js +1 -1
  455. package/lib/mol-plugin-ui/sequence/sequence.js +1 -1
  456. package/lib/mol-plugin-ui/structure/focus.js +1 -1
  457. package/lib/mol-plugin-ui/viewport.d.ts +2 -2
  458. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
  459. package/lib/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
  460. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -12
  461. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +12 -12
  462. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
  463. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
  464. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
  465. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
  466. package/lib/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  467. package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
  468. package/lib/mol-repr/structure/visual/util/bond.js +2 -2
  469. package/lib/mol-repr/structure/visual/util/common.js +3 -3
  470. package/lib/mol-repr/structure/visual/util/link.js +30 -30
  471. package/lib/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
  472. package/lib/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
  473. package/lib/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
  474. package/lib/mol-repr/structure/visual/util/polymer.js +6 -6
  475. package/lib/mol-script/language/symbol-table/core.d.ts +2 -2
  476. package/lib/mol-script/runtime/query/table.js +13 -13
  477. package/lib/mol-state/object.d.ts +3 -3
  478. package/lib/mol-task/util/user-timing.js +1 -1
  479. package/lib/mol-theme/clipping.js +19 -19
  480. package/lib/mol-theme/color/atom-id.js +1 -1
  481. package/lib/mol-theme/color/carbohydrate-symbol.js +1 -1
  482. package/lib/mol-theme/color/chain-id.js +4 -4
  483. package/lib/mol-theme/color/element-index.js +1 -1
  484. package/lib/mol-theme/color/element-symbol.js +1 -1
  485. package/lib/mol-theme/color/entity-id.js +4 -4
  486. package/lib/mol-theme/color/entity-source.js +5 -4
  487. package/lib/mol-theme/color/hydrophobicity.js +1 -1
  488. package/lib/mol-theme/color/illustrative.js +1 -1
  489. package/lib/mol-theme/color/model-index.js +1 -1
  490. package/lib/mol-theme/color/molecule-type.js +8 -8
  491. package/lib/mol-theme/color/occupancy.js +1 -1
  492. package/lib/mol-theme/color/operator-hkl.js +1 -1
  493. package/lib/mol-theme/color/operator-name.js +1 -1
  494. package/lib/mol-theme/color/partial-charge.js +1 -1
  495. package/lib/mol-theme/color/polymer-id.js +4 -4
  496. package/lib/mol-theme/color/polymer-index.js +1 -1
  497. package/lib/mol-theme/color/residue-name.js +1 -1
  498. package/lib/mol-theme/color/secondary-structure.js +12 -12
  499. package/lib/mol-theme/color/sequence-id.js +7 -7
  500. package/lib/mol-theme/color/shape-group.js +1 -1
  501. package/lib/mol-theme/color/uncertainty.js +1 -1
  502. package/lib/mol-theme/color/uniform.js +1 -1
  503. package/lib/mol-theme/color/unit-index.js +1 -1
  504. package/lib/mol-theme/color/volume-value.js +1 -1
  505. package/lib/mol-theme/label.js +3 -3
  506. package/lib/mol-util/binding.js +4 -4
  507. package/lib/mol-util/debug.d.ts +6 -1
  508. package/lib/mol-util/debug.js +9 -1
  509. package/lib/mol-util/input/input-observer.js +20 -20
  510. package/lib/mol-util/string-builder.js +1 -1
  511. package/lib/servers/model/preprocess/converter.js +1 -1
  512. package/lib/servers/model/server/query.js +1 -1
  513. package/lib/servers/model/utils/fetch-retry.js +3 -2
  514. package/lib/servers/volume/server/algebra/coordinate.js +6 -6
  515. package/lib/servers/volume/server/query/encode.js +1 -1
  516. package/package.json +8 -8
@@ -10,7 +10,7 @@ function isAromatic(unit, index) {
10
10
  // TODO also extend unit.rings with geometry/composition-based aromaticity detection and use it here in addition
11
11
  var _a = unit.bonds, offset = _a.offset, edgeProps = _a.edgeProps;
12
12
  for (var i = offset[index], il = offset[index + 1]; i < il; ++i) {
13
- if (BondType.is(16 /* Aromatic */, edgeProps.flags[i]))
13
+ if (BondType.is(16 /* BondType.Flag.Aromatic */, edgeProps.flags[i]))
14
14
  return true;
15
15
  }
16
16
  return false;
@@ -28,15 +28,15 @@ function bondToCarbonylCount(structure, unit, index) {
28
28
  * Nitrogen in a quaternary amine
29
29
  */
30
30
  export function isQuaternaryAmine(structure, unit, index) {
31
- return (typeSymbol(unit, index) === "N" /* N */ &&
31
+ return (typeSymbol(unit, index) === "N" /* Elements.N */ &&
32
32
  bondCount(structure, unit, index) === 4 &&
33
- bondToElementCount(structure, unit, index, "H" /* H */) === 0);
33
+ bondToElementCount(structure, unit, index, "H" /* Elements.H */) === 0);
34
34
  }
35
35
  /**
36
36
  * Nitrogen in a tertiary amine
37
37
  */
38
38
  export function isTertiaryAmine(structure, unit, index, idealValence) {
39
- return (typeSymbol(unit, index) === "N" /* N */ &&
39
+ return (typeSymbol(unit, index) === "N" /* Elements.N */ &&
40
40
  bondCount(structure, unit, index) === 4 &&
41
41
  idealValence === 3);
42
42
  }
@@ -45,8 +45,8 @@ export function isTertiaryAmine(structure, unit, index, idealValence) {
45
45
  */
46
46
  export function isImide(structure, unit, index) {
47
47
  var flag = false;
48
- if (typeSymbol(unit, index) === "N" /* N */ &&
49
- (bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* H */)) === 2) {
48
+ if (typeSymbol(unit, index) === "N" /* Elements.N */ &&
49
+ (bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* Elements.H */)) === 2) {
50
50
  flag = bondToCarbonylCount(structure, unit, index) === 2;
51
51
  }
52
52
  return flag;
@@ -56,8 +56,8 @@ export function isImide(structure, unit, index) {
56
56
  */
57
57
  export function isAmide(structure, unit, index) {
58
58
  var flag = false;
59
- if (typeSymbol(unit, index) === "N" /* N */ &&
60
- (bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* H */)) === 2) {
59
+ if (typeSymbol(unit, index) === "N" /* Elements.N */ &&
60
+ (bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* Elements.H */)) === 2) {
61
61
  flag = bondToCarbonylCount(structure, unit, index) === 1;
62
62
  }
63
63
  return flag;
@@ -66,30 +66,30 @@ export function isAmide(structure, unit, index) {
66
66
  * Sulfur in a sulfonium group
67
67
  */
68
68
  export function isSulfonium(structure, unit, index) {
69
- return (typeSymbol(unit, index) === "S" /* S */ &&
69
+ return (typeSymbol(unit, index) === "S" /* Elements.S */ &&
70
70
  bondCount(structure, unit, index) === 3 &&
71
- bondToElementCount(structure, unit, index, "H" /* H */) === 0);
71
+ bondToElementCount(structure, unit, index, "H" /* Elements.H */) === 0);
72
72
  }
73
73
  /**
74
74
  * Sulfur in a sulfonic acid or sulfonate group
75
75
  */
76
76
  export function isSulfonicAcid(structure, unit, index) {
77
- return (typeSymbol(unit, index) === "S" /* S */ &&
78
- bondToElementCount(structure, unit, index, "O" /* O */) === 3);
77
+ return (typeSymbol(unit, index) === "S" /* Elements.S */ &&
78
+ bondToElementCount(structure, unit, index, "O" /* Elements.O */) === 3);
79
79
  }
80
80
  /**
81
81
  * Sulfur in a sulfate group
82
82
  */
83
83
  export function isSulfate(structure, unit, index) {
84
- return (typeSymbol(unit, index) === "S" /* S */ &&
85
- bondToElementCount(structure, unit, index, "O" /* O */) === 4);
84
+ return (typeSymbol(unit, index) === "S" /* Elements.S */ &&
85
+ bondToElementCount(structure, unit, index, "O" /* Elements.O */) === 4);
86
86
  }
87
87
  /**
88
88
  * Phosphor in a phosphate group
89
89
  */
90
90
  export function isPhosphate(structure, unit, index) {
91
- return (typeSymbol(unit, index) === "P" /* P */ &&
92
- bondToElementCount(structure, unit, index, "O" /* O */) === bondCount(structure, unit, index));
91
+ return (typeSymbol(unit, index) === "P" /* Elements.P */ &&
92
+ bondToElementCount(structure, unit, index, "O" /* Elements.O */) === bondCount(structure, unit, index));
93
93
  }
94
94
  /**
95
95
  * Halogen with one bond to a carbon
@@ -97,7 +97,7 @@ export function isPhosphate(structure, unit, index) {
97
97
  export function isHalocarbon(structure, unit, index) {
98
98
  return (isHalogen(typeSymbol(unit, index)) &&
99
99
  bondCount(structure, unit, index) === 1 &&
100
- bondToElementCount(structure, unit, index, "C" /* C */) === 1);
100
+ bondToElementCount(structure, unit, index, "C" /* Elements.C */) === 1);
101
101
  }
102
102
  /**
103
103
  * Carbon in a carbonyl/acyl group
@@ -106,10 +106,10 @@ export function isHalocarbon(structure, unit, index) {
106
106
  */
107
107
  export function isCarbonyl(structure, unit, index) {
108
108
  var flag = false;
109
- if (typeSymbol(unit, index) === "C" /* C */) {
109
+ if (typeSymbol(unit, index) === "C" /* Elements.C */) {
110
110
  var _a = unit.bonds, offset = _a.offset, edgeProps = _a.edgeProps, b = _a.b;
111
111
  for (var i = offset[index], il = offset[index + 1]; i < il; ++i) {
112
- if (edgeProps.order[i] === 2 && typeSymbol(unit, b[i]) === "O" /* O */) {
112
+ if (edgeProps.order[i] === 2 && typeSymbol(unit, b[i]) === "O" /* Elements.O */) {
113
113
  flag = true;
114
114
  break;
115
115
  }
@@ -122,12 +122,12 @@ export function isCarbonyl(structure, unit, index) {
122
122
  */
123
123
  export function isCarboxylate(structure, unit, index) {
124
124
  var terminalOxygenCount = 0;
125
- if (typeSymbol(unit, index) === "C" /* C */ &&
126
- bondToElementCount(structure, unit, index, "O" /* O */) === 2 &&
127
- bondToElementCount(structure, unit, index, "C" /* C */) === 1) {
125
+ if (typeSymbol(unit, index) === "C" /* Elements.C */ &&
126
+ bondToElementCount(structure, unit, index, "O" /* Elements.O */) === 2 &&
127
+ bondToElementCount(structure, unit, index, "C" /* Elements.C */) === 1) {
128
128
  eachBondedAtom(structure, unit, index, function (unit, index) {
129
- if (typeSymbol(unit, index) === "O" /* O */ &&
130
- bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* H */) === 1) {
129
+ if (typeSymbol(unit, index) === "O" /* Elements.O */ &&
130
+ bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* Elements.H */) === 1) {
131
131
  terminalOxygenCount += 1;
132
132
  }
133
133
  });
@@ -139,11 +139,11 @@ export function isCarboxylate(structure, unit, index) {
139
139
  */
140
140
  export function isGuanidine(structure, unit, index) {
141
141
  var terminalNitrogenCount = 0;
142
- if (typeSymbol(unit, index) === "C" /* C */ &&
142
+ if (typeSymbol(unit, index) === "C" /* Elements.C */ &&
143
143
  bondCount(structure, unit, index) === 3 &&
144
- bondToElementCount(structure, unit, index, "N" /* N */) === 3) {
144
+ bondToElementCount(structure, unit, index, "N" /* Elements.N */) === 3) {
145
145
  eachBondedAtom(structure, unit, index, function (unit, index) {
146
- if (bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* H */) === 1) {
146
+ if (bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* Elements.H */) === 1) {
147
147
  terminalNitrogenCount += 1;
148
148
  }
149
149
  });
@@ -155,12 +155,12 @@ export function isGuanidine(structure, unit, index) {
155
155
  */
156
156
  export function isAcetamidine(structure, unit, index) {
157
157
  var terminalNitrogenCount = 0;
158
- if (typeSymbol(unit, index) === "C" /* C */ &&
158
+ if (typeSymbol(unit, index) === "C" /* Elements.C */ &&
159
159
  bondCount(structure, unit, index) === 3 &&
160
- bondToElementCount(structure, unit, index, "N" /* N */) === 2 &&
161
- bondToElementCount(structure, unit, index, "C" /* C */) === 1) {
160
+ bondToElementCount(structure, unit, index, "N" /* Elements.N */) === 2 &&
161
+ bondToElementCount(structure, unit, index, "C" /* Elements.C */) === 1) {
162
162
  eachBondedAtom(structure, unit, index, function (unit, index) {
163
- if (bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* H */) === 1) {
163
+ if (bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* Elements.H */) === 1) {
164
164
  terminalNitrogenCount += 1;
165
165
  }
166
166
  });
@@ -9,41 +9,41 @@ import { Vec3 } from '../../../mol-math/linear-algebra';
9
9
  import { eachBondedAtom, typeSymbol } from './util';
10
10
  export function geometryLabel(geometry) {
11
11
  switch (geometry) {
12
- case 0 /* Spherical */:
12
+ case 0 /* AtomGeometry.Spherical */:
13
13
  return 'Spherical';
14
- case 1 /* Terminal */:
14
+ case 1 /* AtomGeometry.Terminal */:
15
15
  return 'Terminal';
16
- case 2 /* Linear */:
16
+ case 2 /* AtomGeometry.Linear */:
17
17
  return 'Linear';
18
- case 3 /* Trigonal */:
18
+ case 3 /* AtomGeometry.Trigonal */:
19
19
  return 'Trigonal';
20
- case 4 /* Tetrahedral */:
20
+ case 4 /* AtomGeometry.Tetrahedral */:
21
21
  return 'Tetrahedral';
22
- case 5 /* TrigonalBiPyramidal */:
22
+ case 5 /* AtomGeometry.TrigonalBiPyramidal */:
23
23
  return 'Trigonal Bi-Pyramidal';
24
- case 6 /* Octahedral */:
24
+ case 6 /* AtomGeometry.Octahedral */:
25
25
  return 'Octahedral';
26
- case 7 /* SquarePlanar */:
26
+ case 7 /* AtomGeometry.SquarePlanar */:
27
27
  return 'Square Planar';
28
- case 8 /* Unknown */:
28
+ case 8 /* AtomGeometry.Unknown */:
29
29
  return 'Unknown';
30
30
  }
31
31
  }
32
32
  export function assignGeometry(totalCoordination) {
33
33
  switch (totalCoordination) {
34
- case 0: return 0 /* Spherical */;
35
- case 1: return 1 /* Terminal */;
36
- case 2: return 2 /* Linear */;
37
- case 3: return 3 /* Trigonal */;
38
- case 4: return 4 /* Tetrahedral */;
39
- default: return 8 /* Unknown */;
34
+ case 0: return 0 /* AtomGeometry.Spherical */;
35
+ case 1: return 1 /* AtomGeometry.Terminal */;
36
+ case 2: return 2 /* AtomGeometry.Linear */;
37
+ case 3: return 3 /* AtomGeometry.Trigonal */;
38
+ case 4: return 4 /* AtomGeometry.Tetrahedral */;
39
+ default: return 8 /* AtomGeometry.Unknown */;
40
40
  }
41
41
  }
42
42
  export var AtomGeometryAngles = new Map([
43
- [2 /* Linear */, degToRad(180)],
44
- [3 /* Trigonal */, degToRad(120)],
45
- [4 /* Tetrahedral */, degToRad(109.4721)],
46
- [6 /* Octahedral */, degToRad(90)]
43
+ [2 /* AtomGeometry.Linear */, degToRad(180)],
44
+ [3 /* AtomGeometry.Trigonal */, degToRad(120)],
45
+ [4 /* AtomGeometry.Tetrahedral */, degToRad(109.4721)],
46
+ [6 /* AtomGeometry.Octahedral */, degToRad(90)]
47
47
  ]);
48
48
  // tmp objects for `calcAngles` and `calcPlaneAngle`
49
49
  var tmpDir1 = Vec3();
@@ -60,7 +60,7 @@ export function calcAngles(structure, unitA, indexA, unitB, indexB) {
60
60
  unitB.conformation.position(unitB.elements[indexB], tmpPosB);
61
61
  Vec3.sub(tmpDir1, tmpPosB, tmpPosA);
62
62
  eachBondedAtom(structure, unitA, indexA, function (unitX, indexX) {
63
- if (typeSymbol(unitX, indexX) !== "H" /* H */) {
63
+ if (typeSymbol(unitX, indexX) !== "H" /* Elements.H */) {
64
64
  unitX.conformation.position(unitX.elements[indexX], tmpPosX);
65
65
  Vec3.sub(tmpDir2, tmpPosX, tmpPosA);
66
66
  angles.push(Vec3.angle(tmpDir1, tmpDir2));
@@ -86,7 +86,7 @@ export function calcPlaneAngle(structure, unitA, indexA, unitB, indexB) {
86
86
  eachBondedAtom(structure, unitA, indexA, function (unitX, indexX) {
87
87
  if (ni > 1)
88
88
  return;
89
- if (typeSymbol(unitX, indexX) !== "H" /* H */) {
89
+ if (typeSymbol(unitX, indexX) !== "H" /* Elements.H */) {
90
90
  unitX1 = unitX;
91
91
  indexX1 = indexX;
92
92
  unitX.conformation.position(unitX.elements[indexX], tmpPosX);
@@ -99,7 +99,7 @@ export function calcPlaneAngle(structure, unitA, indexA, unitB, indexB) {
99
99
  return;
100
100
  if (unitX === unitA && indexX === indexA)
101
101
  return;
102
- if (typeSymbol(unitX, indexX) !== "H" /* H */) {
102
+ if (typeSymbol(unitX, indexX) !== "H" /* Elements.H */) {
103
103
  unitX.conformation.position(unitX.elements[indexX], tmpPosX);
104
104
  Vec3.sub(neighbours[ni++], tmpPosX, tmpPosA);
105
105
  }
@@ -34,7 +34,7 @@ var tmpConjBondItB = new Bond.ElementBondIterator();
34
34
  */
35
35
  function isConjugated(structure, unit, index) {
36
36
  var element = typeSymbol(unit, index);
37
- var hetero = element === "O" /* O */ || element === "N" /* N */;
37
+ var hetero = element === "O" /* Elements.O */ || element === "N" /* Elements.N */;
38
38
  if (hetero && bondCount(structure, unit, index) === 4)
39
39
  return false;
40
40
  tmpConjBondItA.setElement(structure, unit, index);
@@ -48,8 +48,8 @@ function isConjugated(structure, unit, index) {
48
48
  while (tmpConjBondItB.hasNext) {
49
49
  var bB = tmpConjBondItB.move();
50
50
  if (bB.order > 1) {
51
- if ((elementB === "P" /* P */ || elementB === "S" /* S */) &&
52
- typeSymbol(bB.otherUnit, bB.otherIndex) === "O" /* O */) {
51
+ if ((elementB === "P" /* Elements.P */ || elementB === "S" /* Elements.S */) &&
52
+ typeSymbol(bB.otherUnit, bB.otherIndex) === "O" /* Elements.O */) {
53
53
  continue;
54
54
  }
55
55
  return true;
@@ -89,7 +89,7 @@ var tmpChargeBondItB = new Bond.ElementBondIterator();
89
89
  * a much simpler view and deduces one from the other
90
90
  */
91
91
  export function calculateHydrogensCharge(structure, unit, index, props) {
92
- var hydrogenCount = bondToElementCount(structure, unit, index, "H" /* H */);
92
+ var hydrogenCount = bondToElementCount(structure, unit, index, "H" /* Elements.H */);
93
93
  var element = typeSymbol(unit, index);
94
94
  var charge = formalCharge(unit, index);
95
95
  var assignCharge = (props.assignCharge === 'always' || (props.assignCharge === 'auto' && charge === 0));
@@ -99,21 +99,21 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
99
99
  var conjugated = isConjugated(structure, unit, index);
100
100
  var multiBond = (valence - degree > 0);
101
101
  var implicitHCount = 0;
102
- var geom = 8 /* Unknown */;
102
+ var geom = 8 /* AtomGeometry.Unknown */;
103
103
  switch (element) {
104
- case "H" /* H */:
104
+ case "H" /* Elements.H */:
105
105
  if (assignCharge) {
106
106
  if (degree === 0) {
107
107
  charge = 1;
108
- geom = 0 /* Spherical */;
108
+ geom = 0 /* AtomGeometry.Spherical */;
109
109
  }
110
110
  else if (degree === 1) {
111
111
  charge = 0;
112
- geom = 1 /* Terminal */;
112
+ geom = 1 /* AtomGeometry.Terminal */;
113
113
  }
114
114
  }
115
115
  break;
116
- case "C" /* C */:
116
+ case "C" /* Elements.C */:
117
117
  // TODO: Isocyanide?
118
118
  if (assignCharge) {
119
119
  charge = 0; // Assume carbon always neutral
@@ -125,7 +125,7 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
125
125
  // Carbocation is planar, carbanion is tetrahedral
126
126
  geom = assignGeometry(degree + implicitHCount + Math.max(0, -charge));
127
127
  break;
128
- case "N" /* N */:
128
+ case "N" /* Elements.N */:
129
129
  if (assignCharge) {
130
130
  if (!assignH) { // Trust input H explicitly:
131
131
  charge = valence - 3;
@@ -147,7 +147,7 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
147
147
  while (tmpChargeBondItA.hasNext) {
148
148
  var b = tmpChargeBondItA.move();
149
149
  var elementB = typeSymbol(b.otherUnit, b.otherIndex);
150
- if (elementB === "S" /* S */ || isMetal(elementB)) {
150
+ if (elementB === "S" /* Elements.S */ || isMetal(elementB)) {
151
151
  charge = 0;
152
152
  break;
153
153
  }
@@ -173,7 +173,7 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
173
173
  geom = assignGeometry(degree + implicitHCount + 1 - charge);
174
174
  }
175
175
  break;
176
- case "O" /* O */:
176
+ case "O" /* Elements.O */:
177
177
  if (assignCharge) {
178
178
  if (!assignH) {
179
179
  charge = valence - 2;
@@ -186,7 +186,7 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
186
186
  while (tmpChargeBondItB.hasNext) {
187
187
  var bB = tmpChargeBondItB.move();
188
188
  if (!(bB.otherUnit === unit && bB.otherIndex === index) &&
189
- typeSymbol(bB.otherUnit, bB.otherIndex) === "O" /* O */ &&
189
+ typeSymbol(bB.otherUnit, bB.otherIndex) === "O" /* Elements.O */ &&
190
190
  bB.order === 2) {
191
191
  charge = -1;
192
192
  break b1;
@@ -210,10 +210,10 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
210
210
  break;
211
211
  // Only handles thiols/thiolates/thioether/sulfonium. Sulfoxides and higher
212
212
  // oxidiation states are assumed neutral S (charge carried on O if required)
213
- case "S" /* S */:
213
+ case "S" /* Elements.S */:
214
214
  if (assignCharge) {
215
215
  if (!assignH) {
216
- if (valence <= 3 && bondToElementCount(structure, unit, index, "O" /* O */) === 0) {
216
+ if (valence <= 3 && bondToElementCount(structure, unit, index, "O" /* Elements.O */) === 0) {
217
217
  charge = valence - 2; // e.g. explicitly deprotonated thiol
218
218
  }
219
219
  else {
@@ -231,32 +231,32 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
231
231
  geom = assignGeometry(degree + implicitHCount - charge + 2);
232
232
  }
233
233
  break;
234
- case "F" /* F */:
235
- case "CL" /* CL */:
236
- case "BR" /* BR */:
237
- case "I" /* I */:
238
- case "AT" /* AT */:
234
+ case "F" /* Elements.F */:
235
+ case "CL" /* Elements.CL */:
236
+ case "BR" /* Elements.BR */:
237
+ case "I" /* Elements.I */:
238
+ case "AT" /* Elements.AT */:
239
239
  // Never implicitly protonate halides
240
240
  if (assignCharge) {
241
241
  charge = valence - 1;
242
242
  }
243
243
  break;
244
- case "LI" /* LI */:
245
- case "NA" /* NA */:
246
- case "K" /* K */:
247
- case "RB" /* RB */:
248
- case "CS" /* CS */:
249
- case "FR" /* FR */:
244
+ case "LI" /* Elements.LI */:
245
+ case "NA" /* Elements.NA */:
246
+ case "K" /* Elements.K */:
247
+ case "RB" /* Elements.RB */:
248
+ case "CS" /* Elements.CS */:
249
+ case "FR" /* Elements.FR */:
250
250
  if (assignCharge) {
251
251
  charge = 1 - valence;
252
252
  }
253
253
  break;
254
- case "BE" /* BE */:
255
- case "MG" /* MG */:
256
- case "CA" /* CA */:
257
- case "SR" /* SR */:
258
- case "BA" /* BA */:
259
- case "RA" /* RA */:
254
+ case "BE" /* Elements.BE */:
255
+ case "MG" /* Elements.MG */:
256
+ case "CA" /* Elements.CA */:
257
+ case "SR" /* Elements.SR */:
258
+ case "BA" /* Elements.BA */:
259
+ case "RA" /* Elements.RA */:
260
260
  if (assignCharge) {
261
261
  charge = 2 - valence;
262
262
  }
@@ -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
  }