molstar 3.3.1 → 3.4.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 (777) hide show
  1. package/README.md +3 -0
  2. package/build/viewer/molstar.js +1 -1
  3. package/lib/apps/docking-viewer/viewport.js +1 -1
  4. package/lib/apps/viewer/app.d.ts +7 -6
  5. package/lib/apps/viewer/app.js +2 -0
  6. package/lib/cli/chem-comp-dict/create-saccharides.d.ts +7 -0
  7. package/lib/cli/chem-comp-dict/create-saccharides.js +67 -0
  8. package/lib/commonjs/apps/docking-viewer/index.js +12 -12
  9. package/lib/commonjs/apps/docking-viewer/viewport.js +33 -33
  10. package/lib/commonjs/apps/viewer/app.d.ts +7 -6
  11. package/lib/commonjs/apps/viewer/app.js +24 -22
  12. package/lib/commonjs/apps/viewer/index.js +1 -1
  13. package/lib/commonjs/cli/chem-comp-dict/create-ions.js +6 -6
  14. package/lib/commonjs/cli/chem-comp-dict/create-saccharides.d.ts +7 -0
  15. package/lib/commonjs/cli/chem-comp-dict/create-saccharides.js +69 -0
  16. package/lib/commonjs/cli/chem-comp-dict/create-table.js +8 -8
  17. package/lib/commonjs/cli/chem-comp-dict/util.js +17 -17
  18. package/lib/commonjs/cli/cif2bcif/converter.js +9 -9
  19. package/lib/commonjs/cli/cif2bcif/index.js +8 -8
  20. package/lib/commonjs/cli/cifschema/index.js +27 -27
  21. package/lib/commonjs/cli/cifschema/util/cif-dic.js +1 -1
  22. package/lib/commonjs/cli/lipid-params/index.js +9 -9
  23. package/lib/commonjs/cli/state-docs/index.js +2 -2
  24. package/lib/commonjs/cli/structure-info/helpers.js +11 -11
  25. package/lib/commonjs/cli/structure-info/model.js +15 -15
  26. package/lib/commonjs/cli/structure-info/volume.js +9 -9
  27. package/lib/commonjs/examples/alpha-orbitals/controls.js +3 -3
  28. package/lib/commonjs/examples/alpha-orbitals/index.js +11 -11
  29. package/lib/commonjs/examples/basic-wrapper/controls.js +2 -2
  30. package/lib/commonjs/examples/basic-wrapper/index.js +22 -22
  31. package/lib/commonjs/examples/basic-wrapper/superposition.js +8 -8
  32. package/lib/commonjs/examples/domain-annotation-server/mapping.js +3 -3
  33. package/lib/commonjs/examples/domain-annotation-server/server.js +6 -6
  34. package/lib/commonjs/examples/domain-annotation-server/test.js +3 -3
  35. package/lib/commonjs/examples/lighting/index.js +6 -6
  36. package/lib/commonjs/examples/proteopedia-wrapper/annotation.js +2 -2
  37. package/lib/commonjs/examples/proteopedia-wrapper/helpers.js +4 -4
  38. package/lib/commonjs/examples/proteopedia-wrapper/index.js +26 -26
  39. package/lib/commonjs/examples/proteopedia-wrapper/ui/controls.js +2 -2
  40. package/lib/commonjs/examples/task.js +15 -15
  41. package/lib/commonjs/extensions/alpha-orbitals/collocation.js +2 -2
  42. package/lib/commonjs/extensions/alpha-orbitals/data-model.js +1 -1
  43. package/lib/commonjs/extensions/alpha-orbitals/density.js +2 -2
  44. package/lib/commonjs/extensions/alpha-orbitals/gpu/compute.js +2 -2
  45. package/lib/commonjs/extensions/alpha-orbitals/orbitals.js +2 -2
  46. package/lib/commonjs/extensions/alpha-orbitals/transforms.js +13 -13
  47. package/lib/commonjs/extensions/anvil/algorithm.js +13 -13
  48. package/lib/commonjs/extensions/anvil/behavior.js +14 -14
  49. package/lib/commonjs/extensions/anvil/prop.js +7 -7
  50. package/lib/commonjs/extensions/anvil/representation.js +5 -5
  51. package/lib/commonjs/extensions/cellpack/index.js +1 -1
  52. package/lib/commonjs/extensions/cellpack/model.js +26 -24
  53. package/lib/commonjs/extensions/cellpack/preset.js +6 -6
  54. package/lib/commonjs/extensions/cellpack/property.js +3 -3
  55. package/lib/commonjs/extensions/cellpack/representation.js +2 -2
  56. package/lib/commonjs/extensions/cellpack/state.js +13 -13
  57. package/lib/commonjs/extensions/cellpack/util.js +14 -14
  58. package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.js +7 -7
  59. package/lib/commonjs/extensions/dnatco/confal-pyramids/property.js +5 -5
  60. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.js +2 -2
  61. package/lib/commonjs/extensions/dnatco/confal-pyramids/util.js +1 -1
  62. package/lib/commonjs/extensions/g3d/data.js +6 -6
  63. package/lib/commonjs/extensions/g3d/format.js +14 -14
  64. package/lib/commonjs/extensions/g3d/model.js +4 -4
  65. package/lib/commonjs/extensions/geo-export/controls.js +3 -3
  66. package/lib/commonjs/extensions/geo-export/glb-exporter.js +9 -9
  67. package/lib/commonjs/extensions/geo-export/index.js +1 -1
  68. package/lib/commonjs/extensions/geo-export/mesh-exporter.js +12 -12
  69. package/lib/commonjs/extensions/geo-export/obj-exporter.js +7 -7
  70. package/lib/commonjs/extensions/geo-export/stl-exporter.js +7 -7
  71. package/lib/commonjs/extensions/geo-export/ui.js +7 -7
  72. package/lib/commonjs/extensions/geo-export/usdz-exporter.js +9 -9
  73. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.js +9 -9
  74. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +4 -4
  75. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +4 -4
  76. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.js +5 -5
  77. package/lib/commonjs/extensions/model-export/export.js +4 -4
  78. package/lib/commonjs/extensions/model-export/index.js +1 -1
  79. package/lib/commonjs/extensions/model-export/ui.js +5 -5
  80. package/lib/commonjs/extensions/mp4-export/controls.js +5 -5
  81. package/lib/commonjs/extensions/mp4-export/encoder.js +4 -4
  82. package/lib/commonjs/extensions/mp4-export/index.js +1 -1
  83. package/lib/commonjs/extensions/mp4-export/ui.js +5 -5
  84. package/lib/commonjs/extensions/pdbe/preferred-assembly.js +2 -2
  85. package/lib/commonjs/extensions/pdbe/struct-ref-domain.js +2 -2
  86. package/lib/commonjs/extensions/pdbe/structure-quality-report/behavior.js +1 -1
  87. package/lib/commonjs/extensions/pdbe/structure-quality-report/prop.js +8 -8
  88. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.js +17 -17
  89. package/lib/commonjs/extensions/rcsb/assembly-symmetry/color.js +2 -2
  90. package/lib/commonjs/extensions/rcsb/assembly-symmetry/prop.js +9 -9
  91. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.js +6 -6
  92. package/lib/commonjs/extensions/rcsb/assembly-symmetry/ui.js +9 -9
  93. package/lib/commonjs/extensions/rcsb/validation-report/behavior.js +17 -17
  94. package/lib/commonjs/extensions/rcsb/validation-report/prop.js +15 -15
  95. package/lib/commonjs/extensions/rcsb/validation-report/representation.js +3 -3
  96. package/lib/commonjs/extensions/zenodo/index.d.ts +7 -0
  97. package/lib/commonjs/extensions/zenodo/index.js +35 -0
  98. package/lib/commonjs/extensions/zenodo/ui.d.ts +61 -0
  99. package/lib/commonjs/extensions/zenodo/ui.js +306 -0
  100. package/lib/commonjs/mol-canvas3d/camera/stereo.js +1 -1
  101. package/lib/commonjs/mol-canvas3d/camera/util.js +1 -1
  102. package/lib/commonjs/mol-canvas3d/camera.js +2 -1
  103. package/lib/commonjs/mol-canvas3d/canvas3d.js +14 -14
  104. package/lib/commonjs/mol-canvas3d/controls/trackball.js +1 -1
  105. package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +1 -1
  106. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +5 -5
  107. package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +5 -5
  108. package/lib/commonjs/mol-canvas3d/helper/helper.js +1 -1
  109. package/lib/commonjs/mol-canvas3d/helper/interaction-events.js +2 -2
  110. package/lib/commonjs/mol-canvas3d/passes/draw.js +3 -3
  111. package/lib/commonjs/mol-canvas3d/passes/fxaa.js +3 -3
  112. package/lib/commonjs/mol-canvas3d/passes/image.js +1 -1
  113. package/lib/commonjs/mol-canvas3d/passes/marking.js +6 -6
  114. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +3 -3
  115. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +12 -12
  116. package/lib/commonjs/mol-canvas3d/passes/smaa.js +9 -9
  117. package/lib/commonjs/mol-canvas3d/passes/wboit.js +3 -3
  118. package/lib/commonjs/mol-canvas3d/util.js +2 -2
  119. package/lib/commonjs/mol-data/db/column.js +2 -2
  120. package/lib/commonjs/mol-data/db/table.js +1 -1
  121. package/lib/commonjs/mol-data/db.js +1 -1
  122. package/lib/commonjs/mol-data/generic.js +3 -3
  123. package/lib/commonjs/mol-data/index.js +4 -4
  124. package/lib/commonjs/mol-data/int/interval.js +1 -1
  125. package/lib/commonjs/mol-data/int/ordered-set.js +1 -1
  126. package/lib/commonjs/mol-data/int/segmentation.js +1 -1
  127. package/lib/commonjs/mol-data/int/sorted-array.js +1 -1
  128. package/lib/commonjs/mol-data/util.js +7 -7
  129. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +3 -3
  130. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +3 -3
  131. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +1 -1
  132. package/lib/commonjs/mol-geo/geometry/image/image.js +3 -3
  133. package/lib/commonjs/mol-geo/geometry/lines/lines.js +3 -3
  134. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +3 -3
  135. package/lib/commonjs/mol-geo/geometry/points/points.js +3 -3
  136. package/lib/commonjs/mol-geo/geometry/size-data.js +1 -1
  137. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +3 -3
  138. package/lib/commonjs/mol-geo/geometry/text/font-atlas.js +1 -1
  139. package/lib/commonjs/mol-geo/geometry/text/text-builder.js +3 -2
  140. package/lib/commonjs/mol-geo/geometry/text/text.js +3 -3
  141. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +4 -4
  142. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +3 -3
  143. package/lib/commonjs/mol-geo/primitive/circle.js +1 -1
  144. package/lib/commonjs/mol-geo/primitive/cylinder.js +1 -1
  145. package/lib/commonjs/mol-geo/primitive/polyhedron.js +1 -1
  146. package/lib/commonjs/mol-geo/primitive/prism.js +1 -1
  147. package/lib/commonjs/mol-geo/primitive/star.js +1 -1
  148. package/lib/commonjs/mol-geo/primitive/torus.js +1 -1
  149. package/lib/commonjs/mol-geo/util/marching-cubes/algorithm.js +9 -9
  150. package/lib/commonjs/mol-gl/compute/grid3d.js +5 -5
  151. package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.js +3 -3
  152. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +3 -3
  153. package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.js +3 -3
  154. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +3 -3
  155. package/lib/commonjs/mol-gl/compute/util.js +3 -3
  156. package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -3
  157. package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
  158. package/lib/commonjs/mol-gl/renderable/image.js +3 -3
  159. package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
  160. package/lib/commonjs/mol-gl/renderable/mesh.js +3 -3
  161. package/lib/commonjs/mol-gl/renderable/points.js +3 -3
  162. package/lib/commonjs/mol-gl/renderable/schema.js +1 -1
  163. package/lib/commonjs/mol-gl/renderable/spheres.js +3 -3
  164. package/lib/commonjs/mol-gl/renderable/text.js +3 -3
  165. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
  166. package/lib/commonjs/mol-gl/renderable/util.js +1 -1
  167. package/lib/commonjs/mol-gl/shader-code.js +2 -1
  168. package/lib/commonjs/mol-gl/webgl/buffer.js +4 -5
  169. package/lib/commonjs/mol-gl/webgl/context.js +3 -3
  170. package/lib/commonjs/mol-gl/webgl/render-item.js +1 -1
  171. package/lib/commonjs/mol-gl/webgl/resources.js +2 -2
  172. package/lib/commonjs/mol-io/common/binary-cif/classifier.js +7 -6
  173. package/lib/commonjs/mol-io/common/binary-cif/decoder.js +4 -3
  174. package/lib/commonjs/mol-io/common/binary-cif.js +3 -3
  175. package/lib/commonjs/mol-io/common/io-buffer.d.ts +206 -0
  176. package/lib/commonjs/mol-io/common/io-buffer.js +408 -0
  177. package/lib/commonjs/mol-io/common/netcdf/reader.d.ts +78 -0
  178. package/lib/commonjs/mol-io/common/netcdf/reader.js +459 -0
  179. package/lib/commonjs/mol-io/common/typed-array.js +2 -2
  180. package/lib/commonjs/mol-io/reader/ccp4/parser.js +8 -8
  181. package/lib/commonjs/mol-io/reader/cif/binary/parser.js +3 -3
  182. package/lib/commonjs/mol-io/reader/cif/data-model.js +1 -1
  183. package/lib/commonjs/mol-io/reader/cif/schema/mmcif-extras.js +2 -2
  184. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +1 -1
  185. package/lib/commonjs/mol-io/reader/cif/schema.js +2 -2
  186. package/lib/commonjs/mol-io/reader/cif/text/parser.js +7 -7
  187. package/lib/commonjs/mol-io/reader/cif.js +1 -1
  188. package/lib/commonjs/mol-io/reader/common/text/tokenizer.js +4 -4
  189. package/lib/commonjs/mol-io/reader/csv/data-model.js +1 -1
  190. package/lib/commonjs/mol-io/reader/csv/parser.js +7 -7
  191. package/lib/commonjs/mol-io/reader/cube/parser.js +2 -2
  192. package/lib/commonjs/mol-io/reader/dcd/parser.js +2 -2
  193. package/lib/commonjs/mol-io/reader/dsn6/parser.js +8 -8
  194. package/lib/commonjs/mol-io/reader/dx/parser.js +4 -4
  195. package/lib/commonjs/mol-io/reader/gro/parser.js +6 -6
  196. package/lib/commonjs/mol-io/reader/mol/parser.js +2 -2
  197. package/lib/commonjs/mol-io/reader/mol2/parser.js +8 -8
  198. package/lib/commonjs/mol-io/reader/nctraj/parser.d.ts +18 -0
  199. package/lib/commonjs/mol-io/reader/nctraj/parser.js +101 -0
  200. package/lib/commonjs/mol-io/reader/obj/parser.js +4 -4
  201. package/lib/commonjs/mol-io/reader/pdb/parser.js +2 -2
  202. package/lib/commonjs/mol-io/reader/ply/parser.js +4 -4
  203. package/lib/commonjs/mol-io/reader/prmtop/parser.d.ts +58 -0
  204. package/lib/commonjs/mol-io/reader/prmtop/parser.js +172 -0
  205. package/lib/commonjs/mol-io/reader/psf/parser.js +8 -8
  206. package/lib/commonjs/mol-io/reader/sdf/parser.js +2 -2
  207. package/lib/commonjs/mol-io/reader/top/parser.d.ts +37 -0
  208. package/lib/commonjs/mol-io/reader/top/parser.js +303 -0
  209. package/lib/commonjs/mol-io/reader/trr/parser.d.ts +22 -0
  210. package/lib/commonjs/mol-io/reader/trr/parser.js +146 -0
  211. package/lib/commonjs/mol-io/reader/xtc/parser.js +4 -4
  212. package/lib/commonjs/mol-io/reader/xyz/parser.js +2 -2
  213. package/lib/commonjs/mol-io/writer/cif/encoder.js +3 -2
  214. package/lib/commonjs/mol-io/writer/cif.js +1 -1
  215. package/lib/commonjs/mol-io/writer/ligand-encoder.js +1 -1
  216. package/lib/commonjs/mol-io/writer/mol/encoder.js +1 -1
  217. package/lib/commonjs/mol-io/writer/mol2/encoder.js +1 -1
  218. package/lib/commonjs/mol-math/geometry/boundary-helper.js +5 -5
  219. package/lib/commonjs/mol-math/geometry/gaussian-density/cpu.js +4 -4
  220. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +1 -1
  221. package/lib/commonjs/mol-math/geometry/gaussian-density.js +4 -4
  222. package/lib/commonjs/mol-math/geometry/molecular-surface.js +8 -8
  223. package/lib/commonjs/mol-math/geometry/primitives/sphere3d.js +1 -1
  224. package/lib/commonjs/mol-math/geometry.js +8 -8
  225. package/lib/commonjs/mol-math/graph/inter-unit-graph.js +1 -1
  226. package/lib/commonjs/mol-math/graph.js +1 -1
  227. package/lib/commonjs/mol-math/linear-algebra.js +2 -2
  228. package/lib/commonjs/mol-model/sequence/alignment/alignment.js +1 -1
  229. package/lib/commonjs/mol-model/sequence/sequence.js +2 -1
  230. package/lib/commonjs/mol-model/sequence.js +1 -1
  231. package/lib/commonjs/mol-model/shape.js +1 -1
  232. package/lib/commonjs/mol-model/structure/coordinates.js +1 -1
  233. package/lib/commonjs/mol-model/structure/export/categories/secondary-structure.js +2 -2
  234. package/lib/commonjs/mol-model/structure/model/model.js +3 -3
  235. package/lib/commonjs/mol-model/structure/model/properties/atomic.js +3 -3
  236. package/lib/commonjs/mol-model/structure/model/properties/coarse.js +2 -2
  237. package/lib/commonjs/mol-model/structure/model/types/saccharides.d.ts +8 -0
  238. package/lib/commonjs/mol-model/structure/model/types/saccharides.js +11 -0
  239. package/lib/commonjs/mol-model/structure/model.js +3 -3
  240. package/lib/commonjs/mol-model/structure/query/queries/generators.js +2 -2
  241. package/lib/commonjs/mol-model/structure/query/queries/modifiers.js +2 -2
  242. package/lib/commonjs/mol-model/structure/query.js +6 -6
  243. package/lib/commonjs/mol-model/structure/structure/carbohydrates/compute.js +1 -1
  244. package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.d.ts +1 -1
  245. package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.js +6 -9
  246. package/lib/commonjs/mol-model/structure/structure/element/element.js +5 -5
  247. package/lib/commonjs/mol-model/structure/structure/element.js +1 -1
  248. package/lib/commonjs/mol-model/structure/structure/structure.js +5 -5
  249. package/lib/commonjs/mol-model/structure/structure/symmetry.js +10 -10
  250. package/lib/commonjs/mol-model/structure/structure/unit/bonds/data.js +2 -2
  251. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +3 -3
  252. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +1 -1
  253. package/lib/commonjs/mol-model/structure/structure/unit/bonds.js +3 -3
  254. package/lib/commonjs/mol-model/structure/structure/unit.js +4 -4
  255. package/lib/commonjs/mol-model/structure/structure/util/superposition.js +1 -1
  256. package/lib/commonjs/mol-model/structure/structure.js +2 -2
  257. package/lib/commonjs/mol-model/structure/topology.js +1 -1
  258. package/lib/commonjs/mol-model/structure.js +6 -6
  259. package/lib/commonjs/mol-model/volume.js +2 -2
  260. package/lib/commonjs/mol-model-formats/shape/ply.js +7 -7
  261. package/lib/commonjs/mol-model-formats/structure/basic/atomic.d.ts +1 -1
  262. package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +2 -15
  263. package/lib/commonjs/mol-model-formats/structure/basic/coarse.js +3 -3
  264. package/lib/commonjs/mol-model-formats/structure/basic/entities.js +1 -1
  265. package/lib/commonjs/mol-model-formats/structure/basic/parser.d.ts +1 -1
  266. package/lib/commonjs/mol-model-formats/structure/basic/parser.js +10 -10
  267. package/lib/commonjs/mol-model-formats/structure/basic/schema.d.ts +2 -2
  268. package/lib/commonjs/mol-model-formats/structure/basic/schema.js +7 -2
  269. package/lib/commonjs/mol-model-formats/structure/basic/sort.js +2 -2
  270. package/lib/commonjs/mol-model-formats/structure/basic/util.d.ts +33 -2
  271. package/lib/commonjs/mol-model-formats/structure/basic/util.js +26 -2
  272. package/lib/commonjs/mol-model-formats/structure/cif-core.js +6 -6
  273. package/lib/commonjs/mol-model-formats/structure/common/component.js +5 -1
  274. package/lib/commonjs/mol-model-formats/structure/cube.js +5 -5
  275. package/lib/commonjs/mol-model-formats/structure/dcd.js +2 -2
  276. package/lib/commonjs/mol-model-formats/structure/gro.js +5 -3
  277. package/lib/commonjs/mol-model-formats/structure/mmcif.d.ts +1 -1
  278. package/lib/commonjs/mol-model-formats/structure/mmcif.js +4 -2
  279. package/lib/commonjs/mol-model-formats/structure/mol.js +5 -5
  280. package/lib/commonjs/mol-model-formats/structure/mol2.js +6 -6
  281. package/lib/commonjs/mol-model-formats/structure/nctraj.d.ts +9 -0
  282. package/lib/commonjs/mol-model-formats/structure/nctraj.js +60 -0
  283. package/lib/commonjs/mol-model-formats/structure/pdb/to-cif.js +2 -2
  284. package/lib/commonjs/mol-model-formats/structure/pdb.d.ts +1 -1
  285. package/lib/commonjs/mol-model-formats/structure/pdb.js +7 -5
  286. package/lib/commonjs/mol-model-formats/structure/prmtop.d.ts +16 -0
  287. package/lib/commonjs/mol-model-formats/structure/prmtop.js +147 -0
  288. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
  289. package/lib/commonjs/mol-model-formats/structure/property/symmetry.js +11 -1
  290. package/lib/commonjs/mol-model-formats/structure/psf.js +5 -3
  291. package/lib/commonjs/mol-model-formats/structure/top.d.ts +16 -0
  292. package/lib/commonjs/mol-model-formats/structure/top.js +189 -0
  293. package/lib/commonjs/mol-model-formats/structure/trr.d.ts +9 -0
  294. package/lib/commonjs/mol-model-formats/structure/trr.js +46 -0
  295. package/lib/commonjs/mol-model-formats/structure/util.d.ts +2 -2
  296. package/lib/commonjs/mol-model-formats/structure/util.js +19 -20
  297. package/lib/commonjs/mol-model-formats/structure/xtc.js +2 -2
  298. package/lib/commonjs/mol-model-formats/structure/xyz.js +2 -2
  299. package/lib/commonjs/mol-model-formats/volume/ccp4.js +2 -2
  300. package/lib/commonjs/mol-model-formats/volume/cube.js +2 -2
  301. package/lib/commonjs/mol-model-formats/volume/density-server.js +2 -2
  302. package/lib/commonjs/mol-model-formats/volume/dsn6.js +2 -2
  303. package/lib/commonjs/mol-model-formats/volume/dx.js +2 -2
  304. package/lib/commonjs/mol-model-props/common/custom-element-property.js +2 -2
  305. package/lib/commonjs/mol-model-props/common/custom-model-property.js +5 -5
  306. package/lib/commonjs/mol-model-props/common/custom-property.js +1 -1
  307. package/lib/commonjs/mol-model-props/common/custom-structure-property.js +6 -6
  308. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley/area.js +2 -2
  309. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +5 -5
  310. package/lib/commonjs/mol-model-props/computed/accessible-surface-area.js +4 -4
  311. package/lib/commonjs/mol-model-props/computed/chemistry/valence-model.js +3 -3
  312. package/lib/commonjs/mol-model-props/computed/helix-orientation.js +2 -2
  313. package/lib/commonjs/mol-model-props/computed/interactions/common.js +1 -1
  314. package/lib/commonjs/mol-model-props/computed/interactions/contacts.js +1 -1
  315. package/lib/commonjs/mol-model-props/computed/interactions/features.js +1 -1
  316. package/lib/commonjs/mol-model-props/computed/interactions/hydrogen-bonds.js +3 -3
  317. package/lib/commonjs/mol-model-props/computed/interactions/interactions.js +3 -3
  318. package/lib/commonjs/mol-model-props/computed/interactions.js +4 -4
  319. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +1 -1
  320. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +3 -3
  321. package/lib/commonjs/mol-model-props/computed/representations/interactions.js +1 -1
  322. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp.js +2 -2
  323. package/lib/commonjs/mol-model-props/computed/secondary-structure.js +7 -7
  324. package/lib/commonjs/mol-model-props/computed/valence-model.js +4 -4
  325. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/property.js +2 -2
  326. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.js +2 -2
  327. package/lib/commonjs/mol-model-props/sequence/sifts-mapping.js +2 -2
  328. package/lib/commonjs/mol-model-props/sequence/themes/sifts-mapping.js +3 -3
  329. package/lib/commonjs/mol-plugin/animation-loop.js +2 -2
  330. package/lib/commonjs/mol-plugin/behavior/behavior.js +5 -5
  331. package/lib/commonjs/mol-plugin/behavior/dynamic/camera.js +2 -2
  332. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/accessible-surface-area.js +1 -1
  333. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/interactions.js +1 -1
  334. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/secondary-structure.js +1 -1
  335. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/valence-model.js +1 -1
  336. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/integrative/cross-link-restraint.js +1 -1
  337. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/sequence/sifts-mapping.js +1 -1
  338. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/structure-info.js +2 -2
  339. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +3 -3
  340. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +11 -11
  341. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/behavior.js +12 -12
  342. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.js +1 -1
  343. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/transformers.js +16 -16
  344. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/util.js +10 -10
  345. package/lib/commonjs/mol-plugin/behavior/static/state.js +6 -6
  346. package/lib/commonjs/mol-plugin/behavior.js +8 -8
  347. package/lib/commonjs/mol-plugin/command.js +2 -2
  348. package/lib/commonjs/mol-plugin/context.d.ts +2 -1
  349. package/lib/commonjs/mol-plugin/context.js +9 -8
  350. package/lib/commonjs/mol-plugin/layout.js +2 -2
  351. package/lib/commonjs/mol-plugin/spec.js +1 -1
  352. package/lib/commonjs/mol-plugin/state.js +5 -5
  353. package/lib/commonjs/mol-plugin/util/task-manager.js +4 -4
  354. package/lib/commonjs/mol-plugin/util/toast.js +1 -1
  355. package/lib/commonjs/mol-plugin/util/viewport-screenshot.js +17 -17
  356. package/lib/commonjs/mol-plugin-state/actions/file.d.ts +1 -1
  357. package/lib/commonjs/mol-plugin-state/actions/file.js +94 -61
  358. package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +11 -2
  359. package/lib/commonjs/mol-plugin-state/actions/structure.js +190 -20
  360. package/lib/commonjs/mol-plugin-state/actions/volume.js +5 -4
  361. package/lib/commonjs/mol-plugin-state/actions.js +3 -3
  362. package/lib/commonjs/mol-plugin-state/animation/built-in/assembly-unwind.js +2 -2
  363. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-rock.js +3 -3
  364. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-spin.js +3 -3
  365. package/lib/commonjs/mol-plugin-state/animation/built-in/explode-units.js +4 -4
  366. package/lib/commonjs/mol-plugin-state/animation/built-in/model-index.js +2 -2
  367. package/lib/commonjs/mol-plugin-state/animation/built-in/spin-structure.js +5 -5
  368. package/lib/commonjs/mol-plugin-state/animation/built-in/state-interpolation.js +2 -2
  369. package/lib/commonjs/mol-plugin-state/animation/built-in/state-snapshots.js +5 -5
  370. package/lib/commonjs/mol-plugin-state/builder/data.js +2 -2
  371. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.js +16 -16
  372. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.js +28 -28
  373. package/lib/commonjs/mol-plugin-state/builder/structure/representation.js +2 -2
  374. package/lib/commonjs/mol-plugin-state/builder/structure.js +7 -7
  375. package/lib/commonjs/mol-plugin-state/component.js +1 -1
  376. package/lib/commonjs/mol-plugin-state/formats/{structure.d.ts → coordinates.d.ts} +34 -18
  377. package/lib/commonjs/mol-plugin-state/formats/coordinates.js +70 -0
  378. package/lib/commonjs/mol-plugin-state/formats/registry.d.ts +3 -3
  379. package/lib/commonjs/mol-plugin-state/formats/registry.js +13 -8
  380. package/lib/commonjs/mol-plugin-state/formats/shape.js +2 -2
  381. package/lib/commonjs/mol-plugin-state/formats/topology.d.ts +73 -0
  382. package/lib/commonjs/mol-plugin-state/formats/topology.js +87 -0
  383. package/lib/commonjs/mol-plugin-state/formats/trajectory.js +6 -6
  384. package/lib/commonjs/mol-plugin-state/formats/volume.js +21 -21
  385. package/lib/commonjs/mol-plugin-state/helpers/root-structure.js +14 -14
  386. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +7 -7
  387. package/lib/commonjs/mol-plugin-state/helpers/structure-component.js +2 -1
  388. package/lib/commonjs/mol-plugin-state/helpers/structure-overpaint.js +11 -11
  389. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +3 -3
  390. package/lib/commonjs/mol-plugin-state/helpers/structure-substance.js +11 -11
  391. package/lib/commonjs/mol-plugin-state/helpers/structure-transparency.js +11 -11
  392. package/lib/commonjs/mol-plugin-state/manager/animation.js +17 -17
  393. package/lib/commonjs/mol-plugin-state/manager/camera.js +1 -1
  394. package/lib/commonjs/mol-plugin-state/manager/interactivity.js +6 -6
  395. package/lib/commonjs/mol-plugin-state/manager/snapshots.js +14 -14
  396. package/lib/commonjs/mol-plugin-state/manager/structure/component.js +26 -26
  397. package/lib/commonjs/mol-plugin-state/manager/structure/focus.js +2 -2
  398. package/lib/commonjs/mol-plugin-state/manager/structure/hierarchy-state.js +1 -1
  399. package/lib/commonjs/mol-plugin-state/manager/structure/hierarchy.js +8 -8
  400. package/lib/commonjs/mol-plugin-state/manager/structure/measurement.js +21 -21
  401. package/lib/commonjs/mol-plugin-state/manager/structure/selection.js +3 -3
  402. package/lib/commonjs/mol-plugin-state/manager/volume/hierarchy.js +1 -1
  403. package/lib/commonjs/mol-plugin-state/objects.d.ts +47 -1
  404. package/lib/commonjs/mol-plugin-state/objects.js +46 -30
  405. package/lib/commonjs/mol-plugin-state/transforms/data.d.ts +6 -0
  406. package/lib/commonjs/mol-plugin-state/transforms/data.js +93 -41
  407. package/lib/commonjs/mol-plugin-state/transforms/model.d.ts +14 -2
  408. package/lib/commonjs/mol-plugin-state/transforms/model.js +163 -54
  409. package/lib/commonjs/mol-plugin-state/transforms/representation.js +77 -77
  410. package/lib/commonjs/mol-plugin-state/transforms/shape.js +2 -2
  411. package/lib/commonjs/mol-plugin-state/transforms/volume.js +16 -16
  412. package/lib/commonjs/mol-plugin-state/transforms.js +6 -6
  413. package/lib/commonjs/mol-plugin-ui/base.js +5 -5
  414. package/lib/commonjs/mol-plugin-ui/context.js +1 -1
  415. package/lib/commonjs/mol-plugin-ui/controls/action-menu.js +14 -14
  416. package/lib/commonjs/mol-plugin-ui/controls/color.js +7 -7
  417. package/lib/commonjs/mol-plugin-ui/controls/common.js +16 -16
  418. package/lib/commonjs/mol-plugin-ui/controls/icons.js +70 -70
  419. package/lib/commonjs/mol-plugin-ui/controls/legend.js +7 -7
  420. package/lib/commonjs/mol-plugin-ui/controls/line-graph/line-graph-component.js +3 -3
  421. package/lib/commonjs/mol-plugin-ui/controls/line-graph/point-component.js +2 -2
  422. package/lib/commonjs/mol-plugin-ui/controls/parameters.js +94 -94
  423. package/lib/commonjs/mol-plugin-ui/controls/screenshot.js +5 -5
  424. package/lib/commonjs/mol-plugin-ui/controls/slider.js +16 -16
  425. package/lib/commonjs/mol-plugin-ui/controls.js +16 -16
  426. package/lib/commonjs/mol-plugin-ui/custom/volume.js +16 -16
  427. package/lib/commonjs/mol-plugin-ui/index.js +4 -4
  428. package/lib/commonjs/mol-plugin-ui/left-panel.d.ts +8 -1
  429. package/lib/commonjs/mol-plugin-ui/left-panel.js +40 -19
  430. package/lib/commonjs/mol-plugin-ui/plugin.js +17 -17
  431. package/lib/commonjs/mol-plugin-ui/sequence/chain.js +1 -1
  432. package/lib/commonjs/mol-plugin-ui/sequence/element.js +1 -1
  433. package/lib/commonjs/mol-plugin-ui/sequence/hetero.js +1 -1
  434. package/lib/commonjs/mol-plugin-ui/sequence/polymer.js +1 -1
  435. package/lib/commonjs/mol-plugin-ui/sequence/sequence.js +6 -6
  436. package/lib/commonjs/mol-plugin-ui/sequence.js +9 -9
  437. package/lib/commonjs/mol-plugin-ui/spec.js +1 -1
  438. package/lib/commonjs/mol-plugin-ui/state/actions.js +2 -2
  439. package/lib/commonjs/mol-plugin-ui/state/animation.js +2 -2
  440. package/lib/commonjs/mol-plugin-ui/state/apply-action.js +1 -1
  441. package/lib/commonjs/mol-plugin-ui/state/common.js +12 -12
  442. package/lib/commonjs/mol-plugin-ui/state/snapshots.js +29 -29
  443. package/lib/commonjs/mol-plugin-ui/state/tree.js +19 -19
  444. package/lib/commonjs/mol-plugin-ui/state/update-transform.js +3 -3
  445. package/lib/commonjs/mol-plugin-ui/structure/components.js +19 -19
  446. package/lib/commonjs/mol-plugin-ui/structure/focus.js +4 -4
  447. package/lib/commonjs/mol-plugin-ui/structure/generic.js +6 -6
  448. package/lib/commonjs/mol-plugin-ui/structure/measurements.js +13 -13
  449. package/lib/commonjs/mol-plugin-ui/structure/quick-styles.js +11 -11
  450. package/lib/commonjs/mol-plugin-ui/structure/selection.js +13 -13
  451. package/lib/commonjs/mol-plugin-ui/structure/source.js +12 -12
  452. package/lib/commonjs/mol-plugin-ui/structure/superposition.js +20 -20
  453. package/lib/commonjs/mol-plugin-ui/structure/volume.js +12 -12
  454. package/lib/commonjs/mol-plugin-ui/task.js +8 -8
  455. package/lib/commonjs/mol-plugin-ui/toast.js +6 -6
  456. package/lib/commonjs/mol-plugin-ui/viewport/canvas.js +5 -5
  457. package/lib/commonjs/mol-plugin-ui/viewport/help.js +14 -14
  458. package/lib/commonjs/mol-plugin-ui/viewport/screenshot.js +8 -8
  459. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +6 -6
  460. package/lib/commonjs/mol-plugin-ui/viewport.js +7 -7
  461. package/lib/commonjs/mol-repr/representation.js +4 -4
  462. package/lib/commonjs/mol-repr/shape/loci/angle.js +9 -9
  463. package/lib/commonjs/mol-repr/shape/loci/common.js +1 -1
  464. package/lib/commonjs/mol-repr/shape/loci/dihedral.js +14 -14
  465. package/lib/commonjs/mol-repr/shape/loci/distance.js +5 -5
  466. package/lib/commonjs/mol-repr/shape/loci/label.js +3 -3
  467. package/lib/commonjs/mol-repr/shape/loci/orientation.js +4 -4
  468. package/lib/commonjs/mol-repr/shape/loci/plane.js +2 -2
  469. package/lib/commonjs/mol-repr/shape/model/unitcell.js +2 -2
  470. package/lib/commonjs/mol-repr/shape/representation.js +2 -2
  471. package/lib/commonjs/mol-repr/structure/complex-representation.js +2 -2
  472. package/lib/commonjs/mol-repr/structure/complex-visual.js +12 -12
  473. package/lib/commonjs/mol-repr/structure/params.js +8 -8
  474. package/lib/commonjs/mol-repr/structure/registry.js +1 -1
  475. package/lib/commonjs/mol-repr/structure/representation/backbone.js +1 -1
  476. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.js +1 -1
  477. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.js +1 -1
  478. package/lib/commonjs/mol-repr/structure/representation/cartoon.js +3 -3
  479. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.js +1 -1
  480. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +1 -1
  481. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +1 -1
  482. package/lib/commonjs/mol-repr/structure/representation/label.js +1 -1
  483. package/lib/commonjs/mol-repr/structure/representation/line.js +1 -1
  484. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +1 -1
  485. package/lib/commonjs/mol-repr/structure/representation/orientation.js +1 -1
  486. package/lib/commonjs/mol-repr/structure/representation/point.js +1 -1
  487. package/lib/commonjs/mol-repr/structure/representation/putty.js +1 -1
  488. package/lib/commonjs/mol-repr/structure/representation/spacefill.js +1 -1
  489. package/lib/commonjs/mol-repr/structure/representation.js +1 -1
  490. package/lib/commonjs/mol-repr/structure/units-representation.js +2 -2
  491. package/lib/commonjs/mol-repr/structure/units-visual.js +16 -16
  492. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +1 -1
  493. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +1 -1
  494. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +1 -1
  495. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +1 -1
  496. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.js +1 -1
  497. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +1 -1
  498. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
  499. package/lib/commonjs/mol-repr/structure/visual/element-cross.js +1 -1
  500. package/lib/commonjs/mol-repr/structure/visual/element-point.js +1 -1
  501. package/lib/commonjs/mol-repr/structure/visual/element-sphere.js +1 -1
  502. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.js +1 -1
  503. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +6 -6
  504. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -11
  505. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +3 -3
  506. package/lib/commonjs/mol-repr/structure/visual/label-text.js +1 -1
  507. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +3 -3
  508. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +3 -3
  509. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.js +1 -1
  510. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.js +1 -1
  511. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +1 -1
  512. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.js +1 -1
  513. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.js +1 -1
  514. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  515. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.js +1 -1
  516. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  517. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.js +1 -1
  518. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +2 -2
  519. package/lib/commonjs/mol-repr/structure/visual/util/common.js +1 -1
  520. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +13 -13
  521. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +5 -5
  522. package/lib/commonjs/mol-repr/structure/visual/util/polymer.js +4 -4
  523. package/lib/commonjs/mol-repr/util.js +1 -1
  524. package/lib/commonjs/mol-repr/volume/direct-volume.js +3 -3
  525. package/lib/commonjs/mol-repr/volume/isosurface.js +9 -9
  526. package/lib/commonjs/mol-repr/volume/registry.js +1 -1
  527. package/lib/commonjs/mol-repr/volume/representation.js +5 -5
  528. package/lib/commonjs/mol-repr/volume/slice.js +4 -4
  529. package/lib/commonjs/mol-script/language/parser.js +7 -4
  530. package/lib/commonjs/mol-script/language/symbol-table/internal.js +1 -1
  531. package/lib/commonjs/mol-script/language/symbol-table/structure-query.js +1 -1
  532. package/lib/commonjs/mol-script/runtime/query/compiler.js +1 -1
  533. package/lib/commonjs/mol-script/script/mol-script/symbols.js +1 -1
  534. package/lib/commonjs/mol-state/action.js +1 -1
  535. package/lib/commonjs/mol-state/index.js +8 -8
  536. package/lib/commonjs/mol-state/state/builder.js +2 -2
  537. package/lib/commonjs/mol-state/state/selection.js +1 -1
  538. package/lib/commonjs/mol-state/state.js +21 -21
  539. package/lib/commonjs/mol-state/transform.js +4 -4
  540. package/lib/commonjs/mol-state/transformer.js +1 -1
  541. package/lib/commonjs/mol-task/execution/observable.js +5 -5
  542. package/lib/commonjs/mol-task/task.js +3 -3
  543. package/lib/commonjs/mol-task/util/chunked.js +2 -2
  544. package/lib/commonjs/mol-task/util/multistep.js +1 -1
  545. package/lib/commonjs/mol-task/util/scheduler.d.ts +2 -2
  546. package/lib/commonjs/mol-task/util/scheduler.js +8 -8
  547. package/lib/commonjs/mol-theme/color/atom-id.js +1 -1
  548. package/lib/commonjs/mol-theme/color/chain-id.js +1 -1
  549. package/lib/commonjs/mol-theme/color/element-index.js +1 -1
  550. package/lib/commonjs/mol-theme/color/entity-id.js +1 -1
  551. package/lib/commonjs/mol-theme/color/entity-source.js +2 -2
  552. package/lib/commonjs/mol-theme/color/hydrophobicity.js +2 -2
  553. package/lib/commonjs/mol-theme/color/model-index.js +1 -1
  554. package/lib/commonjs/mol-theme/color/operator-hkl.js +2 -2
  555. package/lib/commonjs/mol-theme/color/operator-name.js +1 -1
  556. package/lib/commonjs/mol-theme/color/polymer-id.js +2 -2
  557. package/lib/commonjs/mol-theme/color/polymer-index.js +2 -2
  558. package/lib/commonjs/mol-theme/color/unit-index.js +2 -2
  559. package/lib/commonjs/mol-theme/label.js +6 -6
  560. package/lib/commonjs/mol-theme/theme.js +3 -3
  561. package/lib/commonjs/mol-util/assets.js +7 -7
  562. package/lib/commonjs/mol-util/color/distinct.js +1 -1
  563. package/lib/commonjs/mol-util/color/palette.js +3 -3
  564. package/lib/commonjs/mol-util/color/scale.js +2 -2
  565. package/lib/commonjs/mol-util/data-source.js +14 -13
  566. package/lib/commonjs/mol-util/file-info.d.ts +1 -3
  567. package/lib/commonjs/mol-util/file-info.js +2 -10
  568. package/lib/commonjs/mol-util/graphql-client.js +4 -4
  569. package/lib/commonjs/mol-util/index.d.ts +1 -0
  570. package/lib/commonjs/mol-util/index.js +8 -2
  571. package/lib/commonjs/mol-util/input/input-observer.js +6 -6
  572. package/lib/commonjs/mol-util/make-dir.js +1 -1
  573. package/lib/commonjs/mol-util/material.js +2 -2
  574. package/lib/commonjs/mol-util/monadic-parser.js +2 -2
  575. package/lib/commonjs/mol-util/param-definition.js +7 -7
  576. package/lib/commonjs/mol-util/read.js +2 -2
  577. package/lib/commonjs/mol-util/retry-if.js +2 -2
  578. package/lib/commonjs/mol-util/string.js +1 -1
  579. package/lib/commonjs/mol-util/zip/deflate.js +4 -3
  580. package/lib/commonjs/mol-util/zip/inflate.js +2 -2
  581. package/lib/commonjs/mol-util/zip/zip.d.ts +7 -1
  582. package/lib/commonjs/mol-util/zip/zip.js +21 -16
  583. package/lib/commonjs/servers/common/file-handle.js +1 -1
  584. package/lib/commonjs/servers/common/swagger-ui/index.js +1 -1
  585. package/lib/commonjs/servers/model/config.d.ts +2 -2
  586. package/lib/commonjs/servers/model/config.js +5 -5
  587. package/lib/commonjs/servers/model/preprocess/converter.js +2 -2
  588. package/lib/commonjs/servers/model/preprocess/master.js +3 -3
  589. package/lib/commonjs/servers/model/preprocess/parallel.js +6 -6
  590. package/lib/commonjs/servers/model/preprocess/preprocess.js +4 -4
  591. package/lib/commonjs/servers/model/preprocess.js +1 -1
  592. package/lib/commonjs/servers/model/properties/providers/pdbe.js +8 -8
  593. package/lib/commonjs/servers/model/properties/providers/wwpdb.js +12 -12
  594. package/lib/commonjs/servers/model/property-provider.js +3 -3
  595. package/lib/commonjs/servers/model/query.js +1 -1
  596. package/lib/commonjs/servers/model/server/api-local.js +2 -2
  597. package/lib/commonjs/servers/model/server/api-schema.js +2 -2
  598. package/lib/commonjs/servers/model/server/api-web.js +5 -5
  599. package/lib/commonjs/servers/model/server/api.js +6 -6
  600. package/lib/commonjs/servers/model/server/query.js +15 -15
  601. package/lib/commonjs/servers/model/server/structure-wrapper.js +21 -21
  602. package/lib/commonjs/servers/model/server.js +2 -2
  603. package/lib/commonjs/servers/model/utils/fetch-props-pdbe.js +6 -6
  604. package/lib/commonjs/servers/model/utils/fetch-retry.js +3 -3
  605. package/lib/commonjs/servers/model/utils/writer.js +3 -3
  606. package/lib/commonjs/servers/plugin-state/config.js +1 -1
  607. package/lib/commonjs/servers/plugin-state/index.js +6 -6
  608. package/lib/commonjs/servers/volume/common/binary-schema.js +1 -1
  609. package/lib/commonjs/servers/volume/common/data-format.js +3 -3
  610. package/lib/commonjs/servers/volume/common/file.js +8 -8
  611. package/lib/commonjs/servers/volume/config.js +6 -6
  612. package/lib/commonjs/servers/volume/pack/format/ccp4.js +4 -4
  613. package/lib/commonjs/servers/volume/pack/format/dsn6.js +4 -4
  614. package/lib/commonjs/servers/volume/pack/format.js +3 -3
  615. package/lib/commonjs/servers/volume/pack/main.js +13 -13
  616. package/lib/commonjs/servers/volume/pack/sampling.js +13 -13
  617. package/lib/commonjs/servers/volume/pack/writer.js +2 -2
  618. package/lib/commonjs/servers/volume/pack.js +1 -1
  619. package/lib/commonjs/servers/volume/query.js +4 -4
  620. package/lib/commonjs/servers/volume/server/algebra/box.js +1 -1
  621. package/lib/commonjs/servers/volume/server/api.js +8 -8
  622. package/lib/commonjs/servers/volume/server/local-api.js +8 -8
  623. package/lib/commonjs/servers/volume/server/query/compose.js +8 -8
  624. package/lib/commonjs/servers/volume/server/query/execute.js +10 -10
  625. package/lib/commonjs/servers/volume/server/query/identify.js +2 -2
  626. package/lib/commonjs/servers/volume/server/web-api.js +7 -7
  627. package/lib/commonjs/servers/volume/server.js +2 -2
  628. package/lib/examples/alpha-orbitals/controls.js +2 -2
  629. package/lib/examples/basic-wrapper/controls.js +1 -1
  630. package/lib/examples/proteopedia-wrapper/ui/controls.js +1 -1
  631. package/lib/extensions/cellpack/model.js +4 -2
  632. package/lib/extensions/cellpack/state.js +2 -2
  633. package/lib/extensions/geo-export/ui.js +2 -2
  634. package/lib/extensions/model-export/ui.js +2 -2
  635. package/lib/extensions/mp4-export/ui.js +2 -2
  636. package/lib/extensions/rcsb/assembly-symmetry/ui.js +3 -3
  637. package/lib/extensions/zenodo/index.d.ts +7 -0
  638. package/lib/extensions/zenodo/index.js +32 -0
  639. package/lib/extensions/zenodo/ui.d.ts +61 -0
  640. package/lib/extensions/zenodo/ui.js +303 -0
  641. package/lib/mol-canvas3d/camera.js +2 -1
  642. package/lib/mol-canvas3d/helper/camera-helper.js +1 -1
  643. package/lib/mol-canvas3d/helper/handle-helper.js +1 -1
  644. package/lib/mol-canvas3d/helper/interaction-events.js +1 -1
  645. package/lib/mol-geo/geometry/text/text-builder.js +2 -1
  646. package/lib/mol-gl/shader-code.js +2 -1
  647. package/lib/mol-gl/webgl/buffer.js +2 -3
  648. package/lib/mol-io/common/binary-cif/classifier.js +3 -2
  649. package/lib/mol-io/common/binary-cif/decoder.js +4 -3
  650. package/lib/mol-io/common/io-buffer.d.ts +206 -0
  651. package/lib/mol-io/common/io-buffer.js +405 -0
  652. package/lib/mol-io/common/netcdf/reader.d.ts +78 -0
  653. package/lib/mol-io/common/netcdf/reader.js +456 -0
  654. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +1 -1
  655. package/lib/mol-io/reader/nctraj/parser.d.ts +18 -0
  656. package/lib/mol-io/reader/nctraj/parser.js +97 -0
  657. package/lib/mol-io/reader/prmtop/parser.d.ts +58 -0
  658. package/lib/mol-io/reader/prmtop/parser.js +168 -0
  659. package/lib/mol-io/reader/top/parser.d.ts +37 -0
  660. package/lib/mol-io/reader/top/parser.js +299 -0
  661. package/lib/mol-io/reader/trr/parser.d.ts +22 -0
  662. package/lib/mol-io/reader/trr/parser.js +142 -0
  663. package/lib/mol-io/writer/cif/encoder.js +2 -1
  664. package/lib/mol-model/sequence/sequence.js +2 -1
  665. package/lib/mol-model/structure/model/types/saccharides.d.ts +8 -0
  666. package/lib/mol-model/structure/model/types/saccharides.js +8 -0
  667. package/lib/mol-model/structure/structure/carbohydrates/constants.d.ts +1 -1
  668. package/lib/mol-model/structure/structure/carbohydrates/constants.js +6 -9
  669. package/lib/mol-model-formats/structure/basic/atomic.d.ts +1 -1
  670. package/lib/mol-model-formats/structure/basic/atomic.js +1 -14
  671. package/lib/mol-model-formats/structure/basic/parser.d.ts +1 -1
  672. package/lib/mol-model-formats/structure/basic/parser.js +1 -1
  673. package/lib/mol-model-formats/structure/basic/schema.d.ts +2 -2
  674. package/lib/mol-model-formats/structure/basic/schema.js +7 -2
  675. package/lib/mol-model-formats/structure/basic/util.d.ts +33 -2
  676. package/lib/mol-model-formats/structure/basic/util.js +24 -1
  677. package/lib/mol-model-formats/structure/cif-core.js +4 -4
  678. package/lib/mol-model-formats/structure/common/component.js +5 -1
  679. package/lib/mol-model-formats/structure/cube.js +3 -3
  680. package/lib/mol-model-formats/structure/gro.js +3 -1
  681. package/lib/mol-model-formats/structure/mmcif.d.ts +1 -1
  682. package/lib/mol-model-formats/structure/mmcif.js +4 -2
  683. package/lib/mol-model-formats/structure/mol.js +3 -3
  684. package/lib/mol-model-formats/structure/mol2.js +4 -4
  685. package/lib/mol-model-formats/structure/nctraj.d.ts +9 -0
  686. package/lib/mol-model-formats/structure/nctraj.js +56 -0
  687. package/lib/mol-model-formats/structure/pdb.d.ts +1 -1
  688. package/lib/mol-model-formats/structure/pdb.js +5 -3
  689. package/lib/mol-model-formats/structure/prmtop.d.ts +16 -0
  690. package/lib/mol-model-formats/structure/prmtop.js +144 -0
  691. package/lib/mol-model-formats/structure/property/symmetry.js +11 -1
  692. package/lib/mol-model-formats/structure/psf.js +3 -1
  693. package/lib/mol-model-formats/structure/top.d.ts +16 -0
  694. package/lib/mol-model-formats/structure/top.js +186 -0
  695. package/lib/mol-model-formats/structure/trr.d.ts +9 -0
  696. package/lib/mol-model-formats/structure/trr.js +42 -0
  697. package/lib/mol-model-formats/structure/util.d.ts +2 -2
  698. package/lib/mol-model-formats/structure/util.js +19 -20
  699. package/lib/mol-model-formats/structure/xyz.js +2 -2
  700. package/lib/mol-plugin/context.d.ts +2 -1
  701. package/lib/mol-plugin/context.js +4 -3
  702. package/lib/mol-plugin/spec.js +1 -1
  703. package/lib/mol-plugin/version.js +2 -2
  704. package/lib/mol-plugin-state/actions/file.d.ts +1 -1
  705. package/lib/mol-plugin-state/actions/file.js +88 -55
  706. package/lib/mol-plugin-state/actions/structure.d.ts +11 -2
  707. package/lib/mol-plugin-state/actions/structure.js +174 -4
  708. package/lib/mol-plugin-state/actions/volume.js +3 -2
  709. package/lib/mol-plugin-state/formats/{structure.d.ts → coordinates.d.ts} +34 -18
  710. package/lib/mol-plugin-state/formats/coordinates.js +67 -0
  711. package/lib/mol-plugin-state/formats/registry.d.ts +3 -3
  712. package/lib/mol-plugin-state/formats/registry.js +13 -8
  713. package/lib/mol-plugin-state/formats/topology.d.ts +73 -0
  714. package/lib/mol-plugin-state/formats/topology.js +84 -0
  715. package/lib/mol-plugin-state/helpers/structure-component.js +2 -1
  716. package/lib/mol-plugin-state/manager/snapshots.js +4 -4
  717. package/lib/mol-plugin-state/objects.d.ts +47 -1
  718. package/lib/mol-plugin-state/objects.js +17 -1
  719. package/lib/mol-plugin-state/transforms/data.d.ts +6 -0
  720. package/lib/mol-plugin-state/transforms/data.js +61 -9
  721. package/lib/mol-plugin-state/transforms/model.d.ts +14 -2
  722. package/lib/mol-plugin-state/transforms/model.js +112 -3
  723. package/lib/mol-plugin-ui/base.js +1 -1
  724. package/lib/mol-plugin-ui/controls/action-menu.js +7 -7
  725. package/lib/mol-plugin-ui/controls/color.js +3 -3
  726. package/lib/mol-plugin-ui/controls/common.js +10 -10
  727. package/lib/mol-plugin-ui/controls/icons.js +70 -70
  728. package/lib/mol-plugin-ui/controls/legend.js +3 -3
  729. package/lib/mol-plugin-ui/controls/line-graph/line-graph-component.js +1 -1
  730. package/lib/mol-plugin-ui/controls/parameters.js +51 -51
  731. package/lib/mol-plugin-ui/controls/screenshot.js +2 -2
  732. package/lib/mol-plugin-ui/controls/slider.js +5 -5
  733. package/lib/mol-plugin-ui/controls.js +7 -7
  734. package/lib/mol-plugin-ui/custom/volume.js +4 -4
  735. package/lib/mol-plugin-ui/left-panel.d.ts +8 -1
  736. package/lib/mol-plugin-ui/left-panel.js +33 -12
  737. package/lib/mol-plugin-ui/plugin.js +10 -10
  738. package/lib/mol-plugin-ui/sequence/sequence.js +1 -1
  739. package/lib/mol-plugin-ui/sequence.js +5 -5
  740. package/lib/mol-plugin-ui/state/actions.js +1 -1
  741. package/lib/mol-plugin-ui/state/animation.js +1 -1
  742. package/lib/mol-plugin-ui/state/common.js +7 -7
  743. package/lib/mol-plugin-ui/state/snapshots.js +9 -9
  744. package/lib/mol-plugin-ui/state/tree.js +14 -14
  745. package/lib/mol-plugin-ui/state/update-transform.js +1 -1
  746. package/lib/mol-plugin-ui/structure/components.js +10 -10
  747. package/lib/mol-plugin-ui/structure/focus.js +1 -1
  748. package/lib/mol-plugin-ui/structure/generic.js +4 -4
  749. package/lib/mol-plugin-ui/structure/measurements.js +8 -8
  750. package/lib/mol-plugin-ui/structure/quick-styles.js +2 -2
  751. package/lib/mol-plugin-ui/structure/selection.js +7 -7
  752. package/lib/mol-plugin-ui/structure/source.js +4 -4
  753. package/lib/mol-plugin-ui/structure/superposition.js +8 -8
  754. package/lib/mol-plugin-ui/structure/volume.js +4 -4
  755. package/lib/mol-plugin-ui/task.js +5 -5
  756. package/lib/mol-plugin-ui/toast.js +4 -4
  757. package/lib/mol-plugin-ui/viewport/canvas.js +3 -3
  758. package/lib/mol-plugin-ui/viewport/help.js +8 -8
  759. package/lib/mol-plugin-ui/viewport/screenshot.js +3 -3
  760. package/lib/mol-plugin-ui/viewport/simple-settings.js +1 -1
  761. package/lib/mol-plugin-ui/viewport.js +4 -4
  762. package/lib/mol-script/language/parser.js +7 -4
  763. package/lib/mol-task/util/scheduler.d.ts +2 -2
  764. package/lib/mol-task/util/scheduler.js +7 -7
  765. package/lib/mol-theme/color/hydrophobicity.js +2 -2
  766. package/lib/mol-util/data-source.js +2 -1
  767. package/lib/mol-util/file-info.d.ts +1 -3
  768. package/lib/mol-util/file-info.js +2 -10
  769. package/lib/mol-util/index.d.ts +1 -0
  770. package/lib/mol-util/index.js +5 -0
  771. package/lib/mol-util/zip/deflate.js +2 -1
  772. package/lib/mol-util/zip/zip.d.ts +7 -1
  773. package/lib/mol-util/zip/zip.js +5 -1
  774. package/lib/servers/model/config.d.ts +2 -2
  775. package/package.json +16 -16
  776. package/lib/commonjs/mol-plugin-state/formats/structure.js +0 -64
  777. package/lib/mol-plugin-state/formats/structure.js +0 -61
