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,22 +1,70 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author David Sehnal <david.sehnal@gmail.com>
6
+ * @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
6
7
  */
7
8
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.parseMol = exports.handleBonds = exports.handleAtoms = void 0;
9
+ exports.parseMol = exports.handlePropertiesBlock = exports.handleFormalCharges = exports.handleBonds = exports.handleAtoms = exports.formalChargeMapper = void 0;
9
10
  var tslib_1 = require("tslib");
10
11
  var db_1 = require("../../../mol-data/db");
11
12
  var mol_task_1 = require("../../../mol-task");
12
13
  var token_1 = require("../common/text/column/token");
13
14
  var tokenizer_1 = require("../common/text/tokenizer");
14
15
  var result_1 = require("../result");
16
+ /*
17
+ The atom lines in a .mol file have the following structure:
18
+
19
+ xxxxx.xxxxyyyyy.yyyyzzzzz.zzzz aaaddcccssshhhbbbvvvHHHrrriiimmmnnneee
20
+ ---------------------------------------------------------------------
21
+
22
+ Below is a breakdown of each component and its start/end indices:
23
+
24
+ xxxxx.xxxx (X COORDINATE, 1-10)
25
+ yyyyy.yyyy (Y COORDINATE, 10-20)
26
+ zzzzz.zzzz (Z COORDINATE, 20-30)
27
+ _ (30 IS EMPTY)
28
+ aaa (ATOM SYMBOL, 31-34)
29
+ dd (MASS DIFF, 34-36)
30
+ ccc (FORMAL CHARGE, 36-39)
31
+ sss (ATOM STEREO PARITY, 39-42)
32
+ hhh (HYDROGEN COUNT+1, 42-45)
33
+ bbb (STEREO CARE BOX, 45-48)
34
+ vvv (VALENCE, 48-51)
35
+ HHH (H0 DESIGNATOR, 51-54)
36
+ rrr (UNUSED, 54-57)
37
+ iii (UNUSED, 57-60)
38
+ mmm (ATOM-ATOM MAPPING NUMBER, 60-63)
39
+ nnn (INVERSION/RETENTION FLAG, 63-66)
40
+ eee (EXACT CHANGE FLAG, 66-69)
41
+ */
42
+ /**
43
+ * @param key - The value found at the atom block.
44
+ * @returns The actual formal charge based on the mapping.
45
+ */
46
+ function formalChargeMapper(key) {
47
+ switch (key) {
48
+ case 7: return -3;
49
+ case 6: return -2;
50
+ case 5: return -1;
51
+ case 0: return 0;
52
+ case 3: return 1;
53
+ case 2: return 2;
54
+ case 1: return 3;
55
+ case 4: return 0;
56
+ default:
57
+ console.error("Value ".concat(key, " is outside the 0-7 range, defaulting to 0."));
58
+ return 0;
59
+ }
60
+ }
61
+ exports.formalChargeMapper = formalChargeMapper;
15
62
  function handleAtoms(tokenizer, count) {
16
63
  var x = tokenizer_1.TokenBuilder.create(tokenizer.data, count * 2);
17
64
  var y = tokenizer_1.TokenBuilder.create(tokenizer.data, count * 2);
18
65
  var z = tokenizer_1.TokenBuilder.create(tokenizer.data, count * 2);
19
66
  var type_symbol = tokenizer_1.TokenBuilder.create(tokenizer.data, count * 2);
67
+ var formal_charge = tokenizer_1.TokenBuilder.create(tokenizer.data, count * 2);
20
68
  for (var i = 0; i < count; ++i) {
21
69
  tokenizer_1.Tokenizer.markLine(tokenizer);
22
70
  var s = tokenizer.tokenStart, position = tokenizer.position;
@@ -28,6 +76,8 @@ function handleAtoms(tokenizer, count) {
28
76
  tokenizer_1.TokenBuilder.addUnchecked(z, tokenizer.tokenStart, tokenizer.tokenEnd);
29
77
  tokenizer_1.Tokenizer.trim(tokenizer, s + 31, s + 34);
30
78
  tokenizer_1.TokenBuilder.addUnchecked(type_symbol, tokenizer.tokenStart, tokenizer.tokenEnd);
79
+ tokenizer_1.Tokenizer.trim(tokenizer, s + 36, s + 39);
80
+ tokenizer_1.TokenBuilder.addUnchecked(formal_charge, tokenizer.tokenStart, tokenizer.tokenEnd);
31
81
  tokenizer.position = position;
32
82
  }
33
83
  return {
@@ -35,7 +85,8 @@ function handleAtoms(tokenizer, count) {
35
85
  x: (0, token_1.TokenColumnProvider)(x)(db_1.Column.Schema.float),
36
86
  y: (0, token_1.TokenColumnProvider)(y)(db_1.Column.Schema.float),
37
87
  z: (0, token_1.TokenColumnProvider)(z)(db_1.Column.Schema.float),
38
- type_symbol: (0, token_1.TokenColumnProvider)(type_symbol)(db_1.Column.Schema.str)
88
+ type_symbol: (0, token_1.TokenColumnProvider)(type_symbol)(db_1.Column.Schema.str),
89
+ formal_charge: (0, token_1.TokenColumnProvider)(formal_charge)(db_1.Column.Schema.int)
39
90
  };
40
91
  }
41
92
  exports.handleAtoms = handleAtoms;
@@ -62,6 +113,65 @@ function handleBonds(tokenizer, count) {
62
113
  };
63
114
  }
64
115
  exports.handleBonds = handleBonds;
116
+ function handleFormalCharges(tokenizer, lineStart, formalCharges) {
117
+ tokenizer_1.Tokenizer.trim(tokenizer, lineStart + 6, lineStart + 9);
118
+ var numOfCharges = parseInt(tokenizer_1.Tokenizer.getTokenString(tokenizer));
119
+ for (var i = 0; i < numOfCharges; ++i) {
120
+ /*
121
+ M CHG 3 1 -1 2 0 2 -1
122
+ | | | | |
123
+ | | | | |__charge2 (etc.)
124
+ | | | |
125
+ | | | |__atomIdx2
126
+ | | |
127
+ | | |__charge1
128
+ | |
129
+ | |__atomIdx1 (cursor at position 12)
130
+ |
131
+ |___numOfCharges
132
+ */
133
+ var offset = 9 + (i * 8);
134
+ tokenizer_1.Tokenizer.trim(tokenizer, lineStart + offset, lineStart + offset + 4);
135
+ var _atomIdx = tokenizer_1.Tokenizer.getTokenString(tokenizer);
136
+ formalCharges.atomIdx.push(+_atomIdx);
137
+ tokenizer_1.Tokenizer.trim(tokenizer, lineStart + offset + 4, lineStart + offset + 8);
138
+ var _charge = tokenizer_1.Tokenizer.getTokenString(tokenizer);
139
+ formalCharges.charge.push(+_charge);
140
+ }
141
+ /* Once the line is read, move to the next one. */
142
+ tokenizer_1.Tokenizer.eatLine(tokenizer);
143
+ }
144
+ exports.handleFormalCharges = handleFormalCharges;
145
+ /** Call an appropriate handler based on the property type.
146
+ * (For now it only calls the formal charge handler, additional handlers can
147
+ * be added for other properties.)
148
+ */
149
+ function handlePropertiesBlock(tokenizer) {
150
+ var _atomIdx = [];
151
+ var _charge = [];
152
+ var _formalCharges = { atomIdx: _atomIdx, charge: _charge };
153
+ while (tokenizer.position < tokenizer.length) {
154
+ var s = tokenizer.position;
155
+ tokenizer_1.Tokenizer.trim(tokenizer, s + 3, s + 6);
156
+ var propertyType = tokenizer_1.Tokenizer.getTokenString(tokenizer);
157
+ if (propertyType === 'END')
158
+ break;
159
+ tokenizer_1.Tokenizer.eatLine(tokenizer);
160
+ switch (propertyType) {
161
+ case 'CHG':
162
+ handleFormalCharges(tokenizer, s, _formalCharges);
163
+ break;
164
+ default:
165
+ break;
166
+ }
167
+ }
168
+ var formalCharges = {
169
+ atomIdx: db_1.Column.ofIntArray(_formalCharges.atomIdx),
170
+ charge: db_1.Column.ofIntArray(_formalCharges.charge)
171
+ };
172
+ return formalCharges;
173
+ }
174
+ exports.handlePropertiesBlock = handlePropertiesBlock;
65
175
  function parseInternal(data) {
66
176
  var tokenizer = (0, tokenizer_1.Tokenizer)(data);
67
177
  var title = tokenizer_1.Tokenizer.readLine(tokenizer).trim();
@@ -71,12 +181,14 @@ function parseInternal(data) {
71
181
  var atomCount = +counts.substr(0, 3), bondCount = +counts.substr(3, 3);
72
182
  var atoms = handleAtoms(tokenizer, atomCount);
73
183
  var bonds = handleBonds(tokenizer, bondCount);
184
+ var formalCharges = handlePropertiesBlock(tokenizer);
74
185
  var result = {
75
186
  title: title,
76
187
  program: program,
77
188
  comment: comment,
78
189
  atoms: atoms,
79
- bonds: bonds
190
+ bonds: bonds,
191
+ formalCharges: formalCharges,
80
192
  };
81
193
  return result_1.ReaderResult.success(result);
82
194
  }
@@ -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>
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2017-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2017-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author Zepei Xu <xuzepei19950617@gmail.com>
6
6
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -244,9 +244,38 @@ function handleBonds(state) {
244
244
  });
245
245
  });
