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
@@ -4,6 +4,7 @@
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  */
6
6
  import { Segmentation } from '../../../../mol-data/int';
7
+ import { Mat4 } from '../../../../mol-math/linear-algebra';
7
8
  import { MinimizeRmsd } from '../../../../mol-math/linear-algebra/3d/minimize-rmsd';
8
9
  import { BestDatabaseSequenceMapping } from '../../../../mol-model-props/sequence/best-database-mapping';
9
10
  export function alignAndSuperposeWithBestDatabaseMapping(structures) {
@@ -19,6 +20,7 @@ export function alignAndSuperposeWithBestDatabaseMapping(structures) {
19
20
  var p = pairs_1[_i];
20
21
  var _a = getPositionTables(index, p.i, p.j, p.count), a = _a[0], b = _a[1];
21
22
  var transform = MinimizeRmsd.compute({ a: a, b: b });
23
+ console.log(Mat4.makeTable(transform.bTransform), transform.rmsd);
22
24
  ret.push({ transform: transform, pivot: p.i, other: p.j });
23
25
  }
24
26
  return ret;
@@ -34,6 +36,8 @@ function getPositionTables(index, pivot, other, N) {
34
36
  if (!a || !b)
35
37
  continue;
36
38
  var l = Math.min(a[2] - a[1], b[2] - b[1]);
39
+ // TODO: allow to use just backbone atoms?
40
+ // TODO: check if residue types match?
37
41
  for (var i = 0; i < l; i++) {
38
42
  var eI = (a[1] + i);
39
43
  xs.x[o] = a[0].conformation.x(eI);
@@ -93,7 +97,6 @@ function buildIndex(structure, index, sI) {
93
97
  if (unit.kind !== 0 /* Atomic */)
94
98
  continue;
95
99
  var elements = unit.elements, model = unit.model;
96
- var residueOffset = model.atomicHierarchy.residueAtomSegments.offsets;
97
100
  var map = BestDatabaseSequenceMapping.Provider.get(model).value;
98
101
  if (!map)
99
102
  return;
@@ -105,22 +108,24 @@ function buildIndex(structure, index, sI) {
105
108
  residuesIt.setSegment(chainSegment);
106
109
  while (residuesIt.hasNext) {
107
110
  var residueSegment = residuesIt.move();
108
- var eI = elements[residueSegment.start];
109
- var rI = residueOffset[eI];
111
+ var rI = residueSegment.index;
110
112
  if (!dbName[rI])
111
113
  continue;
114
+ var start = elements[residueSegment.start];
115
+ var end = elements[residueSegment.end - 1] + 1;
112
116
  var key = "".concat(dbName[rI], "-").concat(accession[rI], "-").concat(num[rI]);
113
117
  if (!index.has(key)) {
114
- index.set(key, { key: key, pivots: (_a = {}, _a[sI] = [unit, eI, elements[residueSegment.end]], _a) });
118
+ index.set(key, { key: key, pivots: (_a = {}, _a[sI] = [unit, start, end], _a) });
115
119
  }
116
120
  else {
117
121
  var entry = index.get(key);
118
122
  if (!entry.pivots[sI]) {
119
- entry.pivots[sI] = [unit, eI, elements[residueSegment.end]];
123
+ entry.pivots[sI] = [unit, start, end];
120
124
  }
121
125
  }
122
126
  }
123
127
  }
124
128
  }
129
+ console.log(index);
125
130
  }
126
131
  //# sourceMappingURL=superposition-db-mapping.js.map
@@ -39,6 +39,16 @@ export declare const PlyShapeParams: {
39
39
  roughness: number;
40
40
  bumpiness: number;
41
41
  }>>;
42
+ clip: PD.Group<PD.Normalize<{
43
+ variant: import("../../mol-util/clip").Clip.Variant;
44
+ objects: PD.Normalize<{
45
+ type: any;
46
+ invert: any;
47
+ position: any;
48
+ rotation: any;
49
+ scale: any;
50
+ }>[];
51
+ }>>;
42
52
  };
43
53
  export declare type PlyShapeParams = typeof PlyShapeParams;
44
54
  export declare function shapeFromPly(source: PlyFile, params?: {}): Task<ShapeProvider<PlyFile, Mesh, {
@@ -70,4 +80,14 @@ export declare function shapeFromPly(source: PlyFile, params?: {}): Task<ShapePr
70
80
  roughness: number;
71
81
  bumpiness: number;
72
82
  }>>;
83
+ clip: PD.Group<PD.Normalize<{
84
+ variant: import("../../mol-util/clip").Clip.Variant;
85
+ objects: PD.Normalize<{
86
+ type: any;
87
+ invert: any;
88
+ position: any;
89
+ rotation: any;
90
+ scale: any;
91
+ }>[];
92
+ }>>;
73
93
  }>>;