@@ -26,12 +26,12 @@ var BindingsHelp = /** @class */ (function (_super) {
26
26
  return _jsx(_Fragment, { children: bindingsList.map(function (value) {
27
27
  var name = value[0], binding = value[1];
28
28
  return !Binding.isEmpty(binding)
29
- ? _jsxs("div", __assign({ style: { marginBottom: '6px' } }, { children: [_jsx("b", { children: binding.action }, void 0), _jsx("br", {}, void 0), _jsx("span", { dangerouslySetInnerHTML: { __html: Binding.format(binding, name) } }, void 0)] }), name)
29
+ ? _jsxs("div", __assign({ style: { marginBottom: '6px' } }, { children: [_jsx("b", { children: binding.action }), _jsx("br", {}), _jsx("span", { dangerouslySetInnerHTML: { __html: Binding.format(binding, name) } })] }), name)
30
30
  : null;
31
- }) }, void 0);
31
+ }) });
32
32
  };
33
33
  BindingsHelp.prototype.render = function () {
34
- return _jsx(HelpText, { children: this.getBindingComponents() }, void 0);
34
+ return _jsx(HelpText, { children: this.getBindingComponents() });
35
35
  };
36
36
  return BindingsHelp;
37
37
  }(React.PureComponent));
@@ -42,7 +42,7 @@ var HelpText = /** @class */ (function (_super) {
42
42
  return _super !== null && _super.apply(this, arguments) || this;
43
43
  }
44
44
  HelpText.prototype.render = function () {
45
- return _jsx("div", __assign({ className: 'msp-help-text' }, { children: _jsx("div", { children: this.props.children }, void 0) }), void 0);
45
+ return _jsx("div", __assign({ className: 'msp-help-text' }, { children: _jsx("div", { children: this.props.children }) }));
46
46
  };
47
47
  return HelpText;
48
48
  }(React.PureComponent));
