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
@@ -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
  }
@@ -23,19 +23,19 @@ function addHydrophobicAtom(structure, unit, builder) {
23
23
  var _loop_1 = function (i, il) {
24
24
  var element = typeSymbol(unit, i);
25
25
  var flag = false;
26
- if (element === "C" /* C */) {
26
+ if (element === "C" /* Elements.C */) {
27
27
  flag = true;
28
28
  eachBondedAtom(structure, unit, i, function (unitB, indexB) {
29
29
  var elementB = typeSymbol(unitB, indexB);
30
- if (elementB !== "C" /* C */ && elementB !== "H" /* H */)
30
+ if (elementB !== "C" /* Elements.C */ && elementB !== "H" /* Elements.H */)
31
31
  flag = false;
32
32
  });
33
33
  }
34
- else if (element === "F" /* F */) {
34
+ else if (element === "F" /* Elements.F */) {
35
35
  flag = true;
36
36
  }
37
37
  if (flag) {
38
- builder.add(8 /* HydrophobicAtom */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
38
+ builder.add(8 /* FeatureType.HydrophobicAtom */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
39
39
  }
40
40
  };
41
41
  for (var i = 0, il = elements.length; i < il; ++i) {
@@ -43,7 +43,7 @@ function addHydrophobicAtom(structure, unit, builder) {
43
43
  }
44
44
  }
45
45
  function isHydrophobicContact(ti, tj) {
46
- return ti === 8 /* HydrophobicAtom */ && tj === 8 /* HydrophobicAtom */;
46
+ return ti === 8 /* FeatureType.HydrophobicAtom */ && tj === 8 /* FeatureType.HydrophobicAtom */;
47
47
  }
48
48
  function testHydrophobic(structure, infoA, infoB, distanceSq) {
49
49
  var typeA = infoA.types[infoA.feature];
@@ -52,19 +52,19 @@ function testHydrophobic(structure, infoA, infoB, distanceSq) {
52
52
  return;
53
53
  var indexA = infoA.members[infoA.offsets[infoA.feature]];
54
54
  var indexB = infoB.members[infoB.offsets[infoB.feature]];
55
- if (typeSymbol(infoA.unit, indexA) === "F" /* F */ && typeSymbol(infoB.unit, indexB) === "F" /* F */)
55
+ if (typeSymbol(infoA.unit, indexA) === "F" /* Elements.F */ && typeSymbol(infoB.unit, indexB) === "F" /* Elements.F */)
56
56
  return;
57
- return 6 /* Hydrophobic */;
57
+ return 6 /* InteractionType.Hydrophobic */;
58
58
  }
59
59
  //
60
- export var HydrophobicAtomProvider = Features.Provider([8 /* HydrophobicAtom */], addHydrophobicAtom);
60
+ export var HydrophobicAtomProvider = Features.Provider([8 /* FeatureType.HydrophobicAtom */], addHydrophobicAtom);
61
61
  export var HydrophobicProvider = {
62
62
  name: 'hydrophobic',
63
63
  params: HydrophobicParams,
64
64
  createTester: function (props) {
65
65
  return {
66
66
  maxDistance: props.distanceMax,
67
- requiredFeatures: new Set([8 /* HydrophobicAtom */]),
67
+ requiredFeatures: new Set([8 /* FeatureType.HydrophobicAtom */]),
68
68
  getType: function (structure, infoA, infoB, distanceSq) { return testHydrophobic(structure, infoA, infoB, distanceSq); }
69
69
  };
70
70
  }
@@ -14,25 +14,25 @@ export var MetalCoordinationParams = {
14
14
  distanceMax: PD.Numeric(3.0, { min: 1, max: 5, step: 0.1 }),
15
15
  };
16
16
  var IonicTypeMetals = [
17
- "LI" /* LI */, "NA" /* NA */, "K" /* K */, "RB" /* RB */, "CS" /* CS */,
18
- "MG" /* MG */, "CA" /* CA */, "SR" /* SR */, "BA" /* BA */, "AL" /* AL */,
19
- "GA" /* GA */, "IN" /* IN */, "TL" /* TL */, "SC" /* SC */, "SN" /* SN */,
20
- "PB" /* PB */, "BI" /* BI */, "SB" /* SB */, "HG" /* HG */
17
+ "LI" /* Elements.LI */, "NA" /* Elements.NA */, "K" /* Elements.K */, "RB" /* Elements.RB */, "CS" /* Elements.CS */,
18
+ "MG" /* Elements.MG */, "CA" /* Elements.CA */, "SR" /* Elements.SR */, "BA" /* Elements.BA */, "AL" /* Elements.AL */,
19
+ "GA" /* Elements.GA */, "IN" /* Elements.IN */, "TL" /* Elements.TL */, "SC" /* Elements.SC */, "SN" /* Elements.SN */,
20
+ "PB" /* Elements.PB */, "BI" /* Elements.BI */, "SB" /* Elements.SB */, "HG" /* Elements.HG */
21
21
  ];
22
22
  function addMetal(structure, unit, builder) {
23
23
  var elements = unit.elements;
24
24
  var _a = unit.model.atomicConformation, x = _a.x, y = _a.y, z = _a.z;
25
25
  for (var i = 0, il = elements.length; i < il; ++i) {
26
26
  var element = typeSymbol(unit, i);
27
- var type = 0 /* None */;
27
+ var type = 0 /* FeatureType.None */;
28
28
  if (IonicTypeMetals.includes(element)) {
29
- type = 13 /* IonicTypeMetal */;
29
+ type = 13 /* FeatureType.IonicTypeMetal */;
30
30
  }
31
- else if (isTransitionMetal(element) || element === "ZN" /* ZN */ || element === "CD" /* CD */) {
32
- type = 12 /* TransitionMetal */;
31
+ else if (isTransitionMetal(element) || element === "ZN" /* Elements.ZN */ || element === "CD" /* Elements.CD */) {
32
+ type = 12 /* FeatureType.TransitionMetal */;
33
33
  }
34
34
  if (type) {
35
- builder.add(type, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
35
+ builder.add(type, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
36
36
  }
37
37
  }
38
38
  }
@@ -60,17 +60,17 @@ function addMetalBinding(structure, unit, builder) {
60
60
  var isStandardAminoacid = AminoAcidNames.has(resname);
61
61
  var isStandardBase = BaseNames.has(resname);
62
62
  if (!isStandardAminoacid && !isStandardBase) {
63
- if (isHalogen(element) || element === "O" /* O */ || element === "S" /* S */) {
63
+ if (isHalogen(element) || element === "O" /* Elements.O */ || element === "S" /* Elements.S */) {
64
64
  dative = true;
65
65
  ionic = true;
66
66
  }
67
- else if (element === "N" /* N */) {
67
+ else if (element === "N" /* Elements.N */) {
68
68
  dative = true;
69
69
  }
70
70
  }
71
71
  else if (isStandardAminoacid) {
72
72
  // main chain oxygen atom or oxygen, nitrogen and sulfur from specific amino acids
73
- if (element === "O" /* O */) {
73
+ if (element === "O" /* Elements.O */) {
74
74
  if (['ASP', 'GLU', 'SER', 'THR', 'TYR', 'ASN', 'GLN'].includes(resname) && isProteinSidechain(atomname)) {
75
75
  dative = true;
76
76
  ionic = true;
@@ -80,11 +80,11 @@ function addMetalBinding(structure, unit, builder) {
80
80
  ionic = true;
81
81
  }
82
82
  }
83
- else if (element === "S" /* S */ && (resname === 'CYS' || resname === 'MET')) {
83
+ else if (element === "S" /* Elements.S */ && (resname === 'CYS' || resname === 'MET')) {
84
84
  dative = true;
85
85
  ionic = true;
86
86
  }
87
- else if (element === "N" /* N */) {
87
+ else if (element === "N" /* Elements.N */) {
88
88
  if (resname === 'HIS' && isProteinSidechain(atomname)) {
89
89
  dative = true;
90
90
  }
@@ -93,7 +93,7 @@ function addMetalBinding(structure, unit, builder) {
93
93
  else if (isStandardBase) {
94
94
  // http://pubs.acs.org/doi/pdf/10.1021/acs.accounts.6b00253
95
95
  // http://onlinelibrary.wiley.com/doi/10.1002/anie.200900399/full
96
- if (element === "O" /* O */ && isNucleicBackbone(atomname)) {
96
+ if (element === "O" /* Elements.O */ && isNucleicBackbone(atomname)) {
97
97
  dative = true;
98
98
  ionic = true;
99
99
  }
@@ -106,20 +106,20 @@ function addMetalBinding(structure, unit, builder) {
106
106
  }
107
107
  }
108
108
  if (dative) {
109
- builder.add(11 /* DativeBondPartner */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
109
+ builder.add(11 /* FeatureType.DativeBondPartner */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
110
110
  }
111
111
  if (ionic) {
112
- builder.add(10 /* IonicTypePartner */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
112
+ builder.add(10 /* FeatureType.IonicTypePartner */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
113
113
  }
114
114
  }
115
115
  }
116
116
  function isMetalCoordination(ti, tj) {
117
- if (ti === 12 /* TransitionMetal */) {
118
- return (tj === 11 /* DativeBondPartner */ ||
119
- tj === 12 /* TransitionMetal */);
117
+ if (ti === 12 /* FeatureType.TransitionMetal */) {
118
+ return (tj === 11 /* FeatureType.DativeBondPartner */ ||
119
+ tj === 12 /* FeatureType.TransitionMetal */);
120
120
  }
121
- else if (ti === 13 /* IonicTypeMetal */) {
122
- return (tj === 10 /* IonicTypePartner */);
121
+ else if (ti === 13 /* FeatureType.IonicTypeMetal */) {
122
+ return (tj === 10 /* FeatureType.IonicTypePartner */);
123
123
  }
124
124
  }
125
125
  function testMetalCoordination(structure, infoA, infoB, distanceSq) {
@@ -127,18 +127,18 @@ function testMetalCoordination(structure, infoA, infoB, distanceSq) {
127
127
  var typeB = infoB.types[infoB.feature];
128
128
  if (!isMetalCoordination(typeA, typeB) && !isMetalCoordination(typeB, typeA))
129
129
  return;
130
- return 7 /* MetalCoordination */;
130
+ return 7 /* InteractionType.MetalCoordination */;
131
131
  }
132
132
  //
133
- export var MetalProvider = Features.Provider([13 /* IonicTypeMetal */, 12 /* TransitionMetal */], addMetal);
134
- export var MetalBindingProvider = Features.Provider([10 /* IonicTypePartner */, 11 /* DativeBondPartner */], addMetalBinding);
133
+ export var MetalProvider = Features.Provider([13 /* FeatureType.IonicTypeMetal */, 12 /* FeatureType.TransitionMetal */], addMetal);
134
+ export var MetalBindingProvider = Features.Provider([10 /* FeatureType.IonicTypePartner */, 11 /* FeatureType.DativeBondPartner */], addMetalBinding);
135
135
  export var MetalCoordinationProvider = {
136
136
  name: 'metal-coordination',
137
137
  params: MetalCoordinationParams,
138
138
  createTester: function (props) {
139
139
  return {
140
140
  maxDistance: props.distanceMax,
141
- requiredFeatures: new Set([13 /* IonicTypeMetal */, 12 /* TransitionMetal */, 10 /* IonicTypePartner */, 11 /* DativeBondPartner */]),
141
+ requiredFeatures: new Set([13 /* FeatureType.IonicTypeMetal */, 12 /* FeatureType.TransitionMetal */, 10 /* FeatureType.IonicTypePartner */, 11 /* FeatureType.DativeBondPartner */]),
142
142
  getType: function (structure, infoA, infoB, distanceSq) { return testMetalCoordination(structure, infoA, infoB, distanceSq); }
143
143
  };
144
144
  }