246
246
  }
247
+ function handleCrysin(state) {
248
+ var tokenizer = state.tokenizer;
249
+ while (tokenizer.position < tokenizer.data.length) {
250
+ var l = getTokenString(tokenizer);
251
+ if (l === '@<TRIPOS>MOLECULE') {
252
+ return;
253
+ }
254
+ else if (l === '@<TRIPOS>CRYSIN') {
255
+ break;
256
+ }
257
+ else {
258
+ markLine(tokenizer);
259
+ }
260
+ }
261
+ if (tokenizer.position >= tokenizer.data.length)
262
+ return;
263
+ markLine(tokenizer);
264
+ var values = getTokenString(tokenizer).trim().split(reWhitespace);
265
+ return {
266
+ a: parseFloat(values[0]),
267
+ b: parseFloat(values[1]),
268
+ c: parseFloat(values[2]),
269
+ alpha: parseFloat(values[3]),
270
+ beta: parseFloat(values[4]),
271
+ gamma: parseFloat(values[5]),
272
+ spaceGroup: parseInt(values[6], 10),
273
+ setting: parseInt(values[7], 10),
274
+ };
275
+ }
247
276
  function parseInternal(ctx, data, name) {
248
277
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
249
- var tokenizer, structures, state, atoms, bonds, result;
278
+ var tokenizer, structures, state, atoms, bonds, crysin, result;
250
279
  return (0, tslib_1.__generator)(this, function (_a) {
251
280
  switch (_a.label) {
252
281
  case 0:
@@ -264,7 +293,8 @@ function parseInternal(ctx, data, name) {
264
293
  return [4 /*yield*/, handleBonds(state)];
265
294
  case 3:
266
295
  bonds = _a.sent();
267
- structures.push({ molecule: state.molecule, atoms: atoms, bonds: bonds });
296
+ crysin = handleCrysin(state);
297
+ structures.push({ molecule: state.molecule, atoms: atoms, bonds: bonds, crysin: crysin });
268
298
  skipWhitespace(tokenizer);
269
299
  while (getTokenString(tokenizer) !== '@<TRIPOS>MOLECULE' && tokenizer.position < tokenizer.data.length) {
270
300
  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,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2017 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2017-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  */
@@ -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,4 +1,10 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright (c) 2021-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ *
5
+ * @author Jason Pattle <jpattle@exscientia.co.uk>
6
+ * @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
7
+ */
2
8
  Object.defineProperty(exports, "__esModule", { value: true });
3
9
  exports.handleBondsV3 = exports.handleAtomsV3 = exports.handleCountsV3 = exports.isV3 = void 0;
4
10
  var db_1 = require("../../../mol-data/db");
@@ -49,6 +55,9 @@ function handleAtomsV3(tokenizer, atomCount) {
49
55
  y: (0, token_1.TokenColumnProvider)(y)(db_1.Column.Schema.float),
50
56
  z: (0, token_1.TokenColumnProvider)(z)(db_1.Column.Schema.float),
51
57
  type_symbol: (0, token_1.TokenColumnProvider)(type_symbol)(db_1.Column.Schema.str),
58
+ /* No support for formal charge parsing in V3000 molfiles at the moment,
59
+ so all charges default to 0.*/
60
+ formal_charge: db_1.Column.ofConst(0, atomCount, db_1.Column.Schema.int)
52
61
  };
53
62
  }
54
63
  exports.handleAtomsV3 = handleAtomsV3;
@@ -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,9 +1,11 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author Sebastian Bittrich <sebastian.bittrich@rcsb.org>
6
6
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
7
+ * @author Jason Pattle <jpattle@exscientia.co.uk>
8
+ * @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
7
9
  */
8
10
  Object.defineProperty(exports, "__esModule", { value: true });
9
11
  exports.parseSdf = void 0;
@@ -72,11 +74,18 @@ function handleMolFile(tokenizer) {
72
74
  }
73
75
  return;
74
76
  }
77
+ /* No support for formal charge parsing in V3000 molfiles at the moment,
78
+ so all charges default to 0.*/
79
+ var nullFormalCharges = {
80
+ atomIdx: db_1.Column.ofConst(0, atomCount, db_1.Column.Schema.int),
81
+ charge: db_1.Column.ofConst(0, atomCount, db_1.Column.Schema.int)
82
+ };
75
83
  var atoms = molIsV3 ? (0, parser_v3_util_1.handleAtomsV3)(tokenizer, atomCount) : (0, parser_1.handleAtoms)(tokenizer, atomCount);
76
84
  var bonds = molIsV3 ? (0, parser_v3_util_1.handleBondsV3)(tokenizer, bondCount) : (0, parser_1.handleBonds)(tokenizer, bondCount);
85
+ var formalCharges = molIsV3 ? nullFormalCharges : (0, parser_1.handlePropertiesBlock)(tokenizer);
77
86
  var dataItems = handleDataItems(tokenizer);
78
87
  return {
79
- molFile: { title: title, program: program, comment: comment, atoms: atoms, bonds: bonds },
88
+ molFile: { title: title, program: program, comment: comment, atoms: atoms, bonds: bonds, formalCharges: formalCharges },
80
89
  dataItems: dataItems
81
90
  };
82
91
  }
@@ -173,8 +173,15 @@ function getFieldData(field, arrayCtor, totalCount, data) {
173
173
  allPresent = false;
174
174
  }
175
175
  else {
176
- mask[offset] = 0 /* Present */;
177
- array[offset] = getter(key, d, offset);
176
+ var value = getter(key, d, offset);
177
+ if (typeof value === 'string' && !value) {
178
+ mask[offset] = 1 /* NotPresent */;
179
+ allPresent = false;
180
+ }
181
+ else {
182
+ mask[offset] = 0 /* Present */;
183
+ }
184
+ array[offset] = value;
178
185
  }
179
186
  offset++;
180
187
  }
@@ -13,7 +13,7 @@ var int_1 = require("../../../mol-data/int");
13
13
  var linear_algebra_1 = require("../../linear-algebra");
14
14
  var mol_util_1 = require("../../../mol-util");
15
15
  var renderable_1 = require("../../../mol-gl/renderable");
16
- var float_packing_1 = require("../../../mol-util/float-packing");
16
+ var number_packing_1 = require("../../../mol-util/number-packing");
17
17
  var shader_code_1 = require("../../../mol-gl/shader-code");
18
18
  var render_item_1 = require("../../../mol-gl/webgl/render-item");
19
19
  var schema_1 = require("../../../mol-gl/renderable/schema");
@@ -378,7 +378,7 @@ function fieldFromTexture2d(ctx, texture, dim, texDim) {
378
378
  for (var ix = 0; ix < dx; ++ix) {
379
379
  var idx = 4 * (tmpCol * dx + (iy + tmpRow) * width + ix);
380
380
  data[j] = image[idx + 3] / 255;
381
- idData[j] = (0, float_packing_1.decodeFloatRGB)(image[idx], image[idx + 1], image[idx + 2]);
381
+ idData[j] = (0, number_packing_1.unpackRGBToInt)(image[idx], image[idx + 1], image[idx + 2]);
382
382
  j++;
383
383
  }
384
384
  }
@@ -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;
@@ -22,8 +22,9 @@ var SymmetryOperator;
22
22
  var _hkl = hkl ? vec3_1.Vec3.clone(hkl) : (0, vec3_1.Vec3)();
23
23
  spgrOp = (0, mol_util_1.defaults)(spgrOp, -1);
24
24
  ncsId = ncsId || -1;
25
- var suffix = getSuffix(info);
26
- if (mat4_1.Mat4.isIdentity(matrix))
25
+ var isIdentity = mat4_1.Mat4.isIdentity(matrix);
26
+ var suffix = getSuffix(info, isIdentity);
27
+ if (isIdentity)
27
28
  return { name: name, assembly: assembly, matrix: matrix, inverse: mat4_1.Mat4.identity(), isIdentity: true, hkl: _hkl, spgrOp: spgrOp, ncsId: ncsId, suffix: suffix };
28
29
  if (!mat4_1.Mat4.isRotationAndTranslation(matrix, SymmetryOperator.RotationTranslationEpsilon)) {
29
30
  console.warn("Symmetry operator (".concat(name, ") should be a composition of rotation and translation."));
@@ -31,11 +32,16 @@ var SymmetryOperator;
31
32
  return { name: name, assembly: assembly, matrix: matrix, inverse: mat4_1.Mat4.invert((0, mat4_1.Mat4)(), matrix), isIdentity: false, hkl: _hkl, spgrOp: spgrOp, ncsId: ncsId, suffix: suffix };
32
33
  }
33
34
  SymmetryOperator.create = create;
34
- function getSuffix(info) {
35
+ function isSymmetryOperator(x) {
36
+ return !!x && !!x.matrix && !!x.inverse && typeof x.name === 'string';
37
+ }
38
+ function getSuffix(info, isIdentity) {
35
39
  if (!info)
36
40
  return '';
37
41
  if (info.assembly) {
38
- return "_".concat(info.assembly.operId);
42
+ if (isSymmetryOperator(info))
43
+ return info.suffix;
44
+ return isIdentity ? '' : "_".concat(info.assembly.operId);
39
45
  }
40
46
  if (typeof info.spgrOp !== 'undefined' && typeof info.hkl !== 'undefined' && info.spgrOp !== -1) {
41
47
  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,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2017-2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2017-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author David Sehnal <david.sehnal@gmail.com>
6
6
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -315,6 +315,25 @@ exports.Quat = Quat;
315
315
  return out;
316
316
  }
317
317
  Quat.set = set;
318
+ /**
319
+ * Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===)
320
+ */
321
+ function exactEquals(a, b) {
322
+ return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];
323
+ }
324
+ Quat.exactEquals = exactEquals;
325
+ /**
326
+ * Returns whether or not the quaternions have approximately the same elements in the same position.
327
+ */
328
+ function equals(a, b) {
329
+ var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3];
330
+ var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3];
331
+ return (Math.abs(a0 - b0) <= common_1.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) &&
332
+ Math.abs(a1 - b1) <= common_1.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) &&
333
+ Math.abs(a2 - b2) <= common_1.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) &&
334
+ Math.abs(a3 - b3) <= common_1.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)));
335
+ }
336
+ Quat.equals = equals;
318
337
  function add(out, a, b) {
319
338
  out[0] = a[0] + b[0];
320
339
  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 };