@@ -59,13 +59,13 @@ var HelpGroup = /** @class */ (function (_super) {
59
59
  return _this;
60
60
  }
61
61
  HelpGroup.prototype.render = function () {
62
- return _jsxs("div", __assign({ className: 'msp-control-group-wrapper' }, { children: [_jsx("div", __assign({ className: 'msp-control-group-header' }, { children: _jsxs(Button, __assign({ onClick: this.toggleExpanded }, { children: [_jsx(Icon, { svg: this.state.isExpanded ? ArrowDropDownSvg : ArrowRightSvg }, void 0), this.props.header] }), void 0) }), void 0), this.state.isExpanded && _jsx("div", __assign({ className: 'msp-control-offset', style: { display: this.state.isExpanded ? 'block' : 'none' } }, { children: this.props.children }), void 0)] }), void 0);
62
+ return _jsxs("div", __assign({ className: 'msp-control-group-wrapper' }, { children: [_jsx("div", __assign({ className: 'msp-control-group-header' }, { children: _jsxs(Button, __assign({ onClick: this.toggleExpanded }, { children: [_jsx(Icon, { svg: this.state.isExpanded ? ArrowDropDownSvg : ArrowRightSvg }), this.props.header] })) })), this.state.isExpanded && _jsx("div", __assign({ className: 'msp-control-offset', style: { display: this.state.isExpanded ? 'block' : 'none' } }, { children: this.props.children }))] }));
63
63
  };
64
64
  return HelpGroup;
65
65
  }(React.PureComponent));