@@ -5,13 +5,13 @@
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  */
7
7
  import { Column } from '../../../mol-data/db';
8
+ import { SymmetryOperator } from '../../../mol-math/geometry';
8
9
  import { ChainIndex } from '../../../mol-model/structure';
9
10
  import { Model } from '../../../mol-model/structure/model/model';
10
11
  import { AtomicConformation, AtomicHierarchy } from '../../../mol-model/structure/model/properties/atomic';
11
12
  import { Entities } from '../../../mol-model/structure/model/properties/common';
12
- import { AtomSite } from './schema';
13
13
  import { ModelFormat } from '../../format';
14
- import { SymmetryOperator } from '../../../mol-math/geometry';
14
+ import { AtomSite } from './schema';
15
15
  export declare function getAtomicHierarchyAndConformation(atom_site: AtomSite, sourceIndex: Column<number>, entities: Entities, chemicalComponentMap: Model['properties']['chemicalComponentMap'], format: ModelFormat, previous?: Model): {
16
16
  sameAsPrevious: boolean;
17
17
  hierarchy: AtomicHierarchy;
@@ -7,16 +7,16 @@
7
7
  import { __assign } from "tslib";
8
8
  import { Column, Table } from '../../../mol-data/db';
9
9
  import { Interval, Segmentation } from '../../../mol-data/int';
10
- import { UUID } from '../../../mol-util/uuid';
10
+ import { toDatabase } from '../../../mol-io/reader/cif/schema';
11
+ import { SymmetryOperator } from '../../../mol-math/geometry';
12
+ import { Mat4, Vec3 } from '../../../mol-math/linear-algebra';
13
+ import { AtomSiteOperatorMappingSchema } from '../../../mol-model/structure/export/categories/atom_site_operator_mapping';
11
14
  import { AtomsSchema, ChainsSchema, ResiduesSchema } from '../../../mol-model/structure/model/properties/atomic';
15
+ import { getAtomicDerivedData } from '../../../mol-model/structure/model/properties/utils/atomic-derived';
12
16
  import { getAtomicIndex } from '../../../mol-model/structure/model/properties/utils/atomic-index';
13
17
  import { ElementSymbol } from '../../../mol-model/structure/model/types';
14
- import { getAtomicDerivedData } from '../../../mol-model/structure/model/properties/utils/atomic-derived';
15
- import { SymmetryOperator } from '../../../mol-math/geometry';
18
+ import { UUID } from '../../../mol-util/uuid';
16
19
  import { MmcifFormat } from '../mmcif';
17
- import { AtomSiteOperatorMappingSchema } from '../../../mol-model/structure/export/categories/atom_site_operator_mapping';
18
- import { toDatabase } from '../../../mol-io/reader/cif/schema';
19
- import { Mat4, Vec3 } from '../../../mol-math/linear-algebra';
20
20
  function findHierarchyOffsets(atom_site) {
21
21
  if (atom_site._rowCount === 0)
22
22
  return { residues: [], chains: [] };
@@ -23,7 +23,7 @@ export declare const EmptyCoarse: {
23
23
  hierarchy: CoarseHierarchy;
24
24
  conformation: any;
25
25
  };
26
- export declare function getCoarse(data: CoarseData, properties: Model['properties']): {
26
+ export declare function getCoarse(data: CoarseData, chemicalComponentMap: Model['properties']['chemicalComponentMap']): {
27
27
  hierarchy: CoarseHierarchy;
28
28
  conformation: CoarseConformation;
29
29
  };
@@ -13,18 +13,18 @@ import { Mat3, Tensor } from '../../../mol-math/linear-algebra';
13
13
  import { getCoarseRanges } from '../../../mol-model/structure/model/properties/utils/coarse-ranges';
14
14
  import { BasicSchema } from './schema';
15
15
  export var EmptyCoarse = { hierarchy: CoarseHierarchy.Empty, conformation: void 0 };
16
- export function getCoarse(data, properties) {
16
+ export function getCoarse(data, chemicalComponentMap) {
17
17
  var ihm_sphere_obj_site = data.ihm_sphere_obj_site, ihm_gaussian_obj_site = data.ihm_gaussian_obj_site;
18
18
  if (ihm_sphere_obj_site._rowCount === 0 && ihm_gaussian_obj_site._rowCount === 0)
19
19
  return EmptyCoarse;
20
20
  var sphereData = getData(ihm_sphere_obj_site);
21
21
  var sphereConformation = getSphereConformation(ihm_sphere_obj_site);
22
22
  var sphereKeys = getCoarseKeys(sphereData, data.entities);
23
- var sphereRanges = getCoarseRanges(sphereData, properties.chemicalComponentMap);
23
+ var sphereRanges = getCoarseRanges(sphereData, chemicalComponentMap);
24
24
  var gaussianData = getData(ihm_gaussian_obj_site);
25
25
  var gaussianConformation = getGaussianConformation(ihm_gaussian_obj_site);
26
26
  var gaussianKeys = getCoarseKeys(gaussianData, data.entities);
27
- var gaussianRanges = getCoarseRanges(gaussianData, properties.chemicalComponentMap);
27
+ var gaussianRanges = getCoarseRanges(gaussianData, chemicalComponentMap);
28
28
  return {
29
29
  hierarchy: {
30
30
  isDefined: true,
@@ -7,4 +7,5 @@
7
7
  import { Entities } from '../../../mol-model/structure/model/properties/common';
8
8
  import { Model } from '../../../mol-model/structure/model';
9
9
  import { BasicData } from './schema';
10
- export declare function getEntities(data: BasicData, properties: Model['properties']): Entities;
10
+ export declare function getEntityData(data: BasicData): Entities;
11
+ export declare function getEntitiesWithPRD(data: BasicData, entities: Entities, structAsymMap: Model['properties']['structAsymMap']): Entities;
@@ -4,18 +4,18 @@
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  */
7
+ import { __assign } from "tslib";
7
8
  import { Column, Table } from '../../../mol-data/db';
8
9
  import { EntitySubtype } from '../../../mol-model/structure/model/properties/common';
9
10
  import { getEntityType, getEntitySubtype } from '../../../mol-model/structure/model/types';
10
11
  import { BasicSchema } from './schema';
11
- export function getEntities(data, properties) {
12
- var _a;
12
+ export function getEntityData(data) {
13
13
  var entityData;
14
14
  if (!data.entity.id.isDefined) {
15
15
  var entityIds_1 = new Set();
16
16
  var ids = [];
17
17
  var types = [];
18
- var _b = data.atom_site, label_entity_id = _b.label_entity_id, label_comp_id = _b.label_comp_id;
18
+ var _a = data.atom_site, label_entity_id = _a.label_entity_id, label_comp_id = _a.label_comp_id;
19
19
  for (var i = 0, il = data.atom_site._rowCount; i < il; i++) {
20
20
  var entityId = label_entity_id.value(i);
21
21
  if (!entityIds_1.has(entityId)) {
@@ -57,7 +57,7 @@ export function getEntities(data, properties) {
57
57
  var entityIds = new Set();
58
58
  var assignSubtype = false;
59
59
  if (data.entity_poly && data.entity_poly.type.isDefined) {
60
- var _c = data.entity_poly, entity_id = _c.entity_id, type = _c.type, _rowCount = _c._rowCount;
60
+ var _b = data.entity_poly, entity_id = _b.entity_id, type = _b.type, _rowCount = _b._rowCount;
61
61
  for (var i = 0; i < _rowCount; ++i) {
62
62
  var entityId = entity_id.value(i);
63
63
  subtypes[getEntityIndex(entityId)] = type.value(i);
@@ -68,7 +68,7 @@ export function getEntities(data, properties) {
68
68
  assignSubtype = true;
69
69
  }
70
70
  if (data.pdbx_entity_branch && data.pdbx_entity_branch.entity_id.isDefined) {
71
- var _d = data.pdbx_entity_branch, entity_id = _d.entity_id, type = _d.type, _rowCount = _d._rowCount;
71
+ var _c = data.pdbx_entity_branch, entity_id = _c.entity_id, type = _c.type, _rowCount = _c._rowCount;
72
72
  for (var i = 0; i < _rowCount; ++i) {
73
73
  var entityId = entity_id.value(i);
74
74
  subtypes[getEntityIndex(entityId)] = type.value(i);
@@ -85,13 +85,13 @@ export function getEntities(data, properties) {
85
85
  if (assignSubtype) {
86
86
  var chemCompType = new Map();
87
87
  if (data.chem_comp) {
88
- var _e = data.chem_comp, id = _e.id, type = _e.type;
88
+ var _d = data.chem_comp, id = _d.id, type = _d.type;
89
89
  for (var i = 0, il = data.chem_comp._rowCount; i < il; i++) {
90
90
  chemCompType.set(id.value(i), type.value(i));
91
91
  }
92
92
  }
93
93
  if (data.atom_site) {
94
- var _f = data.atom_site, label_entity_id = _f.label_entity_id, label_comp_id = _f.label_comp_id;
94
+ var _e = data.atom_site, label_entity_id = _e.label_entity_id, label_comp_id = _e.label_comp_id;
95
95
  for (var i = 0, il = data.atom_site._rowCount; i < il; i++) {
96
96
  var entityId = label_entity_id.value(i);
97
97
  if (!entityIds.has(entityId)) {
@@ -105,25 +105,28 @@ export function getEntities(data, properties) {
105
105
  // TODO how to handle coarse?
106
106
  }
107
107
  var subtypeColumn = Column.ofArray({ array: subtypes, schema: EntitySubtype });
108
- //
109
- var prdIds = new Array(entityData._rowCount);
110
- prdIds.fill('');
111
- if (data.pdbx_molecule && data.pdbx_molecule.prd_id.isDefined) {
112
- var _g = data.pdbx_molecule, asym_id = _g.asym_id, prd_id = _g.prd_id, _rowCount = _g._rowCount;
113
- for (var i = 0; i < _rowCount; ++i) {
114
- var asymId = asym_id.value(i);
115
- var entityId = (_a = properties.structAsymMap.get(asymId)) === null || _a === void 0 ? void 0 : _a.entity_id;
116
- if (entityId !== undefined) {
117
- prdIds[getEntityIndex(entityId)] = prd_id.value(i);
118
- }
119
- }
120
- }
121
- var prdIdColumn = Column.ofArray({ array: prdIds, schema: Column.Schema.str });
122
108
  return {
123
109
  data: entityData,
124
110
  subtype: subtypeColumn,
125
- prd_id: prdIdColumn,
126
111
  getEntityIndex: getEntityIndex
127
112
  };
128
113
  }
114
+ export function getEntitiesWithPRD(data, entities, structAsymMap) {
115
+ var _a;
116
+ if (!data.pdbx_molecule || !data.pdbx_molecule.prd_id.isDefined) {
117
+ return entities;
118
+ }
119
+ var prdIds = new Array(entities.data._rowCount);
120
+ prdIds.fill('');
121
+ var _b = data.pdbx_molecule, asym_id = _b.asym_id, prd_id = _b.prd_id, _rowCount = _b._rowCount;
122
+ for (var i = 0; i < _rowCount; ++i) {
123
+ var asymId = asym_id.value(i);
124
+ var entityId = (_a = structAsymMap.get(asymId)) === null || _a === void 0 ? void 0 : _a.entity_id;
125
+ if (entityId !== undefined) {
126
+ prdIds[entities.getEntityIndex(entityId)] = prd_id.value(i);
127
+ }
128
+ }
129
+ var prdIdColumn = Column.ofArray({ array: prdIds, schema: Column.Schema.str });
130
+ return __assign(__assign({}, entities), { prd_id: prdIdColumn });
131
+ }
129
132
  //# sourceMappingURL=entities.js.map
@@ -14,8 +14,8 @@ import { getCoarse, EmptyCoarse } from './coarse';
14
14
  import { getSequence } from './sequence';
15
15
  import { sortAtomSite } from './sort';
16
16
  import { getAtomicRanges } from '../../../mol-model/structure/model/properties/utils/atomic-ranges';
17
- import { getProperties } from './properties';
18
- import { getEntities } from './entities';
17
+ import { getChemicalComponentMap, getMissingResidues, getSaccharideComponentMap, getStructAsymMap } from './properties';
18
+ import { getEntitiesWithPRD, getEntityData } from './entities';
19
19
  import { getModelGroupName } from './util';
20
20
  import { ArrayTrajectory } from '../../../mol-model/structure/trajectory';
21
21
  export function createModels(data, format, ctx) {
@@ -24,7 +24,7 @@ export function createModels(data, format, ctx) {
24
24
  return __generator(this, function (_b) {
25
25
  switch (_b.label) {
26
26
  case 0:
27
- properties = getProperties(data);
27
+ properties = getCommonProperties(data, format);
28
28
  if (!(data.ihm_model_list._rowCount > 0)) return [3 /*break*/, 2];
29
29
  return [4 /*yield*/, readIntegrative(ctx, data, properties, format)];
30
30
  case 1:
@@ -44,6 +44,13 @@ export function createModels(data, format, ctx) {
44
44
  });
45
45
  });
46
46
  }
47
+ function getCommonProperties(data, format) {
48
+ return {
49
+ missingResidues: getMissingResidues(data),
50
+ chemicalComponentMap: getChemicalComponentMap(data),
51
+ saccharideComponentMap: getSaccharideComponentMap(data)
52
+ };
53
+ }
47
54
  /** Standard atomic model */
48
55
  function createStandardModel(data, atom_site, sourceIndex, entities, properties, format, previous) {
49
56
  var atomic = getAtomicHierarchyAndConformation(atom_site, sourceIndex, entities, properties.chemicalComponentMap, format, previous);
@@ -54,6 +61,7 @@ function createStandardModel(data, atom_site, sourceIndex, entities, properties,
54
61
  var coarse = EmptyCoarse;
55
62
  var sequence = getSequence(data, entities, atomic.hierarchy, coarse.hierarchy);
56
63
  var atomicRanges = getAtomicRanges(atomic.hierarchy, entities, atomic.conformation, sequence);
64
+ var structAsymMap = getStructAsymMap(atomic.hierarchy);
57
65
  var entry = data.entry.id.valueKind(0) === 0 /* Present */
58
66
  ? data.entry.id.value(0) : format.name;
59
67
  var label = [];
@@ -69,7 +77,7 @@ function createStandardModel(data, atom_site, sourceIndex, entities, properties,
69
77
  sourceData: format,
70
78
  modelNum: modelNum,
71
79
  parent: undefined,
72
- entities: entities,
80
+ entities: getEntitiesWithPRD(data, entities, structAsymMap),
73
81
  sequence: sequence,
74
82
  atomicHierarchy: atomic.hierarchy,
75
83
  atomicConformation: atomic.conformation,
@@ -77,7 +85,7 @@ function createStandardModel(data, atom_site, sourceIndex, entities, properties,
77
85
  atomicChainOperatorMappinng: atomic.chainOperatorMapping,
78
86
  coarseHierarchy: coarse.hierarchy,
79
87
  coarseConformation: coarse.conformation,
80
- properties: properties,
88
+ properties: __assign(__assign({}, properties), { structAsymMap: structAsymMap }),
81
89
  customProperties: new CustomProperties(),
82
90
  _staticPropertyData: Object.create(null),
83
91
  _dynamicPropertyData: Object.create(null)
@@ -86,7 +94,7 @@ function createStandardModel(data, atom_site, sourceIndex, entities, properties,
86
94
  /** Integrative model with atomic/coarse parts */
87
95
  function createIntegrativeModel(data, ihm, properties, format) {
88
96
  var atomic = getAtomicHierarchyAndConformation(ihm.atom_site, ihm.atom_site_sourceIndex, ihm.entities, properties.chemicalComponentMap, format);
89
- var coarse = getCoarse(ihm, properties);
97
+ var coarse = getCoarse(ihm, properties.chemicalComponentMap);
90
98
  var sequence = getSequence(data, ihm.entities, atomic.hierarchy, coarse.hierarchy);
91
99
  var atomicRanges = getAtomicRanges(atomic.hierarchy, ihm.entities, atomic.conformation, sequence);
92
100
  var entry = data.entry.id.valueKind(0) === 0 /* Present */
@@ -100,6 +108,7 @@ function createIntegrativeModel(data, ihm, properties, format) {
100
108
  label.push(ihm.model_name);
101
109
  if (ihm.model_group_name)
102
110
  label.push(ihm.model_group_name);
111
+ var structAsymMap = getStructAsymMap(atomic.hierarchy, data);
103
112
  return {
104
113
  id: UUID.create22(),
105
114
  entryId: entry,
@@ -108,7 +117,7 @@ function createIntegrativeModel(data, ihm, properties, format) {
108
117
  sourceData: format,
109
118
  modelNum: ihm.model_id,
110
119
  parent: undefined,
111
- entities: ihm.entities,
120
+ entities: getEntitiesWithPRD(data, ihm.entities, structAsymMap),
112
121
  sequence: sequence,
113
122
  atomicHierarchy: atomic.hierarchy,
114
123
  atomicConformation: atomic.conformation,
@@ -116,7 +125,7 @@ function createIntegrativeModel(data, ihm, properties, format) {
116
125
  atomicChainOperatorMappinng: atomic.chainOperatorMapping,
117
126
  coarseHierarchy: coarse.hierarchy,
118
127
  coarseConformation: coarse.conformation,
119
- properties: properties,
128
+ properties: __assign(__assign({}, properties), { structAsymMap: structAsymMap }),
120
129
  customProperties: new CustomProperties(),
121
130
  _staticPropertyData: Object.create(null),
122
131
  _dynamicPropertyData: Object.create(null)
@@ -140,7 +149,7 @@ function readStandard(ctx, data, properties, format) {
140
149
  models = [];
141
150
  if (!data.atom_site) return [3 /*break*/, 3];
142
151
  atomCount = data.atom_site.id.rowCount;
143
- entities = getEntities(data, properties);
152
+ entities = getEntityData(data);
144
153
  modelStart = 0;
145
154
  _b.label = 1;
146
155
  case 1:
@@ -180,7 +189,7 @@ function readIntegrative(ctx, data, properties, format) {
180
189
  return __generator(this, function (_c) {
181
190
  switch (_c.label) {
182
191
  case 0:
183
- entities = getEntities(data, properties);
192
+ entities = getEntityData(data);
184
193
  atom_sites_modelColumn = data.atom_site.ihm_model_id.isDefined
185
194
  ? data.atom_site.ihm_model_id : data.atom_site.pdbx_PDB_model_num;
186
195
  atom_sites = splitTable(data.atom_site, atom_sites_modelColumn);
@@ -5,5 +5,10 @@
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  */
7
7
  import { Model } from '../../../mol-model/structure/model/model';
8
+ import { AtomicHierarchy } from '../../../mol-model/structure/model/properties/atomic';
9
+ import { SaccharideComponentMap } from '../../../mol-model/structure/structure/carbohydrates/constants';
8
10
  import { BasicData } from './schema';
9
- export declare function getProperties(data: BasicData): Model['properties'];
11
+ export declare function getMissingResidues(data: BasicData): Model['properties']['missingResidues'];
12
+ export declare function getChemicalComponentMap(data: BasicData): Model['properties']['chemicalComponentMap'];
13
+ export declare function getSaccharideComponentMap(data: BasicData): SaccharideComponentMap;
14
+ export declare function getStructAsymMap(atomic: AtomicHierarchy, data?: BasicData): Model['properties']['structAsymMap'];
@@ -4,11 +4,11 @@
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  */
7
- import { getMoleculeType, getDefaultChemicalComponent } from '../../../mol-model/structure/model/types';
8
- import { SaccharidesSnfgMap, SaccharideCompIdMap, UnknownSaccharideComponent } from '../../../mol-model/structure/structure/carbohydrates/constants';
9
- import { memoize1 } from '../../../mol-util/memoize';
10
7
  import { Table } from '../../../mol-data/db';
11
- function getMissingResidues(data) {
8
+ import { getDefaultChemicalComponent, getMoleculeType } from '../../../mol-model/structure/model/types';
9
+ import { SaccharideCompIdMap, SaccharidesSnfgMap, UnknownSaccharideComponent } from '../../../mol-model/structure/structure/carbohydrates/constants';
10
+ import { memoize1 } from '../../../mol-util/memoize';
11
+ export function getMissingResidues(data) {
12
12
  var map = new Map();
13
13
  var getKey = function (model_num, asym_id, seq_id) {
14
14
  return "".concat(model_num, "|").concat(asym_id, "|").concat(seq_id);
@@ -28,7 +28,7 @@ function getMissingResidues(data) {
28
28
  size: map.size
29
29
  };
30
30
  }
31
- function getChemicalComponentMap(data) {
31
+ export function getChemicalComponentMap(data) {
32
32
  var map = new Map();
33
33
  if (data.chem_comp._rowCount > 0) {
34
34
  var id = data.chem_comp.id;
@@ -44,7 +44,7 @@ function getChemicalComponentMap(data) {
44
44
  }
45
45
  return map;
46
46
  }
47
- function getSaccharideComponentMap(data) {
47
+ export function getSaccharideComponentMap(data) {
48
48
  var map = new Map();
49
49
  if (data.pdbx_chem_comp_identifier._rowCount > 0) {
50
50
  // note that `pdbx_chem_comp_identifier` does not contain
@@ -99,20 +99,15 @@ var getUniqueComponentNames = memoize1(function (data) {
99
99
  }
100
100
  return uniqueNames;
101
101
  });
102
- function getStructAsymMap(data) {
102
+ export function getStructAsymMap(atomic, data) {
103
103
  var map = new Map();
104
- var _a = data.atom_site, label_asym_id = _a.label_asym_id, auth_asym_id = _a.auth_asym_id, label_entity_id = _a.label_entity_id;
105
- for (var i = 0, il = label_asym_id.rowCount; i < il; ++i) {
104
+ var _a = atomic.chains, auth_asym_id = _a.auth_asym_id, label_asym_id = _a.label_asym_id, label_entity_id = _a.label_entity_id;
105
+ for (var i = 0, _i = atomic.chains._rowCount; i < _i; i++) {
106
106
  var id = label_asym_id.value(i);
107
- if (!map.has(id)) {
108
- map.set(id, {
109
- id: id,
110
- auth_id: auth_asym_id.value(i),
111
- entity_id: label_entity_id.value(i)
112
- });
113
- }
107
+ map.set(id, { id: id, auth_id: auth_asym_id.value(i), entity_id: label_entity_id.value(i) });
114
108
  }
115
- if (data.struct_asym._rowCount > 0) {
109
+ // to get asym mapping for coarse/ihm data
110
+ if (data === null || data === void 0 ? void 0 : data.struct_asym._rowCount) {
116
111
  var _b = data.struct_asym, id = _b.id, entity_id = _b.entity_id;
117
112
  for (var i = 0, il = id.rowCount; i < il; ++i) {
118
113
  var _id = id.value(i);
@@ -127,12 +122,4 @@ function getStructAsymMap(data) {
127
122
  }
128
123
  return map;
129
124
  }
130
- export function getProperties(data) {
131
- return {
132
- missingResidues: getMissingResidues(data),
133
- chemicalComponentMap: getChemicalComponentMap(data),
134
- saccharideComponentMap: getSaccharideComponentMap(data),
135
- structAsymMap: getStructAsymMap(data)
136
- };
137
- }
138
125
  //# sourceMappingURL=properties.js.map
@@ -1,8 +1,9 @@
1
1
  /**
2
- * Copyright (c) 2019-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-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>
6
+ * @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
6
7
  */
7
8
  import { MolFile } from '../../mol-io/reader/mol/parser';
8
9
  import { RuntimeContext, Task } from '../../mol-task';
@@ -1,11 +1,13 @@
1
1
  /**
2
- * Copyright (c) 2019-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-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>
6
+ * @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
6
7
  */
7
8
  import { __awaiter, __generator } from "tslib";
8
9
  import { Column, Table } from '../../mol-data/db';
10
+ import { formalChargeMapper } from '../../mol-io/reader/mol/parser';
9
11
  import { Task } from '../../mol-task';
10
12
  import { createModels } from './basic/parser';
11
13
  import { BasicSchema, createBasic } from './basic/schema';
@@ -14,15 +16,26 @@ import { EntityBuilder } from './common/entity';
14
16
  import { IndexPairBonds } from './property/bonds/index-pair';
15
17
  export function getMolModels(mol, format, ctx) {
16
18
  return __awaiter(this, void 0, void 0, function () {
17
- var atoms, bonds, MOL, A, type_symbol, seq_id, atom_site, entityBuilder, componentBuilder, basics, models, indexA, indexB, order, pairBonds;
19
+ var atoms, bonds, formalCharges, MOL, A, type_symbol, seq_id, computedFormalCharges, i, i, atom_site, entityBuilder, componentBuilder, basics, models, indexA, indexB, order, pairBonds;
18
20
  return __generator(this, function (_a) {
19
21
  switch (_a.label) {
20
22
  case 0:
21
- atoms = mol.atoms, bonds = mol.bonds;
23
+ atoms = mol.atoms, bonds = mol.bonds, formalCharges = mol.formalCharges;
22
24
  MOL = Column.ofConst('MOL', mol.atoms.count, Column.Schema.str);
23
25
  A = Column.ofConst('A', mol.atoms.count, Column.Schema.str);
24
26
  type_symbol = Column.asArrayColumn(atoms.type_symbol);
25
27
  seq_id = Column.ofConst(1, atoms.count, Column.Schema.int);
28
+ computedFormalCharges = new Int32Array(mol.atoms.count);
29
+ if (formalCharges.atomIdx.rowCount > 0) {
30
+ for (i = 0; i < formalCharges.atomIdx.rowCount; i++) {
31
+ computedFormalCharges[formalCharges.atomIdx.value(i) - 1] = formalCharges.charge.value(i);
32
+ }
33
+ }
34
+ else {
35
+ for (i = 0; i < mol.atoms.count; i++) {
36
+ computedFormalCharges[i] = formalChargeMapper(atoms.formal_charge.value(i));
37
+ }
38
+ }
26
39
  atom_site = Table.ofPartialColumns(BasicSchema.atom_site, {
27
40
  auth_asym_id: A,
28
41
  auth_atom_id: type_symbol,
@@ -40,6 +53,7 @@ export function getMolModels(mol, format, ctx) {
40
53
  occupancy: Column.ofConst(1, atoms.count, Column.Schema.float),
41
54
  type_symbol: type_symbol,
42
55
  pdbx_PDB_model_num: Column.ofConst(1, atoms.count, Column.Schema.int),
56
+ pdbx_formal_charge: Column.ofIntArray(computedFormalCharges)
43
57
  }, atoms.count);
44
58
  entityBuilder = new EntityBuilder();
45
59
  entityBuilder.setNames([['MOL', 'Unknown Entity']]);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2020 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 Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2020 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 Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
@@ -14,9 +14,12 @@ import { IndexPairBonds } from './property/bonds/index-pair';
14
14
  import { AtomPartialCharge } from './property/partial-charge';
15
15
  import { ArrayTrajectory } from '../../mol-model/structure';
16
16
  import { guessElementSymbolString } from './util';
17
+ import { ModelSymmetry } from './property/symmetry';
18
+ import { Spacegroup, SpacegroupCell } from '../../mol-math/geometry';
19
+ import { Vec3 } from '../../mol-math/linear-algebra';
17
20
  function getModels(mol2, ctx) {
18
21
  return __awaiter(this, void 0, void 0, function () {
19
- var models, i, il, _a, atoms, bonds, molecule, A, type_symbol, i_1, atom_site, entityBuilder, componentBuilder, i_2, il_1, basics, _models, indexA, indexB, order, flag, pairBonds, first;
22
+ var models, i, il, _a, molecule, atoms, bonds, crysin, A, type_symbol, hasAtomType, i_1, i_2, atom_site, entityBuilder, componentBuilder, i_3, il_1, basics, _models, indexA, indexB, key, order, flag, pairBonds, first, symmetry;
20
23
  return __generator(this, function (_b) {
21
24
  switch (_b.label) {
22
25
  case 0:
@@ -25,11 +28,20 @@ function getModels(mol2, ctx) {
25
28
  _b.label = 1;
26
29
  case 1:
27
30
  if (!(i < il)) return [3 /*break*/, 4];
28
- _a = mol2.structures[i], atoms = _a.atoms, bonds = _a.bonds, molecule = _a.molecule;
31
+ _a = mol2.structures[i], molecule = _a.molecule, atoms = _a.atoms, bonds = _a.bonds, crysin = _a.crysin;
29
32
  A = Column.ofConst('A', atoms.count, Column.Schema.str);
30
33
  type_symbol = new Array(atoms.count);
34
+ hasAtomType = false;
31
35
  for (i_1 = 0; i_1 < atoms.count; ++i_1) {
32
- type_symbol[i_1] = guessElementSymbolString(atoms.atom_name.value(i_1));
36
+ if (atoms.atom_type.value(i_1).includes('.')) {
37
+ hasAtomType = true;
38
+ break;
39
+ }
40
+ }
41
+ for (i_2 = 0; i_2 < atoms.count; ++i_2) {
42
+ type_symbol[i_2] = hasAtomType
43
+ ? atoms.atom_type.value(i_2).split('.')[0].toUpperCase()
44
+ : guessElementSymbolString(atoms.atom_name.value(i_2));
33
45
  }
34
46
  atom_site = Table.ofPartialColumns(BasicSchema.atom_site, {
35
47
  auth_asym_id: A,
@@ -53,8 +65,8 @@ function getModels(mol2, ctx) {
53
65
  entityBuilder.setNames([['MOL', molecule.mol_name || 'Unknown Entity']]);
54
66
  entityBuilder.getEntityId('MOL', 0 /* Unknown */, 'A');
55
67
  componentBuilder = new ComponentBuilder(atoms.subst_id, atoms.atom_name);
56
- for (i_2 = 0, il_1 = atoms.subst_name.rowCount; i_2 < il_1; ++i_2) {
57
- componentBuilder.add(atoms.subst_name.value(i_2), i_2);
68
+ for (i_3 = 0, il_1 = atoms.subst_name.rowCount; i_3 < il_1; ++i_3) {
69
+ componentBuilder.add(atoms.subst_name.value(i_3), i_3);
58
70
  }
59
71
  basics = createBasic({
60
72
  entity: entityBuilder.getEntityTable(),
@@ -67,6 +79,7 @@ function getModels(mol2, ctx) {
67
79
  if (_models.frameCount > 0) {
68
80
  indexA = Column.ofIntArray(Column.mapToArray(bonds.origin_atom_id, function (x) { return x - 1; }, Int32Array));
69
81
  indexB = Column.ofIntArray(Column.mapToArray(bonds.target_atom_id, function (x) { return x - 1; }, Int32Array));
82
+ key = bonds.bond_id;
70
83
  order = Column.ofIntArray(Column.mapToArray(bonds.bond_type, function (x) {
71
84
  switch (x) {
72
85
  case 'ar': // aromatic
@@ -93,13 +106,18 @@ function getModels(mol2, ctx) {
93
106
  return 1 /* Covalent */;
94
107
  }
95
108
  }, Int8Array));
96
- pairBonds = IndexPairBonds.fromData({ pairs: { indexA: indexA, indexB: indexB, order: order, flag: flag }, count: atoms.count });
109
+ pairBonds = IndexPairBonds.fromData({ pairs: { key: key, indexA: indexA, indexB: indexB, order: order, flag: flag }, count: atoms.count });
97
110
  first = _models.representative;
98
111
  IndexPairBonds.Provider.set(first, pairBonds);
99
112
  AtomPartialCharge.Provider.set(first, {
100
113
  data: atoms.charge,
101
114
  type: molecule.charge_type
102
115
  });
116
+ if (crysin) {
117
+ symmetry = getSymmetry(crysin);
118
+ if (symmetry)
119
+ ModelSymmetry.Provider.set(first, symmetry);
120
+ }
103
121
  models.push(first);
104
122
  }
105
123
  _b.label = 3;
@@ -111,6 +129,18 @@ function getModels(mol2, ctx) {
111
129
  });
112
130
  });
113
131
  }
132
+ function getSymmetry(crysin) {
133
+ // TODO handle `crysin.setting`
134
+ if (crysin.setting !== 1)
135
+ return;
136
+ var spaceCell = SpacegroupCell.create(crysin.spaceGroup, Vec3.create(crysin.a, crysin.b, crysin.c), Vec3.scale(Vec3(), Vec3.create(crysin.alpha, crysin.beta, crysin.gamma), Math.PI / 180));
137
+ return {
138
+ spacegroup: Spacegroup.create(spaceCell),
139
+ assemblies: [],
140
+ isNonStandardCrystalFrame: false,
141
+ ncsOperators: []
142
+ };
143
+ }
114
144
  //
115
145
  export { Mol2Format };
116
146
  var Mol2Format;