@@ -40,6 +40,9 @@ var _entity = {
40
40
  function isWithoutSymmetry(structure) {
41
41
  return structure.units.every(function (u) { return u.conformation.operator.isIdentity; });
42
42
  }
43
+ function isWithoutOperator(structure) {
44
+ return isWithoutSymmetry(structure) && structure.units.every(function (u) { return !u.conformation.operator.assembly && !u.conformation.operator.suffix; });
45
+ }
43
46
  var Categories = [
44
47
  // Basics
45
48
  (0, utils_1.copy_mmCif_category)('entry'),
@@ -49,9 +52,9 @@ var Categories = [
49
52
  (0, utils_1.copy_mmCif_category)('cell', isWithoutSymmetry),
50
53
  (0, utils_1.copy_mmCif_category)('symmetry', isWithoutSymmetry),
51
54
  // Assemblies
52
- (0, utils_1.copy_mmCif_category)('pdbx_struct_assembly', isWithoutSymmetry),
53
- (0, utils_1.copy_mmCif_category)('pdbx_struct_assembly_gen', isWithoutSymmetry),
54
- (0, utils_1.copy_mmCif_category)('pdbx_struct_oper_list', isWithoutSymmetry),
55
+ (0, utils_1.copy_mmCif_category)('pdbx_struct_assembly', isWithoutOperator),
56
+ (0, utils_1.copy_mmCif_category)('pdbx_struct_assembly_gen', isWithoutOperator),
57
+ (0, utils_1.copy_mmCif_category)('pdbx_struct_oper_list', isWithoutOperator),
55
58
  // Secondary structure
56
59
  secondary_structure_1._struct_conf,
57
60
  secondary_structure_1._struct_sheet_range,
@@ -233,11 +236,11 @@ function encode_mmCIF_categories_copyAll(encoder, ctx, params) {
233
236
  encoder.writeCategory(info[0], info[1], info[2]);
234
237
  });
235
238
  }
236
- function to_mmCIF(name, structure, asBinary) {
239
+ function to_mmCIF(name, structure, asBinary, params) {
237
240
  if (asBinary === void 0) { asBinary = false; }
238
241
  var enc = cif_1.CifWriter.createEncoder({ binary: asBinary });
239
242
  enc.startDataBlock(name);
240
- encode_mmCIF_categories(enc, structure);
243
+ encode_mmCIF_categories(enc, structure, params);
241
244
  return enc.getData();
242
245
  }
243
246
  exports.to_mmCIF = 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>;
@@ -52,6 +52,7 @@ var Stats;
52
52
  }
53
53
  else if (size === 1) {
54
54
  if (unit_1.Unit.Traits.is(unit.traits, 1 /* MultiChain */)) {
55
+ // handled in `handleUnitChainsSimple`
55
56
  return;
56
57
  }
57
58
  else {
@@ -177,6 +178,13 @@ var Stats;
177
178
  location_1.Location.set(stats.firstChainLoc, structure, unit, offsets[cI]);
178
179
  }
179
180
  }
181
+ else if (size === 1) {
182
+ // need to handle here, skipped in `handleElement`
183
+ stats.elementCount += 1;
184
+ if (stats.elementCount === 1) {
185
+ location_1.Location.set(stats.firstElementLoc, structure, unit, eI);
186
+ }
187
+ }
180
188
  }