66
66
  export { HelpGroup };
67
67
  function HelpSection(props) {
68
- return _jsx("div", __assign({ className: 'msp-simple-help-section' }, { children: props.header }), void 0);
68
+ return _jsx("div", __assign({ className: 'msp-simple-help-section' }, { children: props.header }));
69
69
  }
70
70
  var ViewportHelpContent = /** @class */ (function (_super) {
71
71
  __extends(ViewportHelpContent, _super);
@@ -83,7 +83,7 @@ var ViewportHelpContent = /** @class */ (function (_super) {
83
83
  if (bindings)
84
84
  Object.assign(interactionBindings, bindings);
85
85
  });
86
- return _jsxs(_Fragment, { children: [(!this.props.selectOnly && this.plugin.canvas3d) && _jsx(HelpGroup, __assign({ header: 'Moving in 3D' }, { children: _jsx(BindingsHelp, { bindings: this.plugin.canvas3d.props.trackball.bindings }, void 0) }), 'trackball'), _jsx(HelpGroup, __assign({ header: 'Mouse Controls' }, { children: _jsx(BindingsHelp, { bindings: interactionBindings }, void 0) }), 'interactions')] }, void 0);
86
+ return _jsxs(_Fragment, { children: [(!this.props.selectOnly && this.plugin.canvas3d) && _jsx(HelpGroup, __assign({ header: 'Moving in 3D' }, { children: _jsx(BindingsHelp, { bindings: this.plugin.canvas3d.props.trackball.bindings }) }), 'trackball'), _jsx(HelpGroup, __assign({ header: 'Mouse Controls' }, { children: _jsx(BindingsHelp, { bindings: interactionBindings }) }), 'interactions')] });
87
87
  };
88
88
  return ViewportHelpContent;
89
89
  }(PluginUIComponent));
