molstar 3.0.0-dev.6 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (734) hide show
  1. package/README.md +7 -0
  2. package/build/viewer/index.html +4 -0
  3. package/build/viewer/molstar.js +1 -1
  4. package/lib/apps/viewer/app.d.ts +230 -0
  5. package/lib/apps/viewer/app.js +525 -0
  6. package/lib/apps/viewer/index.d.ts +2 -224
  7. package/lib/apps/viewer/index.html +4 -0
  8. package/lib/apps/viewer/index.js +2 -507
  9. package/lib/commonjs/apps/viewer/app.d.ts +230 -0
  10. package/lib/commonjs/apps/viewer/app.js +531 -0
  11. package/lib/commonjs/apps/viewer/index.d.ts +2 -224
  12. package/lib/commonjs/apps/viewer/index.js +2 -510
  13. package/lib/commonjs/examples/alpha-orbitals/index.js +1 -1
  14. package/lib/commonjs/examples/basic-wrapper/index.js +7 -3
  15. package/lib/commonjs/examples/proteopedia-wrapper/index.js +7 -1
  16. package/lib/commonjs/extensions/anvil/behavior.d.ts +4 -0
  17. package/lib/commonjs/extensions/anvil/representation.d.ts +50 -0
  18. package/lib/commonjs/extensions/anvil/representation.js +1 -1
  19. package/lib/commonjs/extensions/cellpack/representation.d.ts +10 -0
  20. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  21. package/lib/commonjs/extensions/geo-export/mesh-exporter.js +4 -4
  22. package/lib/commonjs/extensions/model-export/export.d.ts +9 -0
  23. package/lib/commonjs/extensions/model-export/export.js +129 -0
  24. package/lib/commonjs/extensions/model-export/index.d.ts +7 -0
  25. package/lib/commonjs/extensions/model-export/index.js +36 -0
  26. package/lib/commonjs/extensions/model-export/ui.d.ts +11 -0
  27. package/lib/commonjs/extensions/model-export/ui.js +77 -0
  28. package/lib/commonjs/extensions/mp4-export/encoder.js +1 -1
  29. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  30. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  31. package/lib/commonjs/extensions/rcsb/graphql/types.d.ts +2 -2
  32. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +50 -0
  33. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +15 -13
  34. package/lib/commonjs/mol-canvas3d/canvas3d.js +34 -29
  35. package/lib/commonjs/mol-canvas3d/controls/trackball.d.ts +9 -4
  36. package/lib/commonjs/mol-canvas3d/controls/trackball.js +50 -11
  37. package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  38. package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  39. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
  40. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  41. package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
  42. package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
  43. package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +13 -1
  44. package/lib/commonjs/mol-canvas3d/passes/draw.js +16 -15
  45. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +1 -0
  46. package/lib/commonjs/mol-canvas3d/passes/image.js +3 -2
  47. package/lib/commonjs/mol-canvas3d/passes/marking.js +1 -1
  48. package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +9 -2
  49. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +14 -12
  50. package/lib/commonjs/mol-canvas3d/passes/pick.js +12 -12
  51. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +3 -3
  52. package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
  53. package/lib/commonjs/mol-geo/geometry/base.d.ts +18 -0
  54. package/lib/commonjs/mol-geo/geometry/base.js +18 -1
  55. package/lib/commonjs/mol-geo/geometry/clipping-data.d.ts +1 -3
  56. package/lib/commonjs/mol-geo/geometry/clipping-data.js +3 -8
  57. package/lib/commonjs/mol-geo/geometry/color-data.d.ts +1 -1
  58. package/lib/commonjs/mol-geo/geometry/color-data.js +22 -0
  59. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +10 -0
  60. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +2 -2
  61. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  62. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +21 -66
  63. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  64. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  65. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +10 -0
  66. package/lib/commonjs/mol-geo/geometry/image/image.js +1 -1
  67. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +10 -0
  68. package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
  69. package/lib/commonjs/mol-geo/geometry/marker-data.d.ts +0 -1
  70. package/lib/commonjs/mol-geo/geometry/marker-data.js +13 -9
  71. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  72. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +2 -2
  73. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +10 -0
  74. package/lib/commonjs/mol-geo/geometry/points/points.js +1 -1
  75. package/lib/commonjs/mol-geo/geometry/size-data.js +5 -5
  76. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  77. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +2 -2
  78. package/lib/commonjs/mol-geo/geometry/text/text.d.ts +10 -0
  79. package/lib/commonjs/mol-geo/geometry/text/text.js +1 -1
  80. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  81. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  82. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  83. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  84. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  85. package/lib/commonjs/mol-gl/render-object.d.ts +2 -1
  86. package/lib/commonjs/mol-gl/render-object.js +10 -10
  87. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +11 -5
  88. package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -3
  89. package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +15 -14
  90. package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
  91. package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -4
  92. package/lib/commonjs/mol-gl/renderable/image.js +2 -2
  93. package/lib/commonjs/mol-gl/renderable/lines.d.ts +39 -33
  94. package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
  95. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +11 -5
  96. package/lib/commonjs/mol-gl/renderable/mesh.js +3 -3
  97. package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -4
  98. package/lib/commonjs/mol-gl/renderable/points.js +2 -2
  99. package/lib/commonjs/mol-gl/renderable/schema.d.ts +10 -11
  100. package/lib/commonjs/mol-gl/renderable/schema.js +4 -10
  101. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +11 -5
  102. package/lib/commonjs/mol-gl/renderable/spheres.js +3 -3
  103. package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -4
  104. package/lib/commonjs/mol-gl/renderable/text.js +2 -2
  105. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +11 -6
  106. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
  107. package/lib/commonjs/mol-gl/renderable.d.ts +0 -1
  108. package/lib/commonjs/mol-gl/renderer.d.ts +12 -12
  109. package/lib/commonjs/mol-gl/renderer.js +23 -92
  110. package/lib/commonjs/mol-gl/scene.d.ts +2 -2
  111. package/lib/commonjs/mol-gl/scene.js +7 -5
  112. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  113. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  114. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  115. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  116. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  117. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  118. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  119. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  120. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  121. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  122. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  123. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  124. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  125. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  126. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  127. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  128. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  129. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  130. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  131. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  132. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  133. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  134. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  135. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
  136. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  137. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  138. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  139. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  140. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  141. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  142. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  143. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  144. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  145. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +1 -1
  146. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  147. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  148. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  149. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  150. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  151. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  152. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  153. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  154. package/lib/commonjs/mol-gl/shader/mesh.vert.d.ts +1 -1
  155. package/lib/commonjs/mol-gl/shader/mesh.vert.js +1 -1
  156. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  157. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  158. package/lib/commonjs/mol-gl/shader-code.d.ts +3 -1
  159. package/lib/commonjs/mol-gl/shader-code.js +43 -14
  160. package/lib/commonjs/mol-gl/webgl/render-item.d.ts +7 -6
  161. package/lib/commonjs/mol-gl/webgl/render-item.js +10 -8
  162. package/lib/commonjs/mol-gl/webgl/resources.js +8 -1
  163. package/lib/commonjs/mol-io/reader/cif/schema/bird.d.ts +1 -1
  164. package/lib/commonjs/mol-io/reader/cif/schema/bird.js +1 -1
  165. package/lib/commonjs/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  166. package/lib/commonjs/mol-io/reader/cif/schema/ccd.js +1 -1
  167. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +2 -2
  168. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +1 -1
  169. package/lib/commonjs/mol-io/reader/mol/parser.d.ts +23 -1
  170. package/lib/commonjs/mol-io/reader/mol/parser.js +116 -4
  171. package/lib/commonjs/mol-io/reader/mol2/parser.d.ts +1 -1
  172. package/lib/commonjs/mol-io/reader/mol2/parser.js +33 -3
  173. package/lib/commonjs/mol-io/reader/mol2/schema.d.ts +12 -1
  174. package/lib/commonjs/mol-io/reader/mol2/schema.js +1 -1
  175. package/lib/commonjs/mol-io/reader/sdf/parser-v3-util.d.ts +6 -0
  176. package/lib/commonjs/mol-io/reader/sdf/parser-v3-util.js +9 -0
  177. package/lib/commonjs/mol-io/reader/sdf/parser.d.ts +3 -1
  178. package/lib/commonjs/mol-io/reader/sdf/parser.js +11 -2
  179. package/lib/commonjs/mol-io/writer/cif/encoder/binary.js +9 -2
  180. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +2 -2
  181. package/lib/commonjs/mol-math/geometry/symmetry-operator.d.ts +1 -1
  182. package/lib/commonjs/mol-math/geometry/symmetry-operator.js +10 -4
  183. package/lib/commonjs/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  184. package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +20 -1
  185. package/lib/commonjs/mol-model/structure/export/mmcif.d.ts +1 -1
  186. package/lib/commonjs/mol-model/structure/export/mmcif.js +8 -5
  187. package/lib/commonjs/mol-model/structure/model/properties/common.d.ts +1 -1
  188. package/lib/commonjs/mol-model/structure/structure/element/stats.js +8 -0
  189. package/lib/commonjs/mol-model/structure/structure/properties.d.ts +1 -0
  190. package/lib/commonjs/mol-model/structure/structure/properties.js +2 -1
  191. package/lib/commonjs/mol-model/structure/structure/symmetry.js +1 -3
  192. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  193. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.js +11 -2
  194. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  195. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +20 -10
  196. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  197. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +21 -11
  198. package/lib/commonjs/mol-model/structure/structure/util/superposition-db-mapping.js +10 -5
  199. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +20 -0
  200. package/lib/commonjs/mol-model-formats/structure/basic/atomic.d.ts +2 -2
  201. package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +6 -6
  202. package/lib/commonjs/mol-model-formats/structure/basic/coarse.d.ts +1 -1
  203. package/lib/commonjs/mol-model-formats/structure/basic/coarse.js +3 -3
  204. package/lib/commonjs/mol-model-formats/structure/basic/entities.d.ts +2 -1
  205. package/lib/commonjs/mol-model-formats/structure/basic/entities.js +28 -24
  206. package/lib/commonjs/mol-model-formats/structure/basic/parser.js +17 -8
  207. package/lib/commonjs/mol-model-formats/structure/basic/properties.d.ts +6 -1
  208. package/lib/commonjs/mol-model-formats/structure/basic/properties.js +12 -22
  209. package/lib/commonjs/mol-model-formats/structure/mol.d.ts +2 -1
  210. package/lib/commonjs/mol-model-formats/structure/mol.js +19 -5
  211. package/lib/commonjs/mol-model-formats/structure/mol2.d.ts +1 -1
  212. package/lib/commonjs/mol-model-formats/structure/mol2.js +37 -7
  213. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  214. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  215. package/lib/commonjs/mol-model-props/common/custom-property.d.ts +1 -1
  216. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  217. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +11 -1
  218. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +25 -10
  219. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +30 -0
  220. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  221. package/lib/commonjs/mol-model-props/sequence/best-database-mapping.js +15 -15
  222. package/lib/commonjs/mol-plugin/animation-loop.d.ts +2 -0
  223. package/lib/commonjs/mol-plugin/animation-loop.js +1 -1
  224. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +4 -6
  225. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  226. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  227. package/lib/commonjs/mol-plugin/commands.d.ts +7 -6
  228. package/lib/commonjs/mol-plugin/config.d.ts +1 -2
  229. package/lib/commonjs/mol-plugin/config.js +4 -25
  230. package/lib/commonjs/mol-plugin/features.d.ts +9 -0
  231. package/lib/commonjs/mol-plugin/features.js +38 -0
  232. package/lib/commonjs/mol-plugin/spec.d.ts +1 -1
  233. package/lib/commonjs/mol-plugin/spec.js +4 -1
  234. package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  235. package/lib/commonjs/mol-plugin-state/actions/file.d.ts +3 -2
  236. package/lib/commonjs/mol-plugin-state/actions/file.js +67 -31
  237. package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +1 -0
  238. package/lib/commonjs/mol-plugin-state/actions/structure.js +41 -8
  239. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-rock.d.ts +16 -0
  240. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-rock.js +62 -0
  241. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-spin.d.ts +1 -1
  242. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-spin.js +9 -8
  243. package/lib/commonjs/mol-plugin-state/animation/model.d.ts +4 -0
  244. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +6 -6
  245. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -1
  246. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +149 -5
  247. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.js +74 -2
  248. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  249. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -1
  250. package/lib/commonjs/mol-plugin-state/manager/animation.d.ts +5 -1
  251. package/lib/commonjs/mol-plugin-state/manager/animation.js +5 -5
  252. package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +13 -1
  253. package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
  254. package/lib/commonjs/mol-plugin-state/manager/structure/selection.js +3 -1
  255. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +32 -0
  256. package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
  257. package/lib/commonjs/mol-plugin-ui/structure/superposition.js +2 -2
  258. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.d.ts +1 -1
  259. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +6 -14
  260. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +10 -0
  261. package/lib/commonjs/mol-repr/shape/loci/common.d.ts +10 -0
  262. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +10 -0
  263. package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +10 -0
  264. package/lib/commonjs/mol-repr/shape/loci/label.d.ts +10 -0
  265. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +10 -0
  266. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +10 -0
  267. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +10 -0
  268. package/lib/commonjs/mol-repr/structure/complex-representation.js +1 -1
  269. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +61 -19
  270. package/lib/commonjs/mol-repr/structure/params.d.ts +81 -19
  271. package/lib/commonjs/mol-repr/structure/registry.d.ts +141 -19
  272. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +30 -0
  273. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  274. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  275. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +30 -0
  276. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  277. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  278. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +1 -1
  279. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  280. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +2 -7
  281. package/lib/commonjs/mol-repr/structure/representation/label.d.ts +30 -0
  282. package/lib/commonjs/mol-repr/structure/representation/label.js +1 -1
  283. package/lib/commonjs/mol-repr/structure/representation/line.d.ts +30 -0
  284. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  285. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +1 -1
  286. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +30 -0
  287. package/lib/commonjs/mol-repr/structure/representation/point.d.ts +30 -0
  288. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +30 -0
  289. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +30 -0
  290. package/lib/commonjs/mol-repr/structure/units-representation.js +1 -1
  291. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +81 -19
  292. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  293. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  294. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  295. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  296. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +11 -1
  297. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.js +8 -4
  298. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +11 -1
  299. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +10 -6
  300. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +11 -1
  301. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +8 -4
  302. package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +10 -0
  303. package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +10 -0
  304. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  305. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  306. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  307. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  308. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  309. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  310. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  311. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  312. package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +10 -0
  313. package/lib/commonjs/mol-repr/structure/visual/label-text.js +1 -2
  314. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  315. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  316. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  317. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  318. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  319. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  320. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  321. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  322. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  323. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  324. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  325. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  326. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  327. package/lib/commonjs/mol-repr/structure/visual/util/common.d.ts +3 -2
  328. package/lib/commonjs/mol-repr/structure/visual/util/common.js +2 -5
  329. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  330. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +12 -12
  331. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  332. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  333. package/lib/commonjs/mol-repr/visual.d.ts +1 -1
  334. package/lib/commonjs/mol-repr/visual.js +13 -8
  335. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +33 -57
  336. package/lib/commonjs/mol-repr/volume/direct-volume.js +8 -12
  337. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +60 -0
  338. package/lib/commonjs/mol-repr/volume/isosurface.js +11 -2
  339. package/lib/commonjs/mol-repr/volume/registry.d.ts +31 -19
  340. package/lib/commonjs/mol-repr/volume/representation.d.ts +10 -0
  341. package/lib/commonjs/mol-repr/volume/slice.d.ts +30 -0
  342. package/lib/commonjs/mol-repr/volume/slice.js +2 -2
  343. package/lib/commonjs/mol-repr/volume/util.js +2 -2
  344. package/lib/commonjs/mol-state/tree/immutable.d.ts +18 -0
  345. package/lib/commonjs/mol-state/tree/transient.d.ts +3 -4
  346. package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
  347. package/lib/commonjs/mol-theme/clipping.js +5 -12
  348. package/lib/commonjs/mol-theme/color/element-symbol.d.ts +243 -1
  349. package/lib/commonjs/mol-theme/color/element-symbol.js +10 -5
  350. package/lib/commonjs/mol-theme/color/entity-id.d.ts +1 -1
  351. package/lib/commonjs/mol-theme/color/entity-id.js +26 -5
  352. package/lib/commonjs/mol-theme/color/illustrative.d.ts +100 -29
  353. package/lib/commonjs/mol-theme/color/illustrative.js +26 -7
  354. package/lib/commonjs/mol-theme/color/molecule-type.d.ts +19 -1
  355. package/lib/commonjs/mol-theme/color/molecule-type.js +10 -5
  356. package/lib/commonjs/mol-theme/color/residue-name.d.ts +77 -1
  357. package/lib/commonjs/mol-theme/color/residue-name.js +10 -5
  358. package/lib/commonjs/mol-theme/color/secondary-structure.d.ts +27 -1
  359. package/lib/commonjs/mol-theme/color/secondary-structure.js +10 -5
  360. package/lib/commonjs/mol-theme/color/volume-value.d.ts +17 -0
  361. package/lib/commonjs/mol-theme/color/volume-value.js +57 -0
  362. package/lib/commonjs/mol-theme/color.d.ts +233 -14
  363. package/lib/commonjs/mol-theme/color.js +2 -0
  364. package/lib/commonjs/mol-util/clip.d.ts +49 -0
  365. package/lib/commonjs/mol-util/clip.js +97 -0
  366. package/lib/commonjs/mol-util/color/color.d.ts +1 -1
  367. package/lib/commonjs/mol-util/color/color.js +1 -1
  368. package/lib/commonjs/mol-util/color/params.d.ts +10 -0
  369. package/lib/commonjs/mol-util/color/params.js +19 -0
  370. package/lib/commonjs/mol-util/number-packing.d.ts +11 -0
  371. package/lib/commonjs/mol-util/{float-packing.js → number-packing.js} +10 -19
  372. package/lib/examples/alpha-orbitals/index.js +1 -1
  373. package/lib/examples/basic-wrapper/index.js +7 -3
  374. package/lib/examples/proteopedia-wrapper/index.js +7 -1
  375. package/lib/extensions/anvil/behavior.d.ts +4 -0
  376. package/lib/extensions/anvil/representation.d.ts +50 -0
  377. package/lib/extensions/anvil/representation.js +1 -1
  378. package/lib/extensions/cellpack/representation.d.ts +10 -0
  379. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  380. package/lib/extensions/geo-export/mesh-exporter.js +4 -4
  381. package/lib/extensions/model-export/export.d.ts +9 -0
  382. package/lib/extensions/model-export/export.js +125 -0
  383. package/lib/extensions/model-export/index.d.ts +7 -0
  384. package/lib/extensions/model-export/index.js +33 -0
  385. package/lib/extensions/model-export/ui.d.ts +11 -0
  386. package/lib/extensions/model-export/ui.js +74 -0
  387. package/lib/extensions/mp4-export/encoder.js +1 -1
  388. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  389. package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  390. package/lib/extensions/rcsb/graphql/types.d.ts +2 -2
  391. package/lib/extensions/rcsb/validation-report/representation.d.ts +50 -0
  392. package/lib/mol-canvas3d/canvas3d.d.ts +15 -13
  393. package/lib/mol-canvas3d/canvas3d.js +34 -29
  394. package/lib/mol-canvas3d/controls/trackball.d.ts +9 -4
  395. package/lib/mol-canvas3d/controls/trackball.js +51 -12
  396. package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  397. package/lib/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  398. package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
  399. package/lib/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  400. package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
  401. package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
  402. package/lib/mol-canvas3d/passes/draw.d.ts +13 -1
  403. package/lib/mol-canvas3d/passes/draw.js +16 -15
  404. package/lib/mol-canvas3d/passes/image.d.ts +1 -0
  405. package/lib/mol-canvas3d/passes/image.js +3 -2
  406. package/lib/mol-canvas3d/passes/marking.js +1 -1
  407. package/lib/mol-canvas3d/passes/multi-sample.d.ts +9 -2
  408. package/lib/mol-canvas3d/passes/multi-sample.js +14 -12
  409. package/lib/mol-canvas3d/passes/pick.js +11 -11
  410. package/lib/mol-canvas3d/passes/postprocessing.js +3 -3
  411. package/lib/mol-canvas3d/passes/smaa.js +1 -1
  412. package/lib/mol-geo/geometry/base.d.ts +18 -0
  413. package/lib/mol-geo/geometry/base.js +18 -1
  414. package/lib/mol-geo/geometry/clipping-data.d.ts +1 -3
  415. package/lib/mol-geo/geometry/clipping-data.js +3 -8
  416. package/lib/mol-geo/geometry/color-data.d.ts +1 -1
  417. package/lib/mol-geo/geometry/color-data.js +22 -0
  418. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +10 -0
  419. package/lib/mol-geo/geometry/cylinders/cylinders.js +2 -2
  420. package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  421. package/lib/mol-geo/geometry/direct-volume/direct-volume.js +22 -67
  422. package/lib/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  423. package/lib/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  424. package/lib/mol-geo/geometry/image/image.d.ts +10 -0
  425. package/lib/mol-geo/geometry/image/image.js +1 -1
  426. package/lib/mol-geo/geometry/lines/lines.d.ts +10 -0
  427. package/lib/mol-geo/geometry/lines/lines.js +1 -1
  428. package/lib/mol-geo/geometry/marker-data.d.ts +0 -1
  429. package/lib/mol-geo/geometry/marker-data.js +13 -9
  430. package/lib/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  431. package/lib/mol-geo/geometry/mesh/mesh.js +2 -2
  432. package/lib/mol-geo/geometry/points/points.d.ts +10 -0
  433. package/lib/mol-geo/geometry/points/points.js +1 -1
  434. package/lib/mol-geo/geometry/size-data.js +5 -5
  435. package/lib/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  436. package/lib/mol-geo/geometry/spheres/spheres.js +2 -2
  437. package/lib/mol-geo/geometry/text/text.d.ts +10 -0
  438. package/lib/mol-geo/geometry/text/text.js +1 -1
  439. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  440. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  441. package/lib/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  442. package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  443. package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  444. package/lib/mol-gl/render-object.d.ts +2 -1
  445. package/lib/mol-gl/render-object.js +10 -10
  446. package/lib/mol-gl/renderable/cylinders.d.ts +11 -5
  447. package/lib/mol-gl/renderable/cylinders.js +3 -3
  448. package/lib/mol-gl/renderable/direct-volume.d.ts +15 -14
  449. package/lib/mol-gl/renderable/direct-volume.js +3 -3
  450. package/lib/mol-gl/renderable/image.d.ts +10 -4
  451. package/lib/mol-gl/renderable/image.js +2 -2
  452. package/lib/mol-gl/renderable/lines.d.ts +39 -33
  453. package/lib/mol-gl/renderable/lines.js +4 -4
  454. package/lib/mol-gl/renderable/mesh.d.ts +11 -5
  455. package/lib/mol-gl/renderable/mesh.js +3 -3
  456. package/lib/mol-gl/renderable/points.d.ts +10 -4
  457. package/lib/mol-gl/renderable/points.js +2 -2
  458. package/lib/mol-gl/renderable/schema.d.ts +10 -11
  459. package/lib/mol-gl/renderable/schema.js +4 -10
  460. package/lib/mol-gl/renderable/spheres.d.ts +11 -5
  461. package/lib/mol-gl/renderable/spheres.js +3 -3
  462. package/lib/mol-gl/renderable/text.d.ts +10 -4
  463. package/lib/mol-gl/renderable/text.js +2 -2
  464. package/lib/mol-gl/renderable/texture-mesh.d.ts +11 -6
  465. package/lib/mol-gl/renderable/texture-mesh.js +3 -3
  466. package/lib/mol-gl/renderable.d.ts +0 -1
  467. package/lib/mol-gl/renderer.d.ts +12 -12
  468. package/lib/mol-gl/renderer.js +24 -93
  469. package/lib/mol-gl/scene.d.ts +2 -2
  470. package/lib/mol-gl/scene.js +7 -5
  471. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  472. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  473. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  474. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  475. package/lib/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  476. package/lib/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  477. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  478. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  479. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  480. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  481. package/lib/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  482. package/lib/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  483. package/lib/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  484. package/lib/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  485. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  486. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  487. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  488. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  489. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  490. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  491. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  492. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  493. package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  494. package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
  495. package/lib/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  496. package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  497. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  498. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  499. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  500. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  501. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  502. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  503. package/lib/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  504. package/lib/mol-gl/shader/gaussian-density.frag.js +1 -1
  505. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  506. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  507. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  508. package/lib/mol-gl/shader/image.frag.js +1 -1
  509. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  510. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  511. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  512. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  513. package/lib/mol-gl/shader/mesh.vert.d.ts +1 -1
  514. package/lib/mol-gl/shader/mesh.vert.js +1 -1
  515. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  516. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  517. package/lib/mol-gl/shader-code.d.ts +3 -1
  518. package/lib/mol-gl/shader-code.js +43 -14
  519. package/lib/mol-gl/webgl/render-item.d.ts +7 -6
  520. package/lib/mol-gl/webgl/render-item.js +8 -6
  521. package/lib/mol-gl/webgl/resources.js +8 -1
  522. package/lib/mol-io/reader/cif/schema/bird.d.ts +1 -1
  523. package/lib/mol-io/reader/cif/schema/bird.js +1 -1
  524. package/lib/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  525. package/lib/mol-io/reader/cif/schema/ccd.js +1 -1
  526. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +2 -2
  527. package/lib/mol-io/reader/cif/schema/mmcif.js +1 -1
  528. package/lib/mol-io/reader/mol/parser.d.ts +23 -1
  529. package/lib/mol-io/reader/mol/parser.js +112 -3
  530. package/lib/mol-io/reader/mol2/parser.d.ts +1 -1
  531. package/lib/mol-io/reader/mol2/parser.js +33 -3
  532. package/lib/mol-io/reader/mol2/schema.d.ts +12 -1
  533. package/lib/mol-io/reader/mol2/schema.js +1 -1
  534. package/lib/mol-io/reader/sdf/parser-v3-util.d.ts +6 -0
  535. package/lib/mol-io/reader/sdf/parser-v3-util.js +9 -0
  536. package/lib/mol-io/reader/sdf/parser.d.ts +3 -1
  537. package/lib/mol-io/reader/sdf/parser.js +12 -3
  538. package/lib/mol-io/writer/cif/encoder/binary.js +9 -2
  539. package/lib/mol-math/geometry/gaussian-density/gpu.js +2 -2
  540. package/lib/mol-math/geometry/symmetry-operator.d.ts +1 -1
  541. package/lib/mol-math/geometry/symmetry-operator.js +10 -4
  542. package/lib/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  543. package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
  544. package/lib/mol-model/structure/export/mmcif.d.ts +1 -1
  545. package/lib/mol-model/structure/export/mmcif.js +8 -5
  546. package/lib/mol-model/structure/model/properties/common.d.ts +1 -1
  547. package/lib/mol-model/structure/structure/element/stats.js +8 -0
  548. package/lib/mol-model/structure/structure/properties.d.ts +1 -0
  549. package/lib/mol-model/structure/structure/properties.js +2 -1
  550. package/lib/mol-model/structure/structure/symmetry.js +1 -3
  551. package/lib/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  552. package/lib/mol-model/structure/structure/unit/bonds/common.js +9 -1
  553. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  554. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +21 -11
  555. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  556. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +22 -12
  557. package/lib/mol-model/structure/structure/util/superposition-db-mapping.js +10 -5
  558. package/lib/mol-model-formats/shape/ply.d.ts +20 -0
  559. package/lib/mol-model-formats/structure/basic/atomic.d.ts +2 -2
  560. package/lib/mol-model-formats/structure/basic/atomic.js +6 -6
  561. package/lib/mol-model-formats/structure/basic/coarse.d.ts +1 -1
  562. package/lib/mol-model-formats/structure/basic/coarse.js +3 -3
  563. package/lib/mol-model-formats/structure/basic/entities.d.ts +2 -1
  564. package/lib/mol-model-formats/structure/basic/entities.js +25 -22
  565. package/lib/mol-model-formats/structure/basic/parser.js +19 -10
  566. package/lib/mol-model-formats/structure/basic/properties.d.ts +6 -1
  567. package/lib/mol-model-formats/structure/basic/properties.js +12 -25
  568. package/lib/mol-model-formats/structure/mol.d.ts +2 -1
  569. package/lib/mol-model-formats/structure/mol.js +17 -3
  570. package/lib/mol-model-formats/structure/mol2.d.ts +1 -1
  571. package/lib/mol-model-formats/structure/mol2.js +37 -7
  572. package/lib/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  573. package/lib/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  574. package/lib/mol-model-props/common/custom-property.d.ts +1 -1
  575. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  576. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +11 -1
  577. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +25 -10
  578. package/lib/mol-model-props/computed/representations/interactions.d.ts +30 -0
  579. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  580. package/lib/mol-model-props/sequence/best-database-mapping.js +15 -15
  581. package/lib/mol-plugin/animation-loop.d.ts +2 -0
  582. package/lib/mol-plugin/animation-loop.js +1 -1
  583. package/lib/mol-plugin/behavior/dynamic/representation.js +4 -6
  584. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  585. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  586. package/lib/mol-plugin/commands.d.ts +7 -6
  587. package/lib/mol-plugin/config.d.ts +1 -2
  588. package/lib/mol-plugin/config.js +3 -23
  589. package/lib/mol-plugin/features.d.ts +9 -0
  590. package/lib/mol-plugin/features.js +35 -0
  591. package/lib/mol-plugin/spec.d.ts +1 -1
  592. package/lib/mol-plugin/spec.js +4 -1
  593. package/lib/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  594. package/lib/mol-plugin/version.js +2 -2
  595. package/lib/mol-plugin-state/actions/file.d.ts +3 -2
  596. package/lib/mol-plugin-state/actions/file.js +67 -31
  597. package/lib/mol-plugin-state/actions/structure.d.ts +1 -0
  598. package/lib/mol-plugin-state/actions/structure.js +41 -8
  599. package/lib/mol-plugin-state/animation/built-in/camera-rock.d.ts +16 -0
  600. package/lib/mol-plugin-state/animation/built-in/camera-rock.js +59 -0
  601. package/lib/mol-plugin-state/animation/built-in/camera-spin.d.ts +1 -1
  602. package/lib/mol-plugin-state/animation/built-in/camera-spin.js +9 -8
  603. package/lib/mol-plugin-state/animation/model.d.ts +4 -0
  604. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +6 -6
  605. package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -1
  606. package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +149 -5
  607. package/lib/mol-plugin-state/builder/structure/representation-preset.js +74 -2
  608. package/lib/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  609. package/lib/mol-plugin-state/helpers/structure-clipping.js +1 -1
  610. package/lib/mol-plugin-state/manager/animation.d.ts +5 -1
  611. package/lib/mol-plugin-state/manager/animation.js +5 -5
  612. package/lib/mol-plugin-state/manager/structure/component.d.ts +13 -1
  613. package/lib/mol-plugin-state/manager/structure/component.js +13 -8
  614. package/lib/mol-plugin-state/manager/structure/selection.js +3 -1
  615. package/lib/mol-plugin-state/transforms/representation.d.ts +32 -0
  616. package/lib/mol-plugin-state/transforms/representation.js +2 -2
  617. package/lib/mol-plugin-ui/structure/superposition.js +2 -2
  618. package/lib/mol-plugin-ui/viewport/simple-settings.d.ts +1 -1
  619. package/lib/mol-plugin-ui/viewport/simple-settings.js +6 -14
  620. package/lib/mol-repr/shape/loci/angle.d.ts +10 -0
  621. package/lib/mol-repr/shape/loci/common.d.ts +10 -0
  622. package/lib/mol-repr/shape/loci/dihedral.d.ts +10 -0
  623. package/lib/mol-repr/shape/loci/distance.d.ts +10 -0
  624. package/lib/mol-repr/shape/loci/label.d.ts +10 -0
  625. package/lib/mol-repr/shape/loci/orientation.d.ts +10 -0
  626. package/lib/mol-repr/shape/loci/plane.d.ts +10 -0
  627. package/lib/mol-repr/shape/model/unitcell.d.ts +10 -0
  628. package/lib/mol-repr/structure/complex-representation.js +1 -1
  629. package/lib/mol-repr/structure/complex-visual.d.ts +61 -19
  630. package/lib/mol-repr/structure/params.d.ts +81 -19
  631. package/lib/mol-repr/structure/registry.d.ts +141 -19
  632. package/lib/mol-repr/structure/representation/backbone.d.ts +30 -0
  633. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  634. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  635. package/lib/mol-repr/structure/representation/cartoon.d.ts +30 -0
  636. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  637. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  638. package/lib/mol-repr/structure/representation/gaussian-surface.js +1 -1
  639. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  640. package/lib/mol-repr/structure/representation/gaussian-volume.js +2 -7
  641. package/lib/mol-repr/structure/representation/label.d.ts +30 -0
  642. package/lib/mol-repr/structure/representation/label.js +1 -1
  643. package/lib/mol-repr/structure/representation/line.d.ts +30 -0
  644. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  645. package/lib/mol-repr/structure/representation/molecular-surface.js +1 -1
  646. package/lib/mol-repr/structure/representation/orientation.d.ts +30 -0
  647. package/lib/mol-repr/structure/representation/point.d.ts +30 -0
  648. package/lib/mol-repr/structure/representation/putty.d.ts +30 -0
  649. package/lib/mol-repr/structure/representation/spacefill.d.ts +30 -0
  650. package/lib/mol-repr/structure/units-representation.js +1 -1
  651. package/lib/mol-repr/structure/units-visual.d.ts +81 -19
  652. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  653. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  654. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  655. package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  656. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +11 -1
  657. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.js +8 -4
  658. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +11 -1
  659. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +10 -6
  660. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +11 -1
  661. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +8 -4
  662. package/lib/mol-repr/structure/visual/element-cross.d.ts +10 -0
  663. package/lib/mol-repr/structure/visual/element-point.d.ts +10 -0
  664. package/lib/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  665. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  666. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  667. package/lib/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  668. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  669. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  670. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  671. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  672. package/lib/mol-repr/structure/visual/label-text.d.ts +10 -0
  673. package/lib/mol-repr/structure/visual/label-text.js +1 -2
  674. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  675. package/lib/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  676. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  677. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  678. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  679. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  680. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  681. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  682. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  683. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  684. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  685. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  686. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  687. package/lib/mol-repr/structure/visual/util/common.d.ts +3 -2
  688. package/lib/mol-repr/structure/visual/util/common.js +2 -5
  689. package/lib/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  690. package/lib/mol-repr/structure/visual/util/gaussian.js +12 -12
  691. package/lib/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  692. package/lib/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  693. package/lib/mol-repr/visual.d.ts +1 -1
  694. package/lib/mol-repr/visual.js +13 -8
  695. package/lib/mol-repr/volume/direct-volume.d.ts +33 -57
  696. package/lib/mol-repr/volume/direct-volume.js +8 -12
  697. package/lib/mol-repr/volume/isosurface.d.ts +60 -0
  698. package/lib/mol-repr/volume/isosurface.js +11 -2
  699. package/lib/mol-repr/volume/registry.d.ts +31 -19
  700. package/lib/mol-repr/volume/representation.d.ts +10 -0
  701. package/lib/mol-repr/volume/slice.d.ts +30 -0
  702. package/lib/mol-repr/volume/slice.js +2 -2
  703. package/lib/mol-repr/volume/util.js +2 -2
  704. package/lib/mol-state/tree/immutable.d.ts +18 -0
  705. package/lib/mol-state/tree/transient.d.ts +3 -4
  706. package/lib/mol-theme/clipping.d.ts +7 -15
  707. package/lib/mol-theme/clipping.js +5 -12
  708. package/lib/mol-theme/color/element-symbol.d.ts +243 -1
  709. package/lib/mol-theme/color/element-symbol.js +10 -5
  710. package/lib/mol-theme/color/entity-id.d.ts +1 -1
  711. package/lib/mol-theme/color/entity-id.js +26 -5
  712. package/lib/mol-theme/color/illustrative.d.ts +100 -29
  713. package/lib/mol-theme/color/illustrative.js +26 -7
  714. package/lib/mol-theme/color/molecule-type.d.ts +19 -1
  715. package/lib/mol-theme/color/molecule-type.js +10 -5
  716. package/lib/mol-theme/color/residue-name.d.ts +77 -1
  717. package/lib/mol-theme/color/residue-name.js +10 -5
  718. package/lib/mol-theme/color/secondary-structure.d.ts +27 -1
  719. package/lib/mol-theme/color/secondary-structure.js +10 -5
  720. package/lib/mol-theme/color/volume-value.d.ts +17 -0
  721. package/lib/mol-theme/color/volume-value.js +52 -0
  722. package/lib/mol-theme/color.d.ts +233 -14
  723. package/lib/mol-theme/color.js +2 -0
  724. package/lib/mol-util/clip.d.ts +49 -0
  725. package/lib/mol-util/clip.js +93 -0
  726. package/lib/mol-util/color/color.d.ts +1 -1
  727. package/lib/mol-util/color/color.js +1 -1
  728. package/lib/mol-util/color/params.d.ts +10 -0
  729. package/lib/mol-util/color/params.js +15 -0
  730. package/lib/mol-util/number-packing.d.ts +11 -0
  731. package/lib/mol-util/{float-packing.js → number-packing.js} +7 -14
  732. package/package.json +36 -35
  733. package/lib/commonjs/mol-util/float-packing.d.ts +0 -15
  734. package/lib/mol-util/float-packing.d.ts +0 -15
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Zepei Xu <xuzepei19950617@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -241,9 +241,38 @@ function handleBonds(state) {
241
241
  });