181
189
  }
182
190
  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>;
@@ -114,6 +114,7 @@ var coarse = {
114
114
  y: atom.y,
115
115
  z: atom.z,
116
116
  asym_id: p(function (l) { return !unit_1.Unit.isCoarse(l.unit) ? notCoarse() : l.unit.coarseElements.asym_id.value(l.element); }),
117
+ entity_id: p(function (l) { return !unit_1.Unit.isCoarse(l.unit) ? notCoarse() : l.unit.coarseElements.entity_id.value(l.element); }),
117
118
  seq_id_begin: p(function (l) { return !unit_1.Unit.isCoarse(l.unit) ? notCoarse() : l.unit.coarseElements.seq_id_begin.value(l.element); }),
118
119
  seq_id_end: p(function (l) { return !unit_1.Unit.isCoarse(l.unit) ? notCoarse() : l.unit.coarseElements.seq_id_end.value(l.element); }),
119
120
  sphere_radius: p(function (l) { return !unit_1.Unit.isSpheres(l.unit) ? notCoarse('spheres') : l.unit.coarseConformation.radius[l.element]; }),
@@ -144,7 +145,7 @@ var entity = {
144
145
  pdbx_fragment: p(function (l) { return l.unit.model.entities.data.pdbx_fragment.value(eK(l)); }),
145
146
  pdbx_ec: p(function (l) { return l.unit.model.entities.data.pdbx_ec.value(eK(l)); }),
146
147
  subtype: p(function (l) { return l.unit.model.entities.subtype.value(eK(l)); }),
147
- prd_id: p(function (l) { return l.unit.model.entities.prd_id.value(eK(l)); }),
148
+ 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 : ''; }),
148
149
  };