@@ -112,7 +112,7 @@ var HelpContent = /** @class */ (function (_super) {
112
112
  var selectToggleTriggers = this.getTriggerFor(SelectLoci, 'clickSelectToggle');
113
113
  var focusTriggers = this.getTriggerFor(FocusLoci, 'clickFocus');
114
114
  // TODO: interactive help, for example for density
115
- return _jsxs("div", { children: [_jsx(HelpSection, { header: 'Interface Controls' }, void 0), _jsxs(HelpGroup, __assign({ header: 'Inline Help' }, { children: [_jsx(HelpText, { children: "Many user interface elements show a little questionmark icon when hovered over. Clicking the icon toggles the display of an inline help text." }, void 0), _jsx(HelpText, { children: "Tooltips may provide additional information on a user interface element and are shown when hovering over it with the mouse." }, void 0)] }), void 0), _jsx(HelpGroup, __assign({ header: 'Selections' }, { children: _jsxs(HelpText, { children: ["The viewer allows changing colors and representations for selections of atoms, residues or chains. Selections can be created by", _jsxs("ul", __assign({ style: { paddingLeft: '20px' } }, { children: [_jsxs("li", { children: ["picking elements on the 3D canvas or the sequence view using the mouse, e.g. toggle selection using ", selectToggleTriggers, " (for more see help section on ", _jsx("i", { children: "Mouse Controls" }, void 0), ")"] }, void 0), _jsxs("li", { children: ["using the ", _jsx("i", { children: "Add" }, void 0), ", ", _jsx("i", { children: "Remove" }, void 0), " and ", _jsx("i", { children: "Only" }, void 0), " dropdown buttons in the ", _jsx("i", { children: "Manage Selection" }, void 0), " panel which allow modifing the current selection by predefined sets"] }, void 0)] }), void 0)] }, void 0) }), void 0), _jsx(HelpGroup, __assign({ header: 'Coloring' }, { children: _jsxs(HelpText, { children: ["There are two ways to color structures. Every representation (e.g. cartoon or spacefill) has a color theme which can be changed using the dropdown for each representation in the ", _jsx("i", { children: "Structure Settings" }, void 0), " panel. Additionally any selection atoms, residues or chains can by given a custom color. For that, first select the parts of the structure to be colored (see help section on ", _jsx("i", { children: "Selections" }, void 0), ") and, second, choose a color from the color dropdown botton in the ", _jsx("i", { children: "Selection" }, void 0), " row of the ", _jsx("i", { children: "Change Representation" }, void 0), " panel. The theme color can be seen as a base color that is overpainted by the custom color. Custom colors can be removed for a selection with the 'Clear' option in the color dropdown."] }, void 0) }), void 0), _jsx(HelpGroup, __assign({ header: 'Representations' }, { children: _jsxs(HelpText, { children: ["Structures can be shown with many different representations (e.g. cartoon or spacefill). The ", _jsx("i", { children: "Change Representation" }, void 0), " panel offers a collection of predefined styles which can be applied using the ", _jsx("i", { children: "Preset" }, void 0), " dropdown button. Additionally any selection atoms, residues or chains can by shown with a custom representation. For that, first select the parts of the structure to be mofified (see help section on ", _jsx("i", { children: "Selections" }, void 0), ") and, second, choose a representation to hide or show from the ", _jsx("i", { children: "Show" }, void 0), " and ", _jsx("i", { children: "Hide" }, void 0), " dropdown bottons in the ", _jsx("i", { children: "Selection" }, void 0), " row of the ", _jsx("i", { children: "Change Representation" }, void 0), " panel. The ", _jsx("i", { children: "Everything" }, void 0), " row applies the action to the whole structure instead of the current selection."] }, void 0) }), void 0), _jsx(HelpGroup, __assign({ header: 'Surroundings' }, { children: _jsxs(HelpText, { children: ["To show the surroundings of a residue or ligand, click it in the 3D scene or in the sequence widget using ", focusTriggers, "."] }, void 0) }), void 0), _jsx(HelpSection, { header: 'How-to Guides' }, void 0), _jsx(HelpGroup, __assign({ header: 'Create an Image' }, { children: _jsxs(HelpText, { children: [_jsxs("p", { children: ["Use the ", _jsx(Icon, { svg: CameraSvg }, void 0), " icon in the viewport to bring up the screenshot controls."] }, void 0), _jsxs("p", { children: ["To adjust the size of the image, use the ", _jsx("i", { children: "Resolution" }, void 0), " dropdown."] }, void 0)] }, void 0) }), void 0), _jsx(HelpSection, { header: 'Mouse Controls' }, void 0), _jsx(ViewportHelpContent, {}, void 0)] }, void 0);
115
+ return _jsxs("div", { children: [_jsx(HelpSection, { header: 'Interface Controls' }), _jsxs(HelpGroup, __assign({ header: 'Inline Help' }, { children: [_jsx(HelpText, { children: "Many user interface elements show a little questionmark icon when hovered over. Clicking the icon toggles the display of an inline help text." }), _jsx(HelpText, { children: "Tooltips may provide additional information on a user interface element and are shown when hovering over it with the mouse." })] })), _jsx(HelpGroup, __assign({ header: 'Selections' }, { children: _jsxs(HelpText, { children: ["The viewer allows changing colors and representations for selections of atoms, residues or chains. Selections can be created by", _jsxs("ul", __assign({ style: { paddingLeft: '20px' } }, { children: [_jsxs("li", { children: ["picking elements on the 3D canvas or the sequence view using the mouse, e.g. toggle selection using ", selectToggleTriggers, " (for more see help section on ", _jsx("i", { children: "Mouse Controls" }), ")"] }), _jsxs("li", { children: ["using the ", _jsx("i", { children: "Add" }), ", ", _jsx("i", { children: "Remove" }), " and ", _jsx("i", { children: "Only" }), " dropdown buttons in the ", _jsx("i", { children: "Manage Selection" }), " panel which allow modifing the current selection by predefined sets"] })] }))] }) })), _jsx(HelpGroup, __assign({ header: 'Coloring' }, { children: _jsxs(HelpText, { children: ["There are two ways to color structures. Every representation (e.g. cartoon or spacefill) has a color theme which can be changed using the dropdown for each representation in the ", _jsx("i", { children: "Structure Settings" }), " panel. Additionally any selection atoms, residues or chains can by given a custom color. For that, first select the parts of the structure to be colored (see help section on ", _jsx("i", { children: "Selections" }), ") and, second, choose a color from the color dropdown botton in the ", _jsx("i", { children: "Selection" }), " row of the ", _jsx("i", { children: "Change Representation" }), " panel. The theme color can be seen as a base color that is overpainted by the custom color. Custom colors can be removed for a selection with the 'Clear' option in the color dropdown."] }) })), _jsx(HelpGroup, __assign({ header: 'Representations' }, { children: _jsxs(HelpText, { children: ["Structures can be shown with many different representations (e.g. cartoon or spacefill). The ", _jsx("i", { children: "Change Representation" }), " panel offers a collection of predefined styles which can be applied using the ", _jsx("i", { children: "Preset" }), " dropdown button. Additionally any selection atoms, residues or chains can by shown with a custom representation. For that, first select the parts of the structure to be mofified (see help section on ", _jsx("i", { children: "Selections" }), ") and, second, choose a representation to hide or show from the ", _jsx("i", { children: "Show" }), " and ", _jsx("i", { children: "Hide" }), " dropdown bottons in the ", _jsx("i", { children: "Selection" }), " row of the ", _jsx("i", { children: "Change Representation" }), " panel. The ", _jsx("i", { children: "Everything" }), " row applies the action to the whole structure instead of the current selection."] }) })), _jsx(HelpGroup, __assign({ header: 'Surroundings' }, { children: _jsxs(HelpText, { children: ["To show the surroundings of a residue or ligand, click it in the 3D scene or in the sequence widget using ", focusTriggers, "."] }) })), _jsx(HelpSection, { header: 'How-to Guides' }), _jsx(HelpGroup, __assign({ header: 'Create an Image' }, { children: _jsxs(HelpText, { children: [_jsxs("p", { children: ["Use the ", _jsx(Icon, { svg: CameraSvg }), " icon in the viewport to bring up the screenshot controls."] }), _jsxs("p", { children: ["To adjust the size of the image, use the ", _jsx("i", { children: "Resolution" }), " dropdown."] })] }) })), _jsx(HelpSection, { header: 'Mouse Controls' }), _jsx(ViewportHelpContent, {})] });
116
116
  };
117
117
  return HelpContent;
118
118
  }(PluginUIComponent));