242
242
  });
243
243
  }
244
+ function handleCrysin(state) {
245
+ var tokenizer = state.tokenizer;
246
+ while (tokenizer.position < tokenizer.data.length) {
247
+ var l = getTokenString(tokenizer);
248
+ if (l === '@<TRIPOS>MOLECULE') {
249
+ return;
250
+ }
251
+ else if (l === '@<TRIPOS>CRYSIN') {
252
+ break;
253
+ }
254
+ else {
255
+ markLine(tokenizer);
256
+ }
257
+ }
258
+ if (tokenizer.position >= tokenizer.data.length)
259
+ return;
260
+ markLine(tokenizer);
261
+ var values = getTokenString(tokenizer).trim().split(reWhitespace);
262
+ return {
263
+ a: parseFloat(values[0]),
264
+ b: parseFloat(values[1]),
265
+ c: parseFloat(values[2]),
266
+ alpha: parseFloat(values[3]),
267
+ beta: parseFloat(values[4]),
268
+ gamma: parseFloat(values[5]),
269
+ spaceGroup: parseInt(values[6], 10),
270
+ setting: parseInt(values[7], 10),
271
+ };
272
+ }
244
273
  function parseInternal(ctx, data, name) {
245
274
  return __awaiter(this, void 0, void 0, function () {
246
- var tokenizer, structures, state, atoms, bonds, result;
275
+ var tokenizer, structures, state, atoms, bonds, crysin, result;
247
276
  return __generator(this, function (_a) {
248
277
  switch (_a.label) {
249
278
  case 0:
@@ -261,7 +290,8 @@ function parseInternal(ctx, data, name) {
261
290
  return [4 /*yield*/, handleBonds(state)];
262
291
  case 3:
263
292
  bonds = _a.sent();
264
- structures.push({ molecule: state.molecule, atoms: atoms, bonds: bonds });
293
+ crysin = handleCrysin(state);
294
+ structures.push({ molecule: state.molecule, atoms: atoms, bonds: bonds, crysin: crysin });
265
295
  skipWhitespace(tokenizer);
266
296
  while (getTokenString(tokenizer) !== '@<TRIPOS>MOLECULE' && tokenizer.position < tokenizer.data.length) {
267
297
  markLine(tokenizer);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
@@ -37,10 +37,21 @@ export interface Mol2Bonds {
37
37
  bond_type: Column<string>;
38
38
  status_bits: Column<string>;
39
39
  }
40
+ export interface Mol2Crysin {
41
+ a: number;
42
+ b: number;
43
+ c: number;
44
+ alpha: number;
45
+ beta: number;
46
+ gamma: number;
47
+ spaceGroup: number;
48
+ setting: number;
49
+ }
40
50
  export interface Mol2Structure {
41
51
  molecule: Readonly<Mol2Molecule>;
42
52
  atoms: Readonly<Mol2Atoms>;
43
53
  bonds: Readonly<Mol2Bonds>;
54
+ crysin?: Readonly<Mol2Crysin>;
44
55
  }
45
56
  export interface Mol2File {
46
57
  name: string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2021-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Jason Pattle <jpattle@exscientia.co.uk>
5
+ * @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
6
+ */
1
7
  import { MolFile } from '../mol/parser';
2
8
  import { Tokenizer } from '../common/text/tokenizer';
3
9
  export declare function isV3(versionLine: string): boolean;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2021-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Jason Pattle <jpattle@exscientia.co.uk>
5
+ * @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
6
+ */
1
7
  import { Column } from '../../../mol-data/db';
2
8
  import { Tokenizer, TokenBuilder } from '../common/text/tokenizer';
3
9
  import { TokenColumnProvider as TokenColumn } from '../common/text/column/token';
@@ -44,6 +50,9 @@ export function handleAtomsV3(tokenizer, atomCount) {
44
50
  y: TokenColumn(y)(Column.Schema.float),
45
51
  z: TokenColumn(z)(Column.Schema.float),
46
52
  type_symbol: TokenColumn(type_symbol)(Column.Schema.str),
53
+ /* No support for formal charge parsing in V3000 molfiles at the moment,
54
+ so all charges default to 0.*/
55
+ formal_charge: Column.ofConst(0, atomCount, Column.Schema.int)
47
56
  };
48
57
  }
49
58
  export function handleBondsV3(tokenizer, bondCount) {
@@ -1,8 +1,10 @@
1
1
  /**
2
- * Copyright (c) 2020-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Sebastian Bittrich <sebastian.bittrich@rcsb.org>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
+ * @author Jason Pattle <jpattle@exscientia.co.uk>
7
+ * @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
6
8
  */
7
9
  import { Column } from '../../../mol-data/db';
8
10
  import { MolFile } from '../mol/parser';
@@ -1,12 +1,14 @@
1
1
  /**
2
- * Copyright (c) 2020-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Sebastian Bittrich <sebastian.bittrich@rcsb.org>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
+ * @author Jason Pattle <jpattle@exscientia.co.uk>
7
+ * @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
6
8
  */
7
9
  import { __awaiter, __generator } from "tslib";
8
10
  import { Column } from '../../../mol-data/db';
9
- import { handleAtoms, handleBonds } from '../mol/parser';
11
+ import { handleAtoms, handleBonds, handlePropertiesBlock } from '../mol/parser';
10
12
  import { Task } from '../../../mol-task';
11
13
  import { ReaderResult as Result } from '../result';
12
14
  import { Tokenizer, TokenBuilder } from '../common/text/tokenizer';
@@ -69,11 +71,18 @@ function handleMolFile(tokenizer) {
69
71
  }
70
72
  return;
71
73
  }
74
+ /* No support for formal charge parsing in V3000 molfiles at the moment,
75
+ so all charges default to 0.*/
76
+ var nullFormalCharges = {
77
+ atomIdx: Column.ofConst(0, atomCount, Column.Schema.int),
78
+ charge: Column.ofConst(0, atomCount, Column.Schema.int)
79
+ };
72
80
  var atoms = molIsV3 ? handleAtomsV3(tokenizer, atomCount) : handleAtoms(tokenizer, atomCount);
73
81
  var bonds = molIsV3 ? handleBondsV3(tokenizer, bondCount) : handleBonds(tokenizer, bondCount);
82
+ var formalCharges = molIsV3 ? nullFormalCharges : handlePropertiesBlock(tokenizer);
74
83
  var dataItems = handleDataItems(tokenizer);
75
84
  return {
76
- molFile: { title: title, program: program, comment: comment, atoms: atoms, bonds: bonds },
85
+ molFile: { title: title, program: program, comment: comment, atoms: atoms, bonds: bonds, formalCharges: formalCharges },
77
86
  dataItems: dataItems
78
87
  };
79
88
  }
@@ -170,8 +170,15 @@ function getFieldData(field, arrayCtor, totalCount, data) {
170
170
  allPresent = false;
171
171
  }
172
172
  else {
173
- mask[offset] = 0 /* Present */;
174
- array[offset] = getter(key, d, offset);
173
+ var value = getter(key, d, offset);
174
+ if (typeof value === 'string' && !value) {
175
+ mask[offset] = 1 /* NotPresent */;
176
+ allPresent = false;
177
+ }
178
+ else {
179
+ mask[offset] = 0 /* Present */;
180
+ }
181
+ array[offset] = value;
175
182
  }
176
183
  offset++;
177
184
  }
@@ -10,7 +10,7 @@ import { OrderedSet } from '../../../mol-data/int';
10
10
  import { Vec3, Tensor, Mat4, Vec2 } from '../../linear-algebra';
11
11
  import { ValueCell } from '../../../mol-util';
12
12
  import { createComputeRenderable } from '../../../mol-gl/renderable';
13
- import { decodeFloatRGB } from '../../../mol-util/float-packing';
13
+ import { unpackRGBToInt } from '../../../mol-util/number-packing';
14
14
  import { ShaderCode } from '../../../mol-gl/shader-code';
15
15
  import { createComputeRenderItem } from '../../../mol-gl/webgl/render-item';
16
16
  import { ValueSpec, AttributeSpec, UniformSpec, TextureSpec, DefineSpec } from '../../../mol-gl/renderable/schema';
@@ -371,7 +371,7 @@ function fieldFromTexture2d(ctx, texture, dim, texDim) {
371
371
  for (var ix = 0; ix < dx; ++ix) {
372
372
  var idx = 4 * (tmpCol * dx + (iy + tmpRow) * width + ix);
373
373
  data[j] = image[idx + 3] / 255;
374
- idData[j] = decodeFloatRGB(image[idx], image[idx + 1], image[idx + 2]);
374
+ idData[j] = unpackRGBToInt(image[idx], image[idx + 1], image[idx + 2]);
375
375
  j++;
376
376
  }
377
377
  }
@@ -42,7 +42,7 @@ declare namespace SymmetryOperator {
42
42
  hkl?: Vec3;
43
43
  spgrOp?: number;
44
44
  };
45
- function create(name: string, matrix: Mat4, info?: CreateInfo): SymmetryOperator;
45
+ function create(name: string, matrix: Mat4, info?: CreateInfo | SymmetryOperator): SymmetryOperator;
46
46
  function checkIfRotationAndTranslation(rot: Mat3, offset: Vec3): boolean;
47
47
  function ofRotationAndOffset(name: string, rot: Mat3, offset: Vec3, ncsId?: number): SymmetryOperator;
48
48
  function lerpFromIdentity(out: Mat4, op: SymmetryOperator, t: number): Mat4;
@@ -19,8 +19,9 @@ var SymmetryOperator;
19
19
  var _hkl = hkl ? Vec3.clone(hkl) : Vec3();
20
20
  spgrOp = defaults(spgrOp, -1);
21
21
  ncsId = ncsId || -1;
22
- var suffix = getSuffix(info);
23
- if (Mat4.isIdentity(matrix))
22
+ var isIdentity = Mat4.isIdentity(matrix);
23
+ var suffix = getSuffix(info, isIdentity);
24
+ if (isIdentity)
24
25
  return { name: name, assembly: assembly, matrix: matrix, inverse: Mat4.identity(), isIdentity: true, hkl: _hkl, spgrOp: spgrOp, ncsId: ncsId, suffix: suffix };
25
26
  if (!Mat4.isRotationAndTranslation(matrix, SymmetryOperator.RotationTranslationEpsilon)) {
26
27
  console.warn("Symmetry operator (".concat(name, ") should be a composition of rotation and translation."));
@@ -28,11 +29,16 @@ var SymmetryOperator;
28
29
  return { name: name, assembly: assembly, matrix: matrix, inverse: Mat4.invert(Mat4(), matrix), isIdentity: false, hkl: _hkl, spgrOp: spgrOp, ncsId: ncsId, suffix: suffix };
29
30
  }
30
31
  SymmetryOperator.create = create;
31
- function getSuffix(info) {
32
+ function isSymmetryOperator(x) {
33
+ return !!x && !!x.matrix && !!x.inverse && typeof x.name === 'string';
34
+ }
35
+ function getSuffix(info, isIdentity) {
32
36
  if (!info)
33
37
  return '';
34
38
  if (info.assembly) {
35
- return "_".concat(info.assembly.operId);
39
+ if (isSymmetryOperator(info))
40
+ return info.suffix;
41
+ return isIdentity ? '' : "_".concat(info.assembly.operId);
36
42
  }
37
43
  if (typeof info.spgrOp !== 'undefined' && typeof info.hkl !== 'undefined' && info.spgrOp !== -1) {
38
44
  var _a = info.hkl, i = _a[0], j = _a[1], k = _a[2];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -70,6 +70,14 @@ declare namespace Quat {
70
70
  function fromArray(a: Quat, array: NumberArray, offset: number): Quat;
71
71
  function copy(out: Quat, a: Quat): Quat;
72
72
  function set(out: Quat, x: number, y: number, z: number, w: number): Quat;
73
+ /**
74
+ * Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===)
75
+ */
76
+ function exactEquals(a: Quat, b: Quat): boolean;
77
+ /**
78
+ * Returns whether or not the quaternions have approximately the same elements in the same position.
79
+ */
80
+ function equals(a: Quat, b: Quat): boolean;
73
81
  function add(out: Quat, a: Quat, b: Quat): Quat;
74
82
  function normalize(out: Quat, a: Quat): Quat;
75
83
  function rotationTo(out: Quat, a: Vec3, b: Vec3): Quat;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -311,6 +311,25 @@ function Quat() {
311
311
  return out;
312
312
  }
313
313
  Quat.set = set;
314
+ /**
315
+ * Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===)
316
+ */
317
+ function exactEquals(a, b) {
318
+ return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];
319
+ }
320
+ Quat.exactEquals = exactEquals;
321
+ /**
322
+ * Returns whether or not the quaternions have approximately the same elements in the same position.
323
+ */
324
+ function equals(a, b) {
325
+ var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3];
326
+ var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3];
327
+ return (Math.abs(a0 - b0) <= EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) &&
328
+ Math.abs(a1 - b1) <= EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) &&
329
+ Math.abs(a2 - b2) <= EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) &&
330
+ Math.abs(a3 - b3) <= EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)));
331
+ }
332
+ Quat.equals = equals;
314
333
  function add(out, a, b) {
315
334
  out[0] = a[0] + b[0];
316
335
  out[1] = a[1] + b[1];
@@ -28,5 +28,5 @@ declare type encode_mmCIF_categories_Params = {
28
28
  };
29
29
  /** Doesn't start a data block */
30
30
  export declare function encode_mmCIF_categories(encoder: CifWriter.Encoder, structures: Structure | Structure[], params?: encode_mmCIF_categories_Params): void;
31
- declare function to_mmCIF(name: string, structure: Structure, asBinary?: boolean): string | Uint8Array;
31
+ declare function to_mmCIF(name: string, structure: Structure, asBinary?: boolean, params?: encode_mmCIF_categories_Params): string | Uint8Array;
32
32
  export { to_mmCIF };
@@ -37,6 +37,9 @@ var _entity = {
37
37
  function isWithoutSymmetry(structure) {
38
38
  return structure.units.every(function (u) { return u.conformation.operator.isIdentity; });
39
39
  }
40
+ function isWithoutOperator(structure) {
41
+ return isWithoutSymmetry(structure) && structure.units.every(function (u) { return !u.conformation.operator.assembly && !u.conformation.operator.suffix; });
42
+ }
40
43
  var Categories = [
41
44
  // Basics
42
45
  copy_mmCif_category('entry'),
@@ -46,9 +49,9 @@ var Categories = [
46
49
  copy_mmCif_category('cell', isWithoutSymmetry),
47
50
  copy_mmCif_category('symmetry', isWithoutSymmetry),
48
51
  // Assemblies
49
- copy_mmCif_category('pdbx_struct_assembly', isWithoutSymmetry),
50
- copy_mmCif_category('pdbx_struct_assembly_gen', isWithoutSymmetry),
51
- copy_mmCif_category('pdbx_struct_oper_list', isWithoutSymmetry),
52
+ copy_mmCif_category('pdbx_struct_assembly', isWithoutOperator),
53
+ copy_mmCif_category('pdbx_struct_assembly_gen', isWithoutOperator),
54
+ copy_mmCif_category('pdbx_struct_oper_list', isWithoutOperator),
52
55
  // Secondary structure
53
56
  _struct_conf,
54
57
  _struct_sheet_range,
@@ -229,11 +232,11 @@ function encode_mmCIF_categories_copyAll(encoder, ctx, params) {
229
232
  encoder.writeCategory(info[0], info[1], info[2]);
230
233
  });
231
234
  }
232
- function to_mmCIF(name, structure, asBinary) {
235
+ function to_mmCIF(name, structure, asBinary, params) {
233
236
  if (asBinary === void 0) { asBinary = false; }
234
237
  var enc = CifWriter.createEncoder({ binary: asBinary });
235
238
  enc.startDataBlock(name);
236
- encode_mmCIF_categories(enc, structure);
239
+ encode_mmCIF_categories(enc, structure, params);
237
240
  return enc.getData();
238
241
  }
239
242
  export { to_mmCIF };
@@ -13,7 +13,7 @@ export declare const EntitySubtype: Column.Schema.Aliased<EntitySubtype>;
13
13
  export interface Entities {
14
14
  data: mmCIF_Database['entity'];
15
15
  subtype: Column<EntitySubtype>;
16
- prd_id: Column<string>;
16
+ prd_id?: Column<string>;
17
17
  getEntityIndex(id: string): EntityIndex;
18
18
  }
19
19
  export declare type ChemicalComponent = Table.Row<mmCIF_chemComp_schema>;
@@ -49,6 +49,7 @@ export var Stats;
49
49
  }
50
50
  else if (size === 1) {
51
51
  if (Unit.Traits.is(unit.traits, 1 /* MultiChain */)) {
52
+ // handled in `handleUnitChainsSimple`
52
53
  return;
53
54
  }
54
55
  else {
@@ -174,6 +175,13 @@ export var Stats;
174
175
  Location.set(stats.firstChainLoc, structure, unit, offsets[cI]);
175
176
  }
176
177
  }
178
+ else if (size === 1) {
179
+ // need to handle here, skipped in `handleElement`
180
+ stats.elementCount += 1;
181
+ if (stats.elementCount === 1) {
182
+ Location.set(stats.firstElementLoc, structure, unit, eI);
183
+ }
184
+ }
177
185
  }
178
186
  }
179
187
  function handleUnitChainsPartitioned(stats, structure, lociElements, start, end) {
@@ -87,6 +87,7 @@ declare const StructureProperties: {
87
87
  y: StructureElement.Property<number>;
88
88
  z: StructureElement.Property<number>;
89
89
  asym_id: StructureElement.Property<string>;
90
+ entity_id: StructureElement.Property<string>;
90
91
  seq_id_begin: StructureElement.Property<number>;
91
92
  seq_id_end: StructureElement.Property<number>;
92
93
  sphere_radius: StructureElement.Property<number>;
@@ -111,6 +111,7 @@ var coarse = {
111
111
  y: atom.y,
112
112
  z: atom.z,
113
113
  asym_id: p(function (l) { return !Unit.isCoarse(l.unit) ? notCoarse() : l.unit.coarseElements.asym_id.value(l.element); }),
114
+ entity_id: p(function (l) { return !Unit.isCoarse(l.unit) ? notCoarse() : l.unit.coarseElements.entity_id.value(l.element); }),
114
115
  seq_id_begin: p(function (l) { return !Unit.isCoarse(l.unit) ? notCoarse() : l.unit.coarseElements.seq_id_begin.value(l.element); }),
115
116
  seq_id_end: p(function (l) { return !Unit.isCoarse(l.unit) ? notCoarse() : l.unit.coarseElements.seq_id_end.value(l.element); }),
116
117
  sphere_radius: p(function (l) { return !Unit.isSpheres(l.unit) ? notCoarse('spheres') : l.unit.coarseConformation.radius[l.element]; }),
@@ -141,7 +142,7 @@ var entity = {
141
142
  pdbx_fragment: p(function (l) { return l.unit.model.entities.data.pdbx_fragment.value(eK(l)); }),
142
143
  pdbx_ec: p(function (l) { return l.unit.model.entities.data.pdbx_ec.value(eK(l)); }),
143
144
  subtype: p(function (l) { return l.unit.model.entities.subtype.value(eK(l)); }),
144
- prd_id: p(function (l) { return l.unit.model.entities.prd_id.value(eK(l)); }),
145
+ prd_id: p(function (l) { var _a, _b; return (_b = (_a = l.unit.model.entities.prd_id) === null || _a === void 0 ? void 0 : _a.value(eK(l))) !== null && _b !== void 0 ? _b : ''; }),
145
146
  };
146
147
  var _emptyList = [];
147
148
  var unit = {
@@ -187,8 +187,6 @@ function getOperatorsForRange(symmetry, ijkMin, ijkMax, modelCenter) {
187
187
  ijkMin[2] <= 0 && ijkMax[2] >= 0) {
188
188
  operators[0] = Spacegroup.getSymmetryOperator(spacegroup, 0, 0, 0, 0);
189
189
  }
190
- var toFractional = spacegroup.cell.toFractional;
191
- var ref = Vec3.transformMat4(Vec3(), modelCenter, toFractional);
192
190
  for (var op = 0; op < spacegroup.operators.length; op++) {
193
191
  for (var i = ijkMin[0]; i <= ijkMax[0]; i++) {
194
192
  for (var j = ijkMin[1]; j <= ijkMax[1]; j++) {
@@ -196,7 +194,7 @@ function getOperatorsForRange(symmetry, ijkMin, ijkMax, modelCenter) {
196
194
  // check if we have added identity as the 1st operator.
197
195
  if (!ncsCount && op === 0 && i === 0 && j === 0 && k === 0)
198
196
  continue;
199
- operators.push.apply(operators, getOperatorsForIndex(symmetry, op, i, j, k, ref));
197
+ operators.push.apply(operators, getOperatorsForIndex(symmetry, op, i, j, k, modelCenter));
200
198
  }
201
199
  }
202
200
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2021 Mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2022 Mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -17,4 +17,5 @@ export declare const MetalsSet: Set<number>;
17
17
  export declare function getElementIdx(e: ElementSymbol): number;
18
18
  export declare function getElementPairThreshold(i: number, j: number): number;
19
19
  export declare function getElementThreshold(i: number): number;
20
+ export declare function getPairingThreshold(elementIndexA: number, elementIndexB: number, thresholdA: number, thresholdB: number): number;
20
21
  export declare function isHydrogen(i: number): boolean;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2021 Mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2022 Mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -99,6 +99,14 @@ export function getElementThreshold(i) {
99
99
  return __DefaultBondingRadius;
100
100
  return r;
101
101
  }
102
+ export function getPairingThreshold(elementIndexA, elementIndexB, thresholdA, thresholdB) {
103
+ var thresholdAB = getElementPairThreshold(elementIndexA, elementIndexB);
104
+ return thresholdAB > 0
105
+ ? thresholdAB
106
+ : elementIndexB < 0
107
+ ? thresholdA
108
+ : (thresholdA + thresholdB) / 1.95; // not sure if avg or min but max is too big
109
+ }
102
110
  var H_ID = __ElementIndex['H'];
103
111
  export function isHydrogen(i) {
104
112
  return i === H_ID;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2021 Mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2022 Mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2021 Mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2022 Mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -7,7 +7,7 @@
7
7
  import { __assign } from "tslib";
8
8
  import { Structure } from '../../structure';
9
9
  import { Unit } from '../../unit';
10
- import { getElementIdx, getElementPairThreshold, getElementThreshold, isHydrogen, MetalsSet, DefaultBondComputationProps } from './common';
10
+ import { getElementIdx, getElementThreshold, isHydrogen, MetalsSet, DefaultBondComputationProps, getPairingThreshold } from './common';
11
11
  import { InterUnitBonds } from './data';
12
12
  import { SortedArray } from '../../../../../mol-data/int';
13
13
  import { Vec3, Mat4 } from '../../../../../mol-math/linear-algebra';
@@ -67,11 +67,26 @@ function findPairBonds(unitA, unitB, props, builder) {
67
67
  var _bI = SortedArray.indexOf(unitB.elements, bI);
68
68
  if (_bI < 0)
69
69
  continue;
70
- if (type_symbolA.value(aI) === 'H' && type_symbolB.value(bI) === 'H')
71
- continue;
70
+ var aeI_1 = getElementIdx(type_symbolA.value(aI));
71
+ var beI = getElementIdx(type_symbolA.value(bI));
72
72
  var d = distance[i];
73
73
  var dist = getDistance(unitA, aI, unitB, bI);
74
- if ((d !== -1 && equalEps(dist, d, 0.5)) || dist < maxDistance) {
74
+ var add = false;
75
+ if (d >= 0) {
76
+ add = equalEps(dist, d, 0.3);
77
+ }
78
+ else if (maxDistance >= 0) {
79
+ add = dist < maxDistance;
80
+ }
81
+ else {
82
+ var pairingThreshold = getPairingThreshold(aeI_1, beI, getElementThreshold(aeI_1), getElementThreshold(beI));
83
+ add = dist < pairingThreshold;
84
+ if (isHydrogen(aeI_1) && isHydrogen(beI)) {
85
+ // TODO handle molecular hydrogen
86
+ add = false;
87
+ }
88
+ }
89
+ if (add) {
75
90
  builder.add(_aI, _bI, { order: order[i], flag: flag[i] });
76
91
  }
77
92
  }
@@ -135,12 +150,7 @@ function findPairBonds(unitA, unitB, props, builder) {
135
150
  var dist = Math.sqrt(squaredDistances[ni]);
136
151
  if (dist === 0)
137
152
  continue;
138
- var thresholdAB = getElementPairThreshold(aeI, beI);
139
- var pairingThreshold = thresholdAB > 0
140
- ? thresholdAB
141
- : beI < 0
142
- ? thresholdA
143
- : (thresholdA + getElementThreshold(beI)) / 1.95; // not sure if avg or min but max is too big
153
+ var pairingThreshold = getPairingThreshold(aeI, beI, thresholdA, getElementThreshold(beI));
144
154
  if (dist <= pairingThreshold) {
145
155
  var atomIdB = label_atom_idB.value(bI);
146
156
  var compIdB = label_comp_idB.value(residueIndexB[bI]);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2021 Mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2022 Mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2021 Mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2022 Mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -7,7 +7,7 @@
7
7
  import { __assign } from "tslib";
8
8
  import { IntraUnitBonds } from './data';
9
9
  import { IntAdjacencyGraph } from '../../../../../mol-math/graph';
10
- import { getElementIdx, MetalsSet, getElementThreshold, isHydrogen, getElementPairThreshold, DefaultBondComputationProps } from './common';
10
+ import { getElementIdx, MetalsSet, getElementThreshold, isHydrogen, DefaultBondComputationProps, getPairingThreshold } from './common';
11
11
  import { SortedArray } from '../../../../../mol-data/int';
12
12
  import { getIntraBondOrderFromTable } from '../../../model/properties/atomic/bonds';
13
13
  import { IndexPairBonds } from '../../../../../mol-model-formats/structure/property/bonds/index-pair';
@@ -50,7 +50,8 @@ function findIndexPairBonds(unit) {
50
50
  var orders = [];
51
51
  for (var _aI = 0; _aI < atomCount; _aI++) {
52
52
  var aI = atoms[_aI];
53
- var isHa = type_symbol.value(aI) === 'H';
53
+ var aeI = getElementIdx(type_symbol.value(aI));
54
+ var isHa = isHydrogen(aeI);
54
55
  var srcA = sourceIndex.value(aI);
55
56
  for (var i = offset[srcA], il = offset[srcA + 1]; i < il; ++i) {
56
57
  var bI = invertedIndex[b[i]];
@@ -59,11 +60,25 @@ function findIndexPairBonds(unit) {
59
60
  var _bI = SortedArray.indexOf(unit.elements, bI);
60
61
  if (_bI < 0)
61
62
  continue;
62
- if (isHa && type_symbol.value(bI) === 'H')
63
- continue;
63
+ var beI = getElementIdx(type_symbol.value(bI));
64
64
  var d = distance[i];
65
65
  var dist = getDistance(unit, aI, bI);
66
- if ((d !== -1 && equalEps(dist, d, 0.5)) || dist < maxDistance) {
66
+ var add = false;
67
+ if (d >= 0) {
68
+ add = equalEps(dist, d, 0.3);
69
+ }
70
+ else if (maxDistance >= 0) {
71
+ add = dist < maxDistance;
72
+ }
73
+ else {
74
+ var pairingThreshold = getPairingThreshold(aeI, beI, getElementThreshold(aeI), getElementThreshold(beI));
75
+ add = dist < pairingThreshold;
76
+ if (isHa && isHydrogen(beI)) {
77
+ // TODO handle molecular hydrogen
78
+ add = false;
79
+ }
80
+ }
81
+ if (add) {
67
82
  atomA[atomA.length] = _aI;
68
83
  atomB[atomB.length] = _bI;
69
84
  orders[orders.length] = order[i];
@@ -187,12 +202,7 @@ function findBonds(unit, props) {
187
202
  var dist = Math.sqrt(squaredDistances[ni]);
188
203
  if (dist === 0)
189
204
  continue;
190
- var thresholdAB = getElementPairThreshold(aeI, beI);
191
- var pairingThreshold = thresholdAB > 0
192
- ? thresholdAB
193
- : beI < 0
194
- ? thresholdA
195
- : (thresholdA + getElementThreshold(beI)) / 1.95; // not sure if avg or min but max is too big
205
+ var pairingThreshold = getPairingThreshold(aeI, beI, thresholdA, getElementThreshold(beI));
196
206
  if (dist <= pairingThreshold) {
197
207
  atomA[atomA.length] = _aI;
198
208
  atomB[atomB.length] = _bI;