149
150
  var _emptyList = [];
150
151
  var unit = {
@@ -191,8 +191,6 @@ function getOperatorsForRange(symmetry, ijkMin, ijkMax, modelCenter) {
191
191
  ijkMin[2] <= 0 && ijkMax[2] >= 0) {
192
192
  operators[0] = geometry_1.Spacegroup.getSymmetryOperator(spacegroup, 0, 0, 0, 0);
193
193
  }
194
- var toFractional = spacegroup.cell.toFractional;
195
- var ref = linear_algebra_1.Vec3.transformMat4((0, linear_algebra_1.Vec3)(), modelCenter, toFractional);
196
194
  for (var op = 0; op < spacegroup.operators.length; op++) {
197
195
  for (var i = ijkMin[0]; i <= ijkMax[0]; i++) {
198
196
  for (var j = ijkMin[1]; j <= ijkMax[1]; j++) {
@@ -200,7 +198,7 @@ function getOperatorsForRange(symmetry, ijkMin, ijkMax, modelCenter) {
200
198
  // check if we have added identity as the 1st operator.
201
199
  if (!ncsCount && op === 0 && i === 0 && j === 0 && k === 0)
202
200
  continue;
203
- operators.push.apply(operators, getOperatorsForIndex(symmetry, op, i, j, k, ref));
201
+ operators.push.apply(operators, getOperatorsForIndex(symmetry, op, i, j, k, modelCenter));
204
202
  }
205
203
  }
206
204
  }
@@ -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;