@@ -77,7 +77,7 @@ var DownloadScreenshotControls = /** @class */ (function (_super) {
77
77
  var _this = this;
78
78
  var _a;
79
79
  var hasClipboardApi = !!((_a = navigator.clipboard) === null || _a === void 0 ? void 0 : _a.write);
80
- return _jsxs("div", { children: [this.state.showPreview && _jsxs("div", __assign({ className: 'msp-image-preview' }, { children: [_jsx(ScreenshotPreview, { plugin: this.plugin }, void 0), _jsx(CropControls, { plugin: this.plugin }, void 0)] }), void 0), _jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [!this.state.imageData && _jsx(Button, __assign({ icon: CopySvg, onClick: hasClipboardApi ? this.copy : this.copyImg, disabled: this.state.isDisabled }, { children: "Copy" }), void 0), this.state.imageData && _jsx(Button, __assign({ onClick: function () { return _this.setState({ imageData: void 0 }); }, disabled: this.state.isDisabled }, { children: "Clear" }), void 0), _jsx(Button, __assign({ icon: GetAppSvg, onClick: this.download, disabled: this.state.isDisabled }, { children: "Download" }), void 0)] }), void 0), this.state.imageData && _jsxs("div", __assign({ className: 'msp-row msp-copy-image-wrapper' }, { children: [_jsx("div", { children: "Right click below + Copy Image" }, void 0), _jsx("img", { src: this.state.imageData, style: { width: '100%', height: 32, display: 'block' } }, void 0)] }), void 0), _jsx(ScreenshotParams, { plugin: this.plugin, isDisabled: this.state.isDisabled }, void 0), _jsxs(ExpandGroup, __assign({ header: 'State' }, { children: [_jsx(StateExportImportControls, { onAction: this.props.close }, void 0), _jsx(ExpandGroup, __assign({ header: 'Save Options', initiallyExpanded: false, noOffset: true }, { children: _jsx(LocalStateSnapshotParams, {}, void 0) }), void 0)] }), void 0)] }, void 0);
80
+ return _jsxs("div", { children: [this.state.showPreview && _jsxs("div", __assign({ className: 'msp-image-preview' }, { children: [_jsx(ScreenshotPreview, { plugin: this.plugin }), _jsx(CropControls, { plugin: this.plugin })] })), _jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [!this.state.imageData && _jsx(Button, __assign({ icon: CopySvg, onClick: hasClipboardApi ? this.copy : this.copyImg, disabled: this.state.isDisabled }, { children: "Copy" })), this.state.imageData && _jsx(Button, __assign({ onClick: function () { return _this.setState({ imageData: void 0 }); }, disabled: this.state.isDisabled }, { children: "Clear" })), _jsx(Button, __assign({ icon: GetAppSvg, onClick: this.download, disabled: this.state.isDisabled }, { children: "Download" }))] })), this.state.imageData && _jsxs("div", __assign({ className: 'msp-row msp-copy-image-wrapper' }, { children: [_jsx("div", { children: "Right click below + Copy Image" }), _jsx("img", { src: this.state.imageData, style: { width: '100%', height: 32, display: 'block' } })] })), _jsx(ScreenshotParams, { plugin: this.plugin, isDisabled: this.state.isDisabled }), _jsxs(ExpandGroup, __assign({ header: 'State' }, { children: [_jsx(StateExportImportControls, { onAction: this.props.close }), _jsx(ExpandGroup, __assign({ header: 'Save Options', initiallyExpanded: false, noOffset: true }, { children: _jsx(LocalStateSnapshotParams, {}) }))] }))] });
81
81
  };
82
82
  return DownloadScreenshotControls;
83
83
  }(PluginUIComponent));
@@ -86,7 +86,7 @@ function ScreenshotParams(_a) {
86
86
  var plugin = _a.plugin, isDisabled = _a.isDisabled;
87
87
  var helper = plugin.helpers.viewportScreenshot;
88
88
  var values = useBehavior(helper.behaviors.values);
89
- return _jsx(ParameterControls, { params: helper.params, values: values, onChangeValues: function (v) { return helper.behaviors.values.next(v); }, isDisabled: isDisabled }, void 0);
89
+ return _jsx(ParameterControls, { params: helper.params, values: values, onChangeValues: function (v) { return helper.behaviors.values.next(v); }, isDisabled: isDisabled });
90
90
  }
91
91
  function CropControls(_a) {
92
92
  var plugin = _a.plugin;
@@ -95,5 +95,5 @@ function CropControls(_a) {
95
95
  useBehavior(helper === null || helper === void 0 ? void 0 : helper.behaviors.relativeCrop);
96
96
  if (!helper)
97
97
  return null;
98
- return _jsxs("div", __assign({ style: { width: '100%', height: '24px', marginTop: '8px' } }, { children: [_jsx(ToggleButton, { icon: CropOrginalSvg, title: 'Auto-crop', inline: true, isSelected: cropParams.auto, style: { background: 'transparent', float: 'left', width: 'auto', height: '24px', lineHeight: '24px' }, toggle: function () { return helper.toggleAutocrop(); }, label: 'Auto-crop ' + (cropParams.auto ? 'On' : 'Off') }, void 0), !cropParams.auto && _jsx(Button, { icon: CropSvg, title: 'Crop', style: { background: 'transparent', float: 'right', height: '24px', lineHeight: '24px', width: '24px', padding: '0' }, onClick: function () { return helper.autocrop(); } }, void 0), !cropParams.auto && !helper.isFullFrame && _jsx(Button, { icon: CropFreeSvg, title: 'Reset Crop', style: { background: 'transparent', float: 'right', height: '24px', lineHeight: '24px', width: '24px', padding: '0' }, onClick: function () { return helper.resetCrop(); } }, void 0)] }), void 0);
98
+ return _jsxs("div", __assign({ style: { width: '100%', height: '24px', marginTop: '8px' } }, { children: [_jsx(ToggleButton, { icon: CropOrginalSvg, title: 'Auto-crop', inline: true, isSelected: cropParams.auto, style: { background: 'transparent', float: 'left', width: 'auto', height: '24px', lineHeight: '24px' }, toggle: function () { return helper.toggleAutocrop(); }, label: 'Auto-crop ' + (cropParams.auto ? 'On' : 'Off') }), !cropParams.auto && _jsx(Button, { icon: CropSvg, title: 'Crop', style: { background: 'transparent', float: 'right', height: '24px', lineHeight: '24px', width: '24px', padding: '0' }, onClick: function () { return helper.autocrop(); } }), !cropParams.auto && !helper.isFullFrame && _jsx(Button, { icon: CropFreeSvg, title: 'Reset Crop', style: { background: 'transparent', float: 'right', height: '24px', lineHeight: '24px', width: '24px', padding: '0' }, onClick: function () { return helper.resetCrop(); } })] }));
99
99
  }
@@ -33,7 +33,7 @@ var SimpleSettingsControl = /** @class */ (function (_super) {
33
33
  SimpleSettingsControl.prototype.render = function () {
34
34
  if (!this.plugin.canvas3d)
35
35
  return null;
36
- return _jsxs(_Fragment, { children: [_jsx(ParameterMappingControl, { mapping: SimpleSettingsMapping }, void 0), _jsx(ViewportHelpContent, {}, void 0)] }, void 0);
36
+ return _jsxs(_Fragment, { children: [_jsx(ParameterMappingControl, { mapping: SimpleSettingsMapping }), _jsx(ViewportHelpContent, {})] });
37
37
  };
38
38
  return SimpleSettingsControl;
39
39
  }(PluginUIComponent));
@@ -63,15 +63,15 @@ var ViewportControls = /** @class */ (function (_super) {
63
63
  };
64
64
  ViewportControls.prototype.icon = function (icon, onClick, title, isOn) {
65
65
  if (isOn === void 0) { isOn = true; }
66
- return _jsx(IconButton, { svg: icon, toggleState: isOn, onClick: onClick, title: title, style: { background: 'transparent' } }, void 0);
66
+ return _jsx(IconButton, { svg: icon, toggleState: isOn, onClick: onClick, title: title, style: { background: 'transparent' } });
67
67
  };
68
68
  ViewportControls.prototype.render = function () {
69
- return _jsxs("div", __assign({ className: 'msp-viewport-controls', onMouseMove: this.onMouseMove }, { children: [_jsxs("div", __assign({ className: 'msp-viewport-controls-buttons' }, { children: [_jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }, void 0), this.icon(AutorenewSvg, this.resetCamera, 'Reset Camera')] }, void 0), _jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }, void 0), this.icon(CameraOutlinedSvg, this.toggleScreenshotExpanded, 'Screenshot / State Snapshot', this.state.isScreenshotExpanded)] }, void 0), _jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }, void 0), this.plugin.config.get(PluginConfig.Viewport.ShowControls) && this.icon(BuildOutlinedSvg, this.toggleControls, 'Toggle Controls Panel', this.plugin.layout.state.showControls), this.plugin.config.get(PluginConfig.Viewport.ShowExpand) && this.icon(FullscreenSvg, this.toggleExpanded, 'Toggle Expanded Viewport', this.plugin.layout.state.isExpanded), this.plugin.config.get(PluginConfig.Viewport.ShowSettings) && this.icon(TuneSvg, this.toggleSettingsExpanded, 'Settings / Controls Info', this.state.isSettingsExpanded)] }, void 0), this.plugin.config.get(PluginConfig.Viewport.ShowSelectionMode) && _jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }, void 0), _jsx(ToggleSelectionModeButton, {}, void 0)] }, void 0)] }), void 0), this.state.isScreenshotExpanded && _jsx("div", __assign({ className: 'msp-viewport-controls-panel' }, { children: _jsx(ControlGroup, __assign({ header: 'Screenshot / State', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleScreenshotExpanded, topRightIcon: CloseSvg, noTopMargin: true, childrenClassName: 'msp-viewport-controls-panel-controls' }, { children: _jsx(DownloadScreenshotControls, { close: this.toggleScreenshotExpanded }, void 0) }), void 0) }), void 0), this.state.isSettingsExpanded && _jsx("div", __assign({ className: 'msp-viewport-controls-panel' }, { children: _jsx(ControlGroup, __assign({ header: 'Settings / Controls Info', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleSettingsExpanded, topRightIcon: CloseSvg, noTopMargin: true, childrenClassName: 'msp-viewport-controls-panel-controls' }, { children: _jsx(SimpleSettingsControl, {}, void 0) }), void 0) }), void 0)] }), void 0);
69
+ return _jsxs("div", __assign({ className: 'msp-viewport-controls', onMouseMove: this.onMouseMove }, { children: [_jsxs("div", __assign({ className: 'msp-viewport-controls-buttons' }, { children: [_jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }), this.icon(AutorenewSvg, this.resetCamera, 'Reset Camera')] }), _jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }), this.icon(CameraOutlinedSvg, this.toggleScreenshotExpanded, 'Screenshot / State Snapshot', this.state.isScreenshotExpanded)] }), _jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }), this.plugin.config.get(PluginConfig.Viewport.ShowControls) && this.icon(BuildOutlinedSvg, this.toggleControls, 'Toggle Controls Panel', this.plugin.layout.state.showControls), this.plugin.config.get(PluginConfig.Viewport.ShowExpand) && this.icon(FullscreenSvg, this.toggleExpanded, 'Toggle Expanded Viewport', this.plugin.layout.state.isExpanded), this.plugin.config.get(PluginConfig.Viewport.ShowSettings) && this.icon(TuneSvg, this.toggleSettingsExpanded, 'Settings / Controls Info', this.state.isSettingsExpanded)] }), this.plugin.config.get(PluginConfig.Viewport.ShowSelectionMode) && _jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }), _jsx(ToggleSelectionModeButton, {})] })] })), this.state.isScreenshotExpanded && _jsx("div", __assign({ className: 'msp-viewport-controls-panel' }, { children: _jsx(ControlGroup, __assign({ header: 'Screenshot / State', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleScreenshotExpanded, topRightIcon: CloseSvg, noTopMargin: true, childrenClassName: 'msp-viewport-controls-panel-controls' }, { children: _jsx(DownloadScreenshotControls, { close: this.toggleScreenshotExpanded }) })) })), this.state.isSettingsExpanded && _jsx("div", __assign({ className: 'msp-viewport-controls-panel' }, { children: _jsx(ControlGroup, __assign({ header: 'Settings / Controls Info', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleSettingsExpanded, topRightIcon: CloseSvg, noTopMargin: true, childrenClassName: 'msp-viewport-controls-panel-controls' }, { children: _jsx(SimpleSettingsControl, {}) })) }))] }));
70
70
  };
71
71
  return ViewportControls;
72
72
  }(PluginUIComponent));
73
73
  export { ViewportControls };
74
74
  export var Logo = function () {
75
- return _jsx("a", { className: 'msp-logo', href: 'https://molstar.org', target: '_blank' }, void 0);
75
+ return _jsx("a", { className: 'msp-logo', href: 'https://molstar.org', target: '_blank' });
76
76
  };
77
- export var Viewport = function () { return _jsx(ViewportCanvas, { logo: Logo }, void 0); };
77
+ export var Viewport = function () { return _jsx(ViewportCanvas, { logo: Logo }); };
@@ -6,6 +6,7 @@
6
6
  import { MonadicParser as P } from '../../mol-util/monadic-parser';
7
7
  import { Expression } from './expression';
8
8
  import { MolScriptBuilder as B } from './builder';
9
+ import { assertUnreachable } from '../../mol-util/type-helpers';
9
10
  export function parseMolScript(input) {
10
11
  return Language.parse(input);
11
12
  }
@@ -59,15 +60,15 @@ var Language;
59
60
  case '[': return B.core.type.list(withoutComments(expr.nodes).map(visitExpr));
60
61
  case '{': return B.core.type.set(withoutComments(expr.nodes).map(visitExpr));
61
62
  case '(': {
63
+ if (expr.nodes[0].kind === 'comment')
64
+ throw new Error('Invalid expression');
62
65
  var head = visitExpr(expr.nodes[0]);
63
66
  return Expression.Apply(head, getArgs(expr.nodes));
64
67
  }
68
+ default: assertUnreachable(expr.bracket);
65
69
  }
66
- return 0;
67
- }
68
- default: {
69
- throw new Error('should not happen');
70
70
  }
71
+ default: assertUnreachable(expr);
71
72
  }
72
73
  }
73
74
  function getArgs(nodes) {
@@ -98,6 +99,8 @@ var Language;
98
99
  }
99
100
  if (i >= _i)
100
101
  throw new Error("There must be a value foolowed a named arg ':".concat(name_1, "'."));
102
+ if (nodes[i].kind === 'comment')
103
+ throw new Error('Invalid expression');
101
104
  args[name_1] = visitExpr(nodes[i]);
102
105
  if (isNaN(+name_1))
103
106
  allNumeric = false;
@@ -5,8 +5,8 @@
5
5
  */
6
6
  /// <reference types="node" />
7
7
  declare const Scheduler: {
8
- setImmediate: ((callback: (...args: any[]) => void, ...args: any[]) => number) | typeof setImmediate;
9
- clearImmediate: ((handle: number) => void) | typeof clearImmediate;
8
+ setImmediate: typeof setImmediate | ((callback: (...args: any[]) => void, ...args: any[]) => number);
9
+ clearImmediate: typeof clearImmediate | ((handle: number) => void);
10
10
  immediatePromise(): Promise<void>;
11
11
  delay<T>(timeout: number, value?: T | undefined): Promise<T>;
12
12
  };
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { __spreadArray } from "tslib";
7
7
  function createImmediateActions() {
8
- var global = (function () {
8
+ var thisGlobal = (function () {
9
9
  var _window = typeof window !== 'undefined' && window;
10
10
  var _self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope && self;
11
11
  var _global = typeof global !== 'undefined' && global;
@@ -65,14 +65,14 @@ function createImmediateActions() {
65
65
  };
66
66
  }
67
67
  function canUsePostMessage() {
68
- if (global && global.postMessage && !global.importScripts) {
68
+ if (thisGlobal && thisGlobal.postMessage && !thisGlobal.importScripts) {
69
69
  var postMessageIsAsynchronous_1 = true;
70
- var oldOnMessage = global.onmessage;
71
- global.onmessage = function () {
70
+ var oldOnMessage = thisGlobal.onmessage;
71
+ thisGlobal.onmessage = function () {
72
72
  postMessageIsAsynchronous_1 = false;
73
73
  };
74
- global.postMessage('', '*');
75
- global.onmessage = oldOnMessage;
74
+ thisGlobal.postMessage('', '*');
75
+ thisGlobal.onmessage = oldOnMessage;
76
76
  return postMessageIsAsynchronous_1;
77
77
  }
78
78
  }
@@ -82,7 +82,7 @@ function createImmediateActions() {
82
82
  // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages
83
83
  var messagePrefix = 'setImmediate$' + Math.random() + '$';
84
84
  var onGlobalMessage = function (event) {
85
- if (event.source === global &&
85
+ if (event.source === thisGlobal &&
86
86
  typeof event.data === 'string' &&
87
87
  event.data.indexOf(messagePrefix) === 0) {
88
88
  runIfPresent(+event.data.slice(messagePrefix.length));
@@ -45,8 +45,8 @@ export function HydrophobicityColorTheme(ctx, props) {
45
45
  var scale = ColorScale.create({
46
46
  listOrName: props.list.colors,
47
47
  domain: [max, min],
48
- minLabel: 'Hydrophobic',
49
- maxLabel: 'Hydrophilic'
48
+ minLabel: 'Hydrophilic',
49
+ maxLabel: 'Hydrophobic'
50
50
  });
51
51
  function color(location) {
52
52
  var compId;
@@ -93,6 +93,7 @@ function getCompression(name) {
93
93
  /\.zip$/i.test(name) ? DataCompressionMethod.Zip :
94
94
  DataCompressionMethod.None;
95
95
  }
96
+ var reFilterPath = /^(__MACOSX|.DS_Store)/;
96
97
  function decompress(ctx, data, compression) {
97
98
  return __awaiter(this, void 0, void 0, function () {
98
99
  var _a, parsed, names;
@@ -111,7 +112,7 @@ function decompress(ctx, data, compression) {
111
112
  case 3: return [4 /*yield*/, unzip(ctx, data.buffer)];
112
113
  case 4:
113
114
  parsed = _b.sent();
114
- names = Object.keys(parsed);
115
+ names = Object.keys(parsed).filter(function (n) { return !reFilterPath.test(n); });
115
116
  if (names.length !== 1)
116
117
  throw new Error('can only decompress zip files with a single entry');
117
118
  return [2 /*return*/, parsed[names[0]]];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-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
  */
@@ -11,8 +11,6 @@ export interface FileInfo {
11
11
  ext: string;
12
12
  base: string;
13
13
  dir: string;
14
- compressed: string | boolean;
15
- binary: boolean;
16
14
  protocol: string;
17
15
  query: string;
18
16
  src: FileInput;
@@ -1,16 +1,13 @@
1
1
  /**
2
- * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-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
  */
6
6
  // TODO only support compressed files for which uncompression support is available???
7
7
  // TODO store globally with decompression plugins?
8
8
  var compressedExtList = ['gz', 'zip'];
9
- // TODO store globally with parser plugins?
10
- var binaryExtList = ['bcif', 'ccp4', 'dcd'];
11
9
  export function getFileInfo(file) {
12
10
  var path;
13
- var compressed;
14
11
  var protocol = '';
15
12
  if (file instanceof File) {
16
13
  path = file.name;
@@ -35,15 +32,10 @@ export function getFileInfo(file) {
35
32
  }
36
33
  var dir = path.substring(0, path.lastIndexOf('/') + 1);
37
34
  if (compressedExtList.includes(ext)) {
38
- compressed = ext;
39
35
  var n = path.length - ext.length - 1;
40
36
  ext = (path.substr(0, n).split('.').pop() || '').toLowerCase();
41
37
  var m = base.length - ext.length - 1;
42
38
  base = base.substr(0, m);
43
39
  }
44
- else {
45
- compressed = false;
46
- }
47
- var binary = binaryExtList.includes(ext);
48
- return { path: path, name: name, ext: ext, base: base, dir: dir, compressed: compressed, binary: binary, protocol: protocol, query: query, src: file };
40
+ return { path: path, name: name, ext: ext, base: base, dir: dir, protocol: protocol, query: query, src: file };
49
41
  }
@@ -27,3 +27,4 @@ export declare const assign: (<T>(o: T, ...from: any[]) => T);
27
27
  export declare const merge: (<T>(source: T, ...rest: Partial<T>[]) => T);
28
28
  export declare function formatTime(d: Date): string;
29
29
  export declare function formatProgress(p: Progress): string;
30
+ export declare function formatBytes(count: number): string;
@@ -200,3 +200,8 @@ export function formatProgress(p) {
200
200
  var x = (100 * tp.current / tp.max).toFixed(2);
201
201
  return "".concat(tp.message, " ").concat(x, "%");
202
202
  }
203
+ export function formatBytes(count) {
204
+ var units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
205
+ var i = Math.floor(Math.log(count) / Math.log(1024));
206
+ return "".concat((count / Math.pow(1024, i)).toFixed(2), " ").concat(units[i]);
207
+ }
@@ -7,6 +7,7 @@
7
7
  * MIT License, Copyright (c) 2018 Photopea
8
8
  */
9
9
  import { __awaiter, __generator } from "tslib";
10
+ import { assertUnreachable } from '../type-helpers';
10
11
  import { _hufTree } from './huffman';
11
12
  import { U, revCodes, makeCodes } from './util';
12
13
  function DeflateContext(data, out, opos, lvl) {
@@ -262,7 +263,7 @@ function _writeBlock(BFINAL, lits, li, ebits, data, o0, l0, out, pos) {
262
263
  pos = _codeTiny(dset, U.itree, out, pos);
263
264
  }
264
265
  else {
265
- throw new Error("unknown BTYPE ".concat(BTYPE));
266
+ assertUnreachable(BTYPE);
266
267
  }
267
268
  var off = o0;
268
269
  for (var si = 0; si < li; si += 2) {
@@ -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
  *
@@ -9,6 +9,12 @@
9
9
  * - added `ungzip`
10
10
  */
11
11
  import { RuntimeContext, Task } from '../../mol-task';
12
+ export declare function Unzip(buf: ArrayBuffer, onlyNames?: boolean): Task<{
13
+ [k: string]: Uint8Array | {
14
+ size: number;
15
+ csize: number;
16
+ };
17
+ }>;
12
18
  export declare function unzip(runtime: RuntimeContext, buf: ArrayBuffer, onlyNames?: boolean): Promise<{
13
19
  [k: string]: Uint8Array | {
14
20
  size: number;
@@ -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,6 +14,10 @@ import { crc, adler } from './checksum';
14
14
  import { _inflate } from './inflate';
15
15
  import { _deflateRaw } from './deflate';
16
16
  import { Task } from '../../mol-task';
17
+ export function Unzip(buf, onlyNames) {
18
+ if (onlyNames === void 0) { onlyNames = false; }
19
+ return Task.create('Unzip', function (ctx) { return unzip(ctx, buf, onlyNames); });
20
+ }
17
21
  export function unzip(runtime, buf, onlyNames) {
18
22
  if (onlyNames === void 0) { onlyNames = false; }
19
23
  return __awaiter(this, void 0, void 0, function () {
@@ -53,7 +53,7 @@ declare const DefaultModelServerConfig: {
53
53
  *
54
54
  * /static query uses 'pdb-cif' and 'pdb-bcif' source names.
55
55
  */
56
- sourceMap: ([string, string] | [string, string, "bcif" | "cif" | "cif.gz" | "bcif.gz"])[];
56
+ sourceMap: ([string, string] | [string, string, "cif" | "bcif" | "cif.gz" | "bcif.gz"])[];
57
57
  };
58
58
  export declare const ModelServerFetchFormats: readonly ["cif", "bcif", "cif.gz", "bcif.gz"];
59
59
  export declare type ModelServerFetchFormats = (typeof ModelServerFetchFormats)[number];
@@ -108,7 +108,7 @@ export declare const ModelServerConfig: {
108
108
  *
109
109
  * /static query uses 'pdb-cif' and 'pdb-bcif' source names.
110
110
  */
111
- sourceMap: ([string, string] | [string, string, "bcif" | "cif" | "cif.gz" | "bcif.gz"])[];
111
+ sourceMap: ([string, string] | [string, string, "cif" | "bcif" | "cif.gz" | "bcif.gz"])[];
112
112
  };
113
113
  export declare const ModelServerConfigTemplate: ModelServerConfig;
114
114
  export declare function configureServer(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "molstar",
3
- "version": "3.3.1",
3
+ "version": "3.4.0",
4
4
  "description": "A comprehensive macromolecular library.",
5
5
  "homepage": "https://github.com/molstar/molstar#readme",
6
6
  "repository": {
@@ -94,38 +94,38 @@
94
94
  "@graphql-codegen/add": "^3.1.1",
95
95
  "@graphql-codegen/cli": "^2.6.2",
96
96
  "@graphql-codegen/time": "^3.1.1",
97
- "@graphql-codegen/typescript": "^2.4.5",
97
+ "@graphql-codegen/typescript": "^2.4.7",
98
98
  "@graphql-codegen/typescript-graphql-files-modules": "^2.1.1",
99
- "@graphql-codegen/typescript-graphql-request": "^4.3.7",
100
- "@graphql-codegen/typescript-operations": "^2.3.2",
99
+ "@graphql-codegen/typescript-graphql-request": "^4.4.2",
100
+ "@graphql-codegen/typescript-operations": "^2.3.4",
101
101
  "@types/cors": "^2.8.12",
102
102
  "@types/gl": "^4.1.0",
103
103
  "@types/jest": "^27.4.1",
104
- "@typescript-eslint/eslint-plugin": "^5.12.1",
105
- "@typescript-eslint/parser": "^5.12.1",
104
+ "@typescript-eslint/eslint-plugin": "^5.14.0",
105
+ "@typescript-eslint/parser": "^5.14.0",
106
106
  "benchmark": "^2.1.4",
107
107
  "concurrently": "^7.0.0",
108
108
  "cpx2": "^4.2.0",
109
109
  "crypto-browserify": "^3.12.0",
110
- "css-loader": "^6.6.0",
111
- "eslint": "^8.10.0",
110
+ "css-loader": "^6.7.1",
111
+ "eslint": "^8.11.0",
112
112
  "extra-watch-webpack-plugin": "^1.0.3",
113
113
  "file-loader": "^6.2.0",
114
114
  "fs-extra": "^10.0.1",
115
115
  "graphql": "^16.3.0",
116
116
  "http-server": "^14.1.0",
117
117
  "jest": "^27.5.1",
118
- "mini-css-extract-plugin": "^2.5.3",
118
+ "mini-css-extract-plugin": "^2.6.0",
119
119
  "path-browserify": "^1.0.1",
120
120
  "raw-loader": "^4.0.2",
121
121
  "sass": "^1.49.9",
122
122
  "sass-loader": "^12.6.0",
123
- "simple-git": "^3.2.6",
123
+ "simple-git": "^3.3.0",
124
124
  "stream-browserify": "^3.0.0",
125
125
  "style-loader": "^3.3.1",
126
126
  "ts-jest": "^27.1.3",
127
- "typescript": "^4.5.5",
128
- "webpack": "^5.69.1",
127
+ "typescript": "^4.6.2",
128
+ "webpack": "^5.70.0",
129
129
  "webpack-cli": "^4.9.2"
130
130
  },
131
131
  "dependencies": {
@@ -135,8 +135,8 @@
135
135
  "@types/express": "^4.17.13",
136
136
  "@types/node": "^16.11.26",
137
137
  "@types/node-fetch": "^2.6.1",
138
- "@types/react": "^17.0.39",
139
- "@types/react-dom": "^17.0.11",
138
+ "@types/react": "^17.0.40",
139
+ "@types/react-dom": "^17.0.13",
140
140
  "@types/swagger-ui-dist": "3.30.1",
141
141
  "argparse": "^2.0.1",
142
142
  "body-parser": "^1.19.2",
@@ -147,8 +147,8 @@
147
147
  "immer": "^9.0.12",
148
148
  "immutable": "^4.0.0",
149
149
  "node-fetch": "^2.6.7",
150
- "rxjs": "^7.5.4",
151
- "swagger-ui-dist": "^4.5.2",
150
+ "rxjs": "^7.5.5",
151
+ "swagger-ui-dist": "^4.6.2",
152
152
  "tslib": "^2.3.1",
153
153
  "util.promisify": "^1.1.1",
154
154
  "xhr2": "^0.2.1"
@@ -1,64 +0,0 @@
1
- "use strict";
2
- /**
3
- * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
- *
5
- * @author David Sehnal <david.sehnal@gmail.com>
6
- * @author Alexander Rose <alexander.rose@weirdbyte.de>
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.BuiltInStructureFormats = exports.XtcProvider = exports.DcdProvider = exports.PsfProvider = exports.StructureFormatCategory = void 0;
10
- var tslib_1 = require("tslib");
11
- var transforms_1 = require("../transforms");
12
- var provider_1 = require("./provider");
13
- exports.StructureFormatCategory = 'Structure';
14
- exports.PsfProvider = (0, provider_1.DataFormatProvider)({
15
- label: 'PSF',
16
- description: 'PSF',
17
- category: exports.StructureFormatCategory,
18
- stringExtensions: ['psf'],
19
- parse: function (plugin, data) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
20
- var format, topology;
21
- return (0, tslib_1.__generator)(this, function (_a) {
22
- switch (_a.label) {
23
- case 0:
24
- format = plugin.state.data.build()
25
- .to(data)
26
- .apply(transforms_1.StateTransforms.Data.ParsePsf, {}, { state: { isGhost: true } });
27
- topology = format.apply(transforms_1.StateTransforms.Model.TopologyFromPsf);
28
- return [4 /*yield*/, format.commit()];
29
- case 1:
30
- _a.sent();
31
- return [2 /*return*/, { format: format.selector, topology: topology.selector }];
32
- }
33
- });
34
- }); }
35
- });
36
- exports.DcdProvider = (0, provider_1.DataFormatProvider)({
37
- label: 'DCD',
38
- description: 'DCD',
39
- category: exports.StructureFormatCategory,
40
- binaryExtensions: ['dcd'],
41
- parse: function (plugin, data) {
42
- var coordinates = plugin.state.data.build()
43
- .to(data)
44
- .apply(transforms_1.StateTransforms.Model.CoordinatesFromDcd);
45
- return coordinates.commit();
46
- }
47
- });
48
- exports.XtcProvider = (0, provider_1.DataFormatProvider)({
49
- label: 'XTC',
50
- description: 'XTC',
51
- category: exports.StructureFormatCategory,
52
- binaryExtensions: ['xtc'],
53
- parse: function (plugin, data) {
54
- var coordinates = plugin.state.data.build()
55
- .to(data)
56
- .apply(transforms_1.StateTransforms.Model.CoordinatesFromXtc);
57
- return coordinates.commit();
58
- }
59
- });
60
- exports.BuiltInStructureFormats = [
61
- ['psf', exports.PsfProvider],
62
- ['dcd', exports.DcdProvider],
63
- ['xtc', exports.XtcProvider],
64
- ];
@@ -1,61 +0,0 @@
1
- /**
2
- * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
- *
4
- * @author David Sehnal <david.sehnal@gmail.com>
5
- * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
- */
7
- import { __awaiter, __generator } from "tslib";
8
- import { StateTransforms } from '../transforms';
9
- import { DataFormatProvider } from './provider';
10
- export var StructureFormatCategory = 'Structure';
11
- export var PsfProvider = DataFormatProvider({
12
- label: 'PSF',
13
- description: 'PSF',
14
- category: StructureFormatCategory,
15
- stringExtensions: ['psf'],
16
- parse: function (plugin, data) { return __awaiter(void 0, void 0, void 0, function () {
17
- var format, topology;
18
- return __generator(this, function (_a) {
19
- switch (_a.label) {
20
- case 0:
21
- format = plugin.state.data.build()
22
- .to(data)
23
- .apply(StateTransforms.Data.ParsePsf, {}, { state: { isGhost: true } });
24
- topology = format.apply(StateTransforms.Model.TopologyFromPsf);
25
- return [4 /*yield*/, format.commit()];
26
- case 1:
27
- _a.sent();
28
- return [2 /*return*/, { format: format.selector, topology: topology.selector }];
29
- }
30
- });
31
- }); }
32
- });
33
- export var DcdProvider = DataFormatProvider({
34
- label: 'DCD',
35
- description: 'DCD',
36
- category: StructureFormatCategory,
37
- binaryExtensions: ['dcd'],
38
- parse: function (plugin, data) {
39
- var coordinates = plugin.state.data.build()
40
- .to(data)
41
- .apply(StateTransforms.Model.CoordinatesFromDcd);
42
- return coordinates.commit();
43
- }
44
- });
45
- export var XtcProvider = DataFormatProvider({
46
- label: 'XTC',
47
- description: 'XTC',
48
- category: StructureFormatCategory,
49
- binaryExtensions: ['xtc'],
50
- parse: function (plugin, data) {
51
- var coordinates = plugin.state.data.build()
52
- .to(data)
53
- .apply(StateTransforms.Model.CoordinatesFromXtc);
54
- return coordinates.commit();
55
- }
56
- });
57
- export var BuiltInStructureFormats = [
58
- ['psf', PsfProvider],
59
- ['dcd', DcdProvider],
60
- ['xtc', XtcProvider],
61
- ];