molstar 3.0.0-dev.5 → 3.0.0-dev.9

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 (688) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +187 -187
  3. package/build/viewer/embedded.html +43 -43
  4. package/build/viewer/index.html +106 -95
  5. package/build/viewer/molstar.js +1 -1
  6. package/lib/apps/docking-viewer/index.d.ts +2 -1
  7. package/lib/apps/docking-viewer/index.html +36 -36
  8. package/lib/apps/docking-viewer/index.js +87 -74
  9. package/lib/apps/viewer/app.d.ts +230 -0
  10. package/lib/apps/viewer/app.js +515 -0
  11. package/lib/apps/viewer/embedded.html +43 -43
  12. package/lib/apps/viewer/index.d.ts +2 -403
  13. package/lib/apps/viewer/index.html +106 -95
  14. package/lib/apps/viewer/index.js +2 -420
  15. package/lib/cli/cifschema/index.d.ts +1 -1
  16. package/lib/cli/cifschema/index.js +15 -35
  17. package/lib/commonjs/apps/docking-viewer/index.d.ts +2 -1
  18. package/lib/commonjs/apps/docking-viewer/index.js +86 -73
  19. package/lib/commonjs/apps/viewer/app.d.ts +230 -0
  20. package/lib/commonjs/apps/viewer/app.js +521 -0
  21. package/lib/commonjs/apps/viewer/index.d.ts +2 -403
  22. package/lib/commonjs/apps/viewer/index.js +2 -423
  23. package/lib/commonjs/cli/cifschema/index.d.ts +1 -1
  24. package/lib/commonjs/cli/cifschema/index.js +15 -35
  25. package/lib/commonjs/examples/alpha-orbitals/index.js +3 -4
  26. package/lib/commonjs/examples/basic-wrapper/index.js +23 -11
  27. package/lib/commonjs/examples/lighting/index.d.ts +1 -1
  28. package/lib/commonjs/examples/lighting/index.js +57 -41
  29. package/lib/commonjs/examples/proteopedia-wrapper/index.js +26 -14
  30. package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +0 -1
  31. package/lib/commonjs/extensions/alpha-orbitals/transforms.js +1 -14
  32. package/lib/commonjs/extensions/anvil/behavior.d.ts +4 -0
  33. package/lib/commonjs/extensions/anvil/representation.d.ts +50 -0
  34. package/lib/commonjs/extensions/cellpack/representation.d.ts +10 -0
  35. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  36. package/lib/commonjs/extensions/geo-export/mesh-exporter.js +4 -4
  37. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
  38. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.js +236 -0
  39. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
  40. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +125 -0
  41. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
  42. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +111 -0
  43. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
  44. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.js +130 -0
  45. package/lib/commonjs/extensions/pdbe/structure-quality-report/prop.js +1 -1
  46. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  47. package/lib/commonjs/extensions/rcsb/assembly-symmetry/prop.js +1 -1
  48. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  49. package/lib/commonjs/extensions/rcsb/validation-report/prop.js +1 -1
  50. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +50 -0
  51. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +3 -9
  52. package/lib/commonjs/mol-canvas3d/canvas3d.js +34 -23
  53. package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  54. package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  55. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
  56. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  57. package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
  58. package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
  59. package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +13 -1
  60. package/lib/commonjs/mol-canvas3d/passes/draw.js +16 -15
  61. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +1 -0
  62. package/lib/commonjs/mol-canvas3d/passes/image.js +3 -2
  63. package/lib/commonjs/mol-canvas3d/passes/marking.js +1 -1
  64. package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +10 -2
  65. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +18 -14
  66. package/lib/commonjs/mol-canvas3d/passes/pick.js +12 -12
  67. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +3 -3
  68. package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
  69. package/lib/commonjs/mol-geo/geometry/base.d.ts +18 -0
  70. package/lib/commonjs/mol-geo/geometry/base.js +18 -1
  71. package/lib/commonjs/mol-geo/geometry/clipping-data.d.ts +1 -3
  72. package/lib/commonjs/mol-geo/geometry/clipping-data.js +3 -8
  73. package/lib/commonjs/mol-geo/geometry/color-data.d.ts +1 -1
  74. package/lib/commonjs/mol-geo/geometry/color-data.js +22 -0
  75. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +12 -2
  76. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +2 -2
  77. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  78. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +21 -66
  79. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  80. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  81. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +10 -0
  82. package/lib/commonjs/mol-geo/geometry/image/image.js +1 -1
  83. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +11 -0
  84. package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
  85. package/lib/commonjs/mol-geo/geometry/marker-data.d.ts +0 -1
  86. package/lib/commonjs/mol-geo/geometry/marker-data.js +13 -9
  87. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  88. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +2 -2
  89. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +11 -1
  90. package/lib/commonjs/mol-geo/geometry/points/points.js +1 -1
  91. package/lib/commonjs/mol-geo/geometry/size-data.js +5 -5
  92. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  93. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +2 -2
  94. package/lib/commonjs/mol-geo/geometry/text/text.d.ts +10 -0
  95. package/lib/commonjs/mol-geo/geometry/text/text.js +1 -1
  96. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  97. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  98. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  99. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  100. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  101. package/lib/commonjs/mol-gl/render-object.d.ts +2 -1
  102. package/lib/commonjs/mol-gl/render-object.js +10 -10
  103. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +11 -5
  104. package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -3
  105. package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +15 -14
  106. package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
  107. package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -4
  108. package/lib/commonjs/mol-gl/renderable/image.js +2 -2
  109. package/lib/commonjs/mol-gl/renderable/lines.d.ts +39 -33
  110. package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
  111. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +11 -5
  112. package/lib/commonjs/mol-gl/renderable/mesh.js +3 -3
  113. package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -4
  114. package/lib/commonjs/mol-gl/renderable/points.js +2 -2
  115. package/lib/commonjs/mol-gl/renderable/schema.d.ts +10 -11
  116. package/lib/commonjs/mol-gl/renderable/schema.js +4 -10
  117. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +11 -5
  118. package/lib/commonjs/mol-gl/renderable/spheres.js +3 -3
  119. package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -4
  120. package/lib/commonjs/mol-gl/renderable/text.js +2 -2
  121. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +11 -6
  122. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
  123. package/lib/commonjs/mol-gl/renderable.d.ts +0 -1
  124. package/lib/commonjs/mol-gl/renderer.d.ts +12 -12
  125. package/lib/commonjs/mol-gl/renderer.js +23 -92
  126. package/lib/commonjs/mol-gl/scene.d.ts +2 -2
  127. package/lib/commonjs/mol-gl/scene.js +7 -5
  128. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  129. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  130. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  131. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  132. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  133. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  134. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  135. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  136. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  137. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  138. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  139. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  140. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  141. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  142. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  143. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  144. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  145. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  146. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  147. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  148. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  149. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  150. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  151. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
  152. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  153. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  154. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  155. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  156. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  157. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  158. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  159. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  160. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  161. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +1 -1
  162. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  163. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  164. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  165. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  166. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  167. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  168. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  169. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  170. package/lib/commonjs/mol-gl/shader/mesh.vert.d.ts +1 -1
  171. package/lib/commonjs/mol-gl/shader/mesh.vert.js +1 -1
  172. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  173. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  174. package/lib/commonjs/mol-gl/shader-code.d.ts +3 -1
  175. package/lib/commonjs/mol-gl/shader-code.js +43 -14
  176. package/lib/commonjs/mol-gl/webgl/render-item.d.ts +7 -6
  177. package/lib/commonjs/mol-gl/webgl/render-item.js +10 -8
  178. package/lib/commonjs/mol-gl/webgl/resources.js +8 -1
  179. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
  180. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +326 -1
  181. package/lib/commonjs/mol-io/reader/mol2/parser.d.ts +1 -1
  182. package/lib/commonjs/mol-io/reader/mol2/parser.js +33 -3
  183. package/lib/commonjs/mol-io/reader/mol2/schema.d.ts +12 -1
  184. package/lib/commonjs/mol-io/reader/mol2/schema.js +1 -1
  185. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +2 -2
  186. package/lib/commonjs/mol-math/geometry/symmetry-operator.js +3 -2
  187. package/lib/commonjs/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  188. package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +20 -1
  189. package/lib/commonjs/mol-model/structure/model/model.d.ts +1 -0
  190. package/lib/commonjs/mol-model/structure/model/model.js +8 -2
  191. package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
  192. package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
  193. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
  194. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.js +4 -1
  195. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
  196. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
  197. package/lib/commonjs/mol-model/structure/model/types.js +9 -0
  198. package/lib/commonjs/mol-model/structure/structure/element/stats.js +8 -0
  199. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  200. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.js +11 -2
  201. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  202. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +20 -10
  203. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  204. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +21 -11
  205. package/lib/commonjs/mol-model/structure/structure/unit/rings.js +2 -0
  206. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +20 -0
  207. package/lib/commonjs/mol-model-formats/structure/mol2.d.ts +1 -1
  208. package/lib/commonjs/mol-model-formats/structure/mol2.js +37 -7
  209. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  210. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  211. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  212. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
  213. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +30 -0
  214. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  215. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +4 -6
  216. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  217. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  218. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
  219. package/lib/commonjs/mol-plugin/commands.d.ts +1 -4
  220. package/lib/commonjs/mol-plugin/config.d.ts +2 -2
  221. package/lib/commonjs/mol-plugin/config.js +5 -25
  222. package/lib/commonjs/mol-plugin/features.d.ts +9 -0
  223. package/lib/commonjs/mol-plugin/features.js +38 -0
  224. package/lib/commonjs/mol-plugin/spec.js +1 -0
  225. package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  226. package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +8 -1
  227. package/lib/commonjs/mol-plugin-state/actions/structure.js +183 -72
  228. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
  229. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.js +13 -8
  230. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
  231. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +4 -4
  232. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  233. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -1
  234. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +33 -19
  235. package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +13 -1
  236. package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
  237. package/lib/commonjs/mol-plugin-state/manager/structure/selection.js +3 -1
  238. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +32 -0
  239. package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
  240. package/lib/commonjs/mol-plugin-ui/index.d.ts +4 -4
  241. package/lib/commonjs/mol-plugin-ui/index.js +13 -16
  242. package/lib/commonjs/mol-plugin-ui/plugin.js +1 -1
  243. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +2 -6
  244. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +10 -0
  245. package/lib/commonjs/mol-repr/shape/loci/common.d.ts +10 -0
  246. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +10 -0
  247. package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +10 -0
  248. package/lib/commonjs/mol-repr/shape/loci/label.d.ts +10 -0
  249. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +10 -0
  250. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +10 -0
  251. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +10 -0
  252. package/lib/commonjs/mol-repr/structure/complex-representation.js +1 -1
  253. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +61 -19
  254. package/lib/commonjs/mol-repr/structure/params.d.ts +81 -19
  255. package/lib/commonjs/mol-repr/structure/registry.d.ts +141 -19
  256. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +30 -0
  257. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  258. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  259. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +30 -0
  260. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  261. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  262. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +1 -1
  263. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  264. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +2 -7
  265. package/lib/commonjs/mol-repr/structure/representation/label.d.ts +30 -0
  266. package/lib/commonjs/mol-repr/structure/representation/label.js +1 -1
  267. package/lib/commonjs/mol-repr/structure/representation/line.d.ts +30 -0
  268. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  269. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +1 -1
  270. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +30 -0
  271. package/lib/commonjs/mol-repr/structure/representation/point.d.ts +30 -0
  272. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +30 -0
  273. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +30 -0
  274. package/lib/commonjs/mol-repr/structure/units-representation.js +1 -1
  275. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +81 -19
  276. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  277. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  278. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  279. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
  280. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  281. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
  282. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +10 -0
  283. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
  284. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
  285. package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +10 -0
  286. package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +10 -0
  287. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  288. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  289. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  290. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  291. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  292. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  293. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  294. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  295. package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +10 -0
  296. package/lib/commonjs/mol-repr/structure/visual/label-text.js +1 -2
  297. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  298. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  299. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  300. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  301. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  302. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  303. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  304. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  305. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  306. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  307. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  308. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  309. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  310. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  311. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +1 -1
  312. package/lib/commonjs/mol-repr/structure/visual/util/common.d.ts +3 -2
  313. package/lib/commonjs/mol-repr/structure/visual/util/common.js +2 -5
  314. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  315. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +12 -12
  316. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  317. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  318. package/lib/commonjs/mol-repr/visual.js +11 -7
  319. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +33 -57
  320. package/lib/commonjs/mol-repr/volume/direct-volume.js +8 -12
  321. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +60 -0
  322. package/lib/commonjs/mol-repr/volume/isosurface.js +11 -2
  323. package/lib/commonjs/mol-repr/volume/registry.d.ts +31 -19
  324. package/lib/commonjs/mol-repr/volume/representation.d.ts +10 -0
  325. package/lib/commonjs/mol-repr/volume/slice.d.ts +30 -0
  326. package/lib/commonjs/mol-repr/volume/slice.js +2 -2
  327. package/lib/commonjs/mol-repr/volume/util.js +2 -2
  328. package/lib/commonjs/mol-script/language/builder.d.ts +0 -1
  329. package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
  330. package/lib/commonjs/mol-theme/clipping.js +5 -12
  331. package/lib/commonjs/mol-theme/color/volume-value.d.ts +17 -0
  332. package/lib/commonjs/mol-theme/color/volume-value.js +57 -0
  333. package/lib/commonjs/mol-theme/color.d.ts +3 -0
  334. package/lib/commonjs/mol-theme/color.js +2 -0
  335. package/lib/commonjs/mol-util/clip.d.ts +49 -0
  336. package/lib/commonjs/mol-util/clip.js +97 -0
  337. package/lib/commonjs/mol-util/number-packing.d.ts +11 -0
  338. package/lib/commonjs/mol-util/{float-packing.js → number-packing.js} +10 -19
  339. package/lib/examples/alpha-orbitals/index.html +61 -60
  340. package/lib/examples/alpha-orbitals/index.js +4 -5
  341. package/lib/examples/basic-wrapper/index.html +137 -136
  342. package/lib/examples/basic-wrapper/index.js +24 -12
  343. package/lib/examples/lighting/index.d.ts +1 -1
  344. package/lib/examples/lighting/index.html +88 -86
  345. package/lib/examples/lighting/index.js +58 -42
  346. package/lib/examples/proteopedia-wrapper/index.html +236 -235
  347. package/lib/examples/proteopedia-wrapper/index.js +27 -15
  348. package/lib/extensions/alpha-orbitals/transforms.d.ts +0 -1
  349. package/lib/extensions/alpha-orbitals/transforms.js +1 -14
  350. package/lib/extensions/anvil/behavior.d.ts +4 -0
  351. package/lib/extensions/anvil/representation.d.ts +50 -0
  352. package/lib/extensions/cellpack/representation.d.ts +10 -0
  353. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  354. package/lib/extensions/geo-export/mesh-exporter.js +4 -4
  355. package/lib/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
  356. package/lib/extensions/model-archive/quality-assessment/behavior.js +233 -0
  357. package/lib/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
  358. package/lib/extensions/model-archive/quality-assessment/color/plddt.js +120 -0
  359. package/lib/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
  360. package/lib/extensions/model-archive/quality-assessment/color/qmean.js +106 -0
  361. package/lib/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
  362. package/lib/extensions/model-archive/quality-assessment/prop.js +127 -0
  363. package/lib/extensions/pdbe/structure-quality-report/prop.js +1 -1
  364. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  365. package/lib/extensions/rcsb/assembly-symmetry/prop.js +1 -1
  366. package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  367. package/lib/extensions/rcsb/validation-report/prop.js +1 -1
  368. package/lib/extensions/rcsb/validation-report/representation.d.ts +50 -0
  369. package/lib/mol-canvas3d/canvas3d.d.ts +3 -9
  370. package/lib/mol-canvas3d/canvas3d.js +34 -23
  371. package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  372. package/lib/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  373. package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
  374. package/lib/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  375. package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
  376. package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
  377. package/lib/mol-canvas3d/passes/draw.d.ts +13 -1
  378. package/lib/mol-canvas3d/passes/draw.js +16 -15
  379. package/lib/mol-canvas3d/passes/image.d.ts +1 -0
  380. package/lib/mol-canvas3d/passes/image.js +3 -2
  381. package/lib/mol-canvas3d/passes/marking.js +1 -1
  382. package/lib/mol-canvas3d/passes/multi-sample.d.ts +10 -2
  383. package/lib/mol-canvas3d/passes/multi-sample.js +18 -14
  384. package/lib/mol-canvas3d/passes/pick.js +11 -11
  385. package/lib/mol-canvas3d/passes/postprocessing.js +3 -3
  386. package/lib/mol-canvas3d/passes/smaa.js +1 -1
  387. package/lib/mol-geo/geometry/base.d.ts +18 -0
  388. package/lib/mol-geo/geometry/base.js +18 -1
  389. package/lib/mol-geo/geometry/clipping-data.d.ts +1 -3
  390. package/lib/mol-geo/geometry/clipping-data.js +3 -8
  391. package/lib/mol-geo/geometry/color-data.d.ts +1 -1
  392. package/lib/mol-geo/geometry/color-data.js +22 -0
  393. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +12 -2
  394. package/lib/mol-geo/geometry/cylinders/cylinders.js +2 -2
  395. package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  396. package/lib/mol-geo/geometry/direct-volume/direct-volume.js +22 -67
  397. package/lib/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  398. package/lib/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  399. package/lib/mol-geo/geometry/image/image.d.ts +10 -0
  400. package/lib/mol-geo/geometry/image/image.js +1 -1
  401. package/lib/mol-geo/geometry/lines/lines.d.ts +11 -0
  402. package/lib/mol-geo/geometry/lines/lines.js +1 -1
  403. package/lib/mol-geo/geometry/marker-data.d.ts +0 -1
  404. package/lib/mol-geo/geometry/marker-data.js +13 -9
  405. package/lib/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  406. package/lib/mol-geo/geometry/mesh/mesh.js +2 -2
  407. package/lib/mol-geo/geometry/points/points.d.ts +11 -1
  408. package/lib/mol-geo/geometry/points/points.js +1 -1
  409. package/lib/mol-geo/geometry/size-data.js +5 -5
  410. package/lib/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  411. package/lib/mol-geo/geometry/spheres/spheres.js +2 -2
  412. package/lib/mol-geo/geometry/text/text.d.ts +10 -0
  413. package/lib/mol-geo/geometry/text/text.js +1 -1
  414. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  415. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  416. package/lib/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  417. package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  418. package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  419. package/lib/mol-gl/render-object.d.ts +2 -1
  420. package/lib/mol-gl/render-object.js +10 -10
  421. package/lib/mol-gl/renderable/cylinders.d.ts +11 -5
  422. package/lib/mol-gl/renderable/cylinders.js +3 -3
  423. package/lib/mol-gl/renderable/direct-volume.d.ts +15 -14
  424. package/lib/mol-gl/renderable/direct-volume.js +3 -3
  425. package/lib/mol-gl/renderable/image.d.ts +10 -4
  426. package/lib/mol-gl/renderable/image.js +2 -2
  427. package/lib/mol-gl/renderable/lines.d.ts +39 -33
  428. package/lib/mol-gl/renderable/lines.js +4 -4
  429. package/lib/mol-gl/renderable/mesh.d.ts +11 -5
  430. package/lib/mol-gl/renderable/mesh.js +3 -3
  431. package/lib/mol-gl/renderable/points.d.ts +10 -4
  432. package/lib/mol-gl/renderable/points.js +2 -2
  433. package/lib/mol-gl/renderable/schema.d.ts +10 -11
  434. package/lib/mol-gl/renderable/schema.js +4 -10
  435. package/lib/mol-gl/renderable/spheres.d.ts +11 -5
  436. package/lib/mol-gl/renderable/spheres.js +3 -3
  437. package/lib/mol-gl/renderable/text.d.ts +10 -4
  438. package/lib/mol-gl/renderable/text.js +2 -2
  439. package/lib/mol-gl/renderable/texture-mesh.d.ts +11 -6
  440. package/lib/mol-gl/renderable/texture-mesh.js +3 -3
  441. package/lib/mol-gl/renderable.d.ts +0 -1
  442. package/lib/mol-gl/renderer.d.ts +12 -12
  443. package/lib/mol-gl/renderer.js +24 -93
  444. package/lib/mol-gl/scene.d.ts +2 -2
  445. package/lib/mol-gl/scene.js +7 -5
  446. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  447. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  448. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  449. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  450. package/lib/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  451. package/lib/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  452. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  453. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  454. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  455. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  456. package/lib/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  457. package/lib/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  458. package/lib/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  459. package/lib/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  460. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  461. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  462. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  463. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  464. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  465. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  466. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  467. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  468. package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  469. package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
  470. package/lib/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  471. package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  472. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  473. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  474. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  475. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  476. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  477. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  478. package/lib/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  479. package/lib/mol-gl/shader/gaussian-density.frag.js +1 -1
  480. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  481. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  482. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  483. package/lib/mol-gl/shader/image.frag.js +1 -1
  484. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  485. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  486. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  487. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  488. package/lib/mol-gl/shader/mesh.vert.d.ts +1 -1
  489. package/lib/mol-gl/shader/mesh.vert.js +1 -1
  490. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  491. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  492. package/lib/mol-gl/shader-code.d.ts +3 -1
  493. package/lib/mol-gl/shader-code.js +43 -14
  494. package/lib/mol-gl/webgl/render-item.d.ts +7 -6
  495. package/lib/mol-gl/webgl/render-item.js +8 -6
  496. package/lib/mol-gl/webgl/resources.js +8 -1
  497. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
  498. package/lib/mol-io/reader/cif/schema/mmcif.js +326 -1
  499. package/lib/mol-io/reader/mol2/parser.d.ts +1 -1
  500. package/lib/mol-io/reader/mol2/parser.js +33 -3
  501. package/lib/mol-io/reader/mol2/schema.d.ts +12 -1
  502. package/lib/mol-io/reader/mol2/schema.js +1 -1
  503. package/lib/mol-math/geometry/gaussian-density/gpu.js +2 -2
  504. package/lib/mol-math/geometry/symmetry-operator.js +3 -2
  505. package/lib/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  506. package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
  507. package/lib/mol-model/structure/model/model.d.ts +1 -0
  508. package/lib/mol-model/structure/model/model.js +8 -2
  509. package/lib/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
  510. package/lib/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
  511. package/lib/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
  512. package/lib/mol-model/structure/model/properties/utils/atomic-derived.js +5 -2
  513. package/lib/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
  514. package/lib/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
  515. package/lib/mol-model/structure/model/types.js +9 -0
  516. package/lib/mol-model/structure/structure/element/stats.js +8 -0
  517. package/lib/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  518. package/lib/mol-model/structure/structure/unit/bonds/common.js +9 -1
  519. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  520. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +21 -11
  521. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  522. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +22 -12
  523. package/lib/mol-model/structure/structure/unit/rings.js +2 -0
  524. package/lib/mol-model-formats/shape/ply.d.ts +20 -0
  525. package/lib/mol-model-formats/structure/mol2.d.ts +1 -1
  526. package/lib/mol-model-formats/structure/mol2.js +37 -7
  527. package/lib/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  528. package/lib/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  529. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  530. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
  531. package/lib/mol-model-props/computed/representations/interactions.d.ts +30 -0
  532. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  533. package/lib/mol-plugin/behavior/dynamic/representation.js +4 -6
  534. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  535. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  536. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
  537. package/lib/mol-plugin/commands.d.ts +1 -4
  538. package/lib/mol-plugin/config.d.ts +2 -2
  539. package/lib/mol-plugin/config.js +4 -23
  540. package/lib/mol-plugin/features.d.ts +9 -0
  541. package/lib/mol-plugin/features.js +35 -0
  542. package/lib/mol-plugin/spec.js +1 -0
  543. package/lib/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  544. package/lib/mol-plugin/version.js +2 -2
  545. package/lib/mol-plugin-state/actions/structure.d.ts +8 -1
  546. package/lib/mol-plugin-state/actions/structure.js +183 -72
  547. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
  548. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.js +14 -9
  549. package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
  550. package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +4 -4
  551. package/lib/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  552. package/lib/mol-plugin-state/helpers/structure-clipping.js +1 -1
  553. package/lib/mol-plugin-state/helpers/structure-selection-query.js +34 -20
  554. package/lib/mol-plugin-state/manager/structure/component.d.ts +13 -1
  555. package/lib/mol-plugin-state/manager/structure/component.js +14 -9
  556. package/lib/mol-plugin-state/manager/structure/selection.js +3 -1
  557. package/lib/mol-plugin-state/transforms/representation.d.ts +32 -0
  558. package/lib/mol-plugin-state/transforms/representation.js +2 -2
  559. package/lib/mol-plugin-ui/index.d.ts +4 -4
  560. package/lib/mol-plugin-ui/index.js +11 -13
  561. package/lib/mol-plugin-ui/plugin.js +1 -1
  562. package/lib/mol-plugin-ui/skin/base/base.scss +32 -32
  563. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  564. package/lib/mol-plugin-ui/skin/base/components/controls.scss +418 -418
  565. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  566. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  567. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  568. package/lib/mol-plugin-ui/skin/base/components/misc.scss +643 -643
  569. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  570. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  571. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  572. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  573. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  574. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +127 -127
  575. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  576. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  577. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  578. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  579. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  580. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  581. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  582. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  583. package/lib/mol-plugin-ui/skin/base/variables.scss +85 -85
  584. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  585. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  586. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  587. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  588. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  589. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  590. package/lib/mol-plugin-ui/viewport/simple-settings.js +2 -6
  591. package/lib/mol-repr/shape/loci/angle.d.ts +10 -0
  592. package/lib/mol-repr/shape/loci/common.d.ts +10 -0
  593. package/lib/mol-repr/shape/loci/dihedral.d.ts +10 -0
  594. package/lib/mol-repr/shape/loci/distance.d.ts +10 -0
  595. package/lib/mol-repr/shape/loci/label.d.ts +10 -0
  596. package/lib/mol-repr/shape/loci/orientation.d.ts +10 -0
  597. package/lib/mol-repr/shape/loci/plane.d.ts +10 -0
  598. package/lib/mol-repr/shape/model/unitcell.d.ts +10 -0
  599. package/lib/mol-repr/structure/complex-representation.js +1 -1
  600. package/lib/mol-repr/structure/complex-visual.d.ts +61 -19
  601. package/lib/mol-repr/structure/params.d.ts +81 -19
  602. package/lib/mol-repr/structure/registry.d.ts +141 -19
  603. package/lib/mol-repr/structure/representation/backbone.d.ts +30 -0
  604. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  605. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  606. package/lib/mol-repr/structure/representation/cartoon.d.ts +30 -0
  607. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  608. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  609. package/lib/mol-repr/structure/representation/gaussian-surface.js +1 -1
  610. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  611. package/lib/mol-repr/structure/representation/gaussian-volume.js +2 -7
  612. package/lib/mol-repr/structure/representation/label.d.ts +30 -0
  613. package/lib/mol-repr/structure/representation/label.js +1 -1
  614. package/lib/mol-repr/structure/representation/line.d.ts +30 -0
  615. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  616. package/lib/mol-repr/structure/representation/molecular-surface.js +1 -1
  617. package/lib/mol-repr/structure/representation/orientation.d.ts +30 -0
  618. package/lib/mol-repr/structure/representation/point.d.ts +30 -0
  619. package/lib/mol-repr/structure/representation/putty.d.ts +30 -0
  620. package/lib/mol-repr/structure/representation/spacefill.d.ts +30 -0
  621. package/lib/mol-repr/structure/units-representation.js +1 -1
  622. package/lib/mol-repr/structure/units-visual.d.ts +81 -19
  623. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  624. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  625. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  626. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
  627. package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  628. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
  629. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +10 -0
  630. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
  631. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
  632. package/lib/mol-repr/structure/visual/element-cross.d.ts +10 -0
  633. package/lib/mol-repr/structure/visual/element-point.d.ts +10 -0
  634. package/lib/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  635. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  636. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  637. package/lib/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  638. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  639. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  640. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  641. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  642. package/lib/mol-repr/structure/visual/label-text.d.ts +10 -0
  643. package/lib/mol-repr/structure/visual/label-text.js +1 -2
  644. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  645. package/lib/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  646. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  647. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  648. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  649. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  650. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  651. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  652. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  653. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  654. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  655. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  656. package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  657. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  658. package/lib/mol-repr/structure/visual/util/bond.js +1 -1
  659. package/lib/mol-repr/structure/visual/util/common.d.ts +3 -2
  660. package/lib/mol-repr/structure/visual/util/common.js +2 -5
  661. package/lib/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  662. package/lib/mol-repr/structure/visual/util/gaussian.js +12 -12
  663. package/lib/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  664. package/lib/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  665. package/lib/mol-repr/visual.js +11 -7
  666. package/lib/mol-repr/volume/direct-volume.d.ts +33 -57
  667. package/lib/mol-repr/volume/direct-volume.js +8 -12
  668. package/lib/mol-repr/volume/isosurface.d.ts +60 -0
  669. package/lib/mol-repr/volume/isosurface.js +11 -2
  670. package/lib/mol-repr/volume/registry.d.ts +31 -19
  671. package/lib/mol-repr/volume/representation.d.ts +10 -0
  672. package/lib/mol-repr/volume/slice.d.ts +30 -0
  673. package/lib/mol-repr/volume/slice.js +2 -2
  674. package/lib/mol-repr/volume/util.js +2 -2
  675. package/lib/mol-script/language/builder.d.ts +0 -1
  676. package/lib/mol-theme/clipping.d.ts +7 -15
  677. package/lib/mol-theme/clipping.js +5 -12
  678. package/lib/mol-theme/color/volume-value.d.ts +17 -0
  679. package/lib/mol-theme/color/volume-value.js +52 -0
  680. package/lib/mol-theme/color.d.ts +3 -0
  681. package/lib/mol-theme/color.js +2 -0
  682. package/lib/mol-util/clip.d.ts +49 -0
  683. package/lib/mol-util/clip.js +93 -0
  684. package/lib/mol-util/number-packing.d.ts +11 -0
  685. package/lib/mol-util/{float-packing.js → number-packing.js} +7 -14
  686. package/package.json +162 -162
  687. package/lib/commonjs/mol-util/float-packing.d.ts +0 -15
  688. package/lib/mol-util/float-packing.d.ts +0 -15
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ *
5
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.QualityAssessmentQmeanPreset = exports.QualityAssessmentPLDDTPreset = exports.MAQualityAssessment = void 0;
9
+ var tslib_1 = require("tslib");
10
+ var param_definition_1 = require("../../../mol-util/param-definition");
11
+ var behavior_1 = require("../../../mol-plugin/behavior/behavior");
12
+ var compiler_1 = require("../../../mol-script/runtime/query/compiler");
13
+ var plddt_1 = require("./color/plddt");
14
+ var prop_1 = require("./prop");
15
+ var structure_selection_query_1 = require("../../../mol-plugin-state/helpers/structure-selection-query");
16
+ var builder_1 = require("../../../mol-script/language/builder");
17
+ var int_1 = require("../../../mol-data/int");
18
+ var util_1 = require("../../../mol-data/util");
19
+ var qmean_1 = require("./color/qmean");
20
+ var representation_preset_1 = require("../../../mol-plugin-state/builder/structure/representation-preset");
21
+ var mol_state_1 = require("../../../mol-state");
22
+ exports.MAQualityAssessment = behavior_1.PluginBehavior.create({
23
+ name: 'ma-quality-assessment-prop',
24
+ category: 'custom-props',
25
+ display: {
26
+ name: 'Quality Assessment',
27
+ description: 'Data included in Model Archive files.'
28
+ },
29
+ ctor: /** @class */ (function (_super) {
30
+ (0, tslib_1.__extends)(class_1, _super);
31
+ function class_1() {
32
+ var _this = _super !== null && _super.apply(this, arguments) || this;
33
+ _this.provider = prop_1.QualityAssessmentProvider;
34
+ _this.labelProvider = {
35
+ label: function (loci) {
36
+ if (!_this.params.showTooltip)
37
+ return;
38
+ return [
39
+ plddtLabel(loci),
40
+ qmeanLabel(loci),
41
+ ].filter(function (l) { return !!l; }).join('</br>');
42
+ }
43
+ };
44
+ return _this;
45
+ }
46
+ class_1.prototype.register = function () {
47
+ compiler_1.DefaultQueryRuntimeTable.addCustomProp(this.provider.descriptor);
48
+ this.ctx.customModelProperties.register(this.provider, this.params.autoAttach);
49
+ this.ctx.managers.lociLabels.addProvider(this.labelProvider);
50
+ this.ctx.representation.structure.themes.colorThemeRegistry.add(plddt_1.PLDDTConfidenceColorThemeProvider);
51
+ this.ctx.representation.structure.themes.colorThemeRegistry.add(qmean_1.QmeanScoreColorThemeProvider);
52
+ this.ctx.query.structure.registry.add(confidentPLDDT);
53
+ this.ctx.builders.structure.representation.registerPreset(exports.QualityAssessmentPLDDTPreset);
54
+ this.ctx.builders.structure.representation.registerPreset(exports.QualityAssessmentQmeanPreset);
55
+ };
56
+ class_1.prototype.update = function (p) {
57
+ var updated = this.params.autoAttach !== p.autoAttach;
58
+ this.params.autoAttach = p.autoAttach;
59
+ this.params.showTooltip = p.showTooltip;
60
+ this.ctx.customStructureProperties.setDefaultAutoAttach(this.provider.descriptor.name, this.params.autoAttach);
61
+ return updated;
62
+ };
63
+ class_1.prototype.unregister = function () {
64
+ compiler_1.DefaultQueryRuntimeTable.removeCustomProp(this.provider.descriptor);
65
+ this.ctx.customStructureProperties.unregister(this.provider.descriptor.name);
66
+ this.ctx.managers.lociLabels.removeProvider(this.labelProvider);
67
+ this.ctx.representation.structure.themes.colorThemeRegistry.remove(plddt_1.PLDDTConfidenceColorThemeProvider);
68
+ this.ctx.representation.structure.themes.colorThemeRegistry.remove(qmean_1.QmeanScoreColorThemeProvider);
69
+ this.ctx.query.structure.registry.remove(confidentPLDDT);
70
+ this.ctx.builders.structure.representation.unregisterPreset(exports.QualityAssessmentPLDDTPreset);
71
+ this.ctx.builders.structure.representation.unregisterPreset(exports.QualityAssessmentQmeanPreset);
72
+ };
73
+ return class_1;
74
+ }(behavior_1.PluginBehavior.Handler)),
75
+ params: function () { return ({
76
+ autoAttach: param_definition_1.ParamDefinition.Boolean(false),
77
+ showTooltip: param_definition_1.ParamDefinition.Boolean(true),
78
+ }); }
79
+ });
80
+ //
81
+ function plddtCategory(score) {
82
+ if (score > 50 && score <= 70)
83
+ return 'Low';
84
+ if (score > 70 && score <= 90)
85
+ return 'Confident';
86
+ if (score > 90)
87
+ return 'Very high';
88
+ return 'Very low';
89
+ }
90
+ function plddtLabel(loci) {
91
+ return metricLabel(loci, 'pLDDT', function (scoreAvg, countInfo) { return "pLDDT Score ".concat(countInfo, ": ").concat(scoreAvg.toFixed(2), " <small>(").concat(plddtCategory(scoreAvg), ")</small>"); });
92
+ }
93
+ function qmeanLabel(loci) {
94
+ return metricLabel(loci, 'qmean', function (scoreAvg, countInfo) { return "QMEAN Score ".concat(countInfo, ": ").concat(scoreAvg.toFixed(2)); });
95
+ }
96
+ function metricLabel(loci, name, label) {
97
+ var _a;
98
+ if (loci.kind === 'element-loci') {
99
+ if (loci.elements.length === 0)
100
+ return;
101
+ var seen_1 = new Set();
102
+ var scoreSeen_1 = new Set();
103
+ var scoreSum_1 = 0;
104
+ var _loop_1 = function (indices, unit) {
105
+ var metric = (_a = prop_1.QualityAssessmentProvider.get(unit.model).value) === null || _a === void 0 ? void 0 : _a[name];
106
+ if (!metric)
107
+ return "continue";
108
+ var residueIndex = unit.model.atomicHierarchy.residueAtomSegments.index;
109
+ var elements = unit.elements;
110
+ int_1.OrderedSet.forEach(indices, function (idx) {
111
+ var _a;
112
+ var eI = elements[idx];
113
+ var rI = residueIndex[eI];
114
+ var residueKey = (0, util_1.cantorPairing)(rI, unit.id);
115
+ if (!seen_1.has(residueKey)) {
116
+ var score = (_a = metric.get(residueIndex[eI])) !== null && _a !== void 0 ? _a : -1;
117
+ if (score !== -1) {
118
+ scoreSum_1 += score;
119
+ scoreSeen_1.add(residueKey);
120
+ }
121
+ seen_1.add(residueKey);
122
+ }
123
+ });
124
+ };
125
+ for (var _i = 0, _b = loci.elements; _i < _b.length; _i++) {
126
+ var _c = _b[_i], indices = _c.indices, unit = _c.unit;
127
+ _loop_1(indices, unit);
128
+ }
129
+ if (seen_1.size === 0)
130
+ return;
131
+ var summary = [];
132
+ if (scoreSeen_1.size) {
133
+ var countInfo = "<small>(".concat(scoreSeen_1.size, " ").concat(scoreSeen_1.size > 1 ? 'Residues avg.' : 'Residue', ")</small>");
134
+ var scoreAvg = scoreSum_1 / scoreSeen_1.size;
135
+ summary.push(label(scoreAvg, countInfo));
136
+ }
137
+ if (summary.length) {
138
+ return summary.join('</br>');
139
+ }
140
+ }
141
+ }
142
+ //
143
+ var confidentPLDDT = (0, structure_selection_query_1.StructureSelectionQuery)('Confident pLDDT (> 70)', builder_1.MolScriptBuilder.struct.modifier.union([
144
+ builder_1.MolScriptBuilder.struct.modifier.wholeResidues([
145
+ builder_1.MolScriptBuilder.struct.modifier.union([
146
+ builder_1.MolScriptBuilder.struct.generator.atomGroups({
147
+ 'chain-test': builder_1.MolScriptBuilder.core.rel.eq([builder_1.MolScriptBuilder.ammp('objectPrimitive'), 'atomistic']),
148
+ 'residue-test': builder_1.MolScriptBuilder.core.rel.gr([prop_1.QualityAssessment.symbols.pLDDT.symbol(), 70]),
149
+ })
150
+ ])
151
+ ])
152
+ ]), {
153
+ description: 'Select residues with a pLDDT > 70 (confident).',
154
+ category: structure_selection_query_1.StructureSelectionCategory.Validation,
155
+ ensureCustomProperties: function (ctx, structure) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
156
+ var _i, _a, m;
157
+ return (0, tslib_1.__generator)(this, function (_b) {
158
+ switch (_b.label) {
159
+ case 0:
160
+ _i = 0, _a = structure.models;
161
+ _b.label = 1;
162
+ case 1:
163
+ if (!(_i < _a.length)) return [3 /*break*/, 4];
164
+ m = _a[_i];
165
+ return [4 /*yield*/, prop_1.QualityAssessmentProvider.attach(ctx, m, void 0, true)];
166
+ case 2:
167
+ _b.sent();
168
+ _b.label = 3;
169
+ case 3:
170
+ _i++;
171
+ return [3 /*break*/, 1];
172
+ case 4: return [2 /*return*/];
173
+ }
174
+ });
175
+ }); }
176
+ });
177
+ //
178
+ exports.QualityAssessmentPLDDTPreset = (0, representation_preset_1.StructureRepresentationPresetProvider)({
179
+ id: 'preset-structure-representation-ma-quality-assessment-plddt',
180
+ display: {
181
+ name: 'Quality Assessment (pLDDT)', group: 'Annotation',
182
+ description: 'Color structure based on pLDDT Confidence.'
183
+ },
184
+ isApplicable: function (a) {
185
+ return !!a.data.models.some(function (m) { return prop_1.QualityAssessment.isApplicable(m, 'pLDDT'); });
186
+ },
187
+ params: function () { return representation_preset_1.StructureRepresentationPresetProvider.CommonParams; },
188
+ apply: function (ref, params, plugin) {
189
+ var _a;
190
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
191
+ var structureCell, structure, colorTheme;
192
+ return (0, tslib_1.__generator)(this, function (_b) {
193
+ switch (_b.label) {
194
+ case 0:
195
+ structureCell = mol_state_1.StateObjectRef.resolveAndCheck(plugin.state.data, ref);
196
+ structure = (_a = structureCell === null || structureCell === void 0 ? void 0 : structureCell.obj) === null || _a === void 0 ? void 0 : _a.data;
197
+ if (!structureCell || !structure)
198
+ return [2 /*return*/, {}];
199
+ colorTheme = plddt_1.PLDDTConfidenceColorThemeProvider.name;
200
+ return [4 /*yield*/, representation_preset_1.PresetStructureRepresentations.auto.apply(ref, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, params), { theme: { globalName: colorTheme, focus: { name: colorTheme } } }), plugin)];
201
+ case 1: return [2 /*return*/, _b.sent()];
202
+ }
203
+ });
204
+ });
205
+ }
206
+ });
207
+ exports.QualityAssessmentQmeanPreset = (0, representation_preset_1.StructureRepresentationPresetProvider)({
208
+ id: 'preset-structure-representation-ma-quality-assessment-qmean',
209
+ display: {
210
+ name: 'Quality Assessment (QMEAN)', group: 'Annotation',
211
+ description: 'Color structure based on QMEAN Score.'
212
+ },
213
+ isApplicable: function (a) {
214
+ return !!a.data.models.some(function (m) { return prop_1.QualityAssessment.isApplicable(m, 'qmean'); });
215
+ },
216
+ params: function () { return representation_preset_1.StructureRepresentationPresetProvider.CommonParams; },
217
+ apply: function (ref, params, plugin) {
218
+ var _a;
219
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
220
+ var structureCell, structure, colorTheme;
221
+ return (0, tslib_1.__generator)(this, function (_b) {
222
+ switch (_b.label) {
223
+ case 0:
224
+ structureCell = mol_state_1.StateObjectRef.resolveAndCheck(plugin.state.data, ref);
225
+ structure = (_a = structureCell === null || structureCell === void 0 ? void 0 : structureCell.obj) === null || _a === void 0 ? void 0 : _a.data;
226
+ if (!structureCell || !structure)
227
+ return [2 /*return*/, {}];
228
+ colorTheme = qmean_1.QmeanScoreColorThemeProvider.name;
229
+ return [4 /*yield*/, representation_preset_1.PresetStructureRepresentations.auto.apply(ref, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, params), { theme: { globalName: colorTheme, focus: { name: colorTheme } } }), plugin)];
230
+ case 1: return [2 /*return*/, _b.sent()];
231
+ }
232
+ });
233
+ });
234
+ }
235
+ });
236
+ //# sourceMappingURL=behavior.js.map
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright (c) 2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Mandar Deshpande <mandar@ebi.ac.uk>
5
+ * @author Sebastian Bittrich <sebastian.bittrich@rcsb.org>
6
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
7
+ */
8
+ import { ColorTheme } from '../../../../mol-theme/color';
9
+ import { ThemeDataContext } from '../../../../mol-theme/theme';
10
+ import { ParamDefinition as PD } from '../../../../mol-util/param-definition';
11
+ export declare function getPLDDTConfidenceColorThemeParams(ctx: ThemeDataContext): {};
12
+ export declare type PLDDTConfidenceColorThemeParams = ReturnType<typeof getPLDDTConfidenceColorThemeParams>;
13
+ export declare function PLDDTConfidenceColorTheme(ctx: ThemeDataContext, props: PD.Values<PLDDTConfidenceColorThemeParams>): ColorTheme<PLDDTConfidenceColorThemeParams>;
14
+ export declare const PLDDTConfidenceColorThemeProvider: ColorTheme.Provider<PLDDTConfidenceColorThemeParams, 'plddt-confidence'>;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ *
5
+ * @author Mandar Deshpande <mandar@ebi.ac.uk>
6
+ * @author Sebastian Bittrich <sebastian.bittrich@rcsb.org>
7
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PLDDTConfidenceColorThemeProvider = exports.PLDDTConfidenceColorTheme = exports.getPLDDTConfidenceColorThemeParams = void 0;
11
+ var tslib_1 = require("tslib");
12
+ var prop_1 = require("../prop");
13
+ var structure_1 = require("../../../../mol-model/structure");
14
+ var color_1 = require("../../../../mol-util/color");
15
+ var param_definition_1 = require("../../../../mol-util/param-definition");
16
+ var legend_1 = require("../../../../mol-util/legend");
17
+ var DefaultColor = (0, color_1.Color)(0xaaaaaa);
18
+ var ConfidenceColors = {
19
+ 'No Score': DefaultColor,
20
+ 'Very Low': (0, color_1.Color)(0xff7d45),
21
+ 'Low': (0, color_1.Color)(0xffdb13),
22
+ 'Confident': (0, color_1.Color)(0x65cbf3),
23
+ 'Very High': (0, color_1.Color)(0x0053d6)
24
+ };
25
+ var ConfidenceColorLegend = (0, legend_1.TableLegend)(Object.entries(ConfidenceColors));
26
+ function getPLDDTConfidenceColorThemeParams(ctx) {
27
+ return {};
28
+ }
29
+ exports.getPLDDTConfidenceColorThemeParams = getPLDDTConfidenceColorThemeParams;
30
+ function PLDDTConfidenceColorTheme(ctx, props) {
31
+ var color = function () { return DefaultColor; };
32
+ if (ctx.structure) {
33
+ var l_1 = structure_1.StructureElement.Location.create(ctx.structure.root);
34
+ var getColor_1 = function (location) {
35
+ var _a, _b;
36
+ var unit = location.unit, element = location.element;
37
+ if (!structure_1.Unit.isAtomic(unit))
38
+ return DefaultColor;
39
+ var qualityAssessment = prop_1.QualityAssessmentProvider.get(unit.model).value;
40
+ var score = (_b = (_a = qualityAssessment === null || qualityAssessment === void 0 ? void 0 : qualityAssessment.pLDDT) === null || _a === void 0 ? void 0 : _a.get(unit.model.atomicHierarchy.residueAtomSegments.index[element])) !== null && _b !== void 0 ? _b : -1;
41
+ if (score < 0) {
42
+ return DefaultColor;
43
+ }
44
+ else if (score <= 50) {
45
+ return (0, color_1.Color)(0xff7d45);
46
+ }
47
+ else if (score <= 70) {
48
+ return (0, color_1.Color)(0xffdb13);
49
+ }
50
+ else if (score <= 90) {
51
+ return (0, color_1.Color)(0x65cbf3);
52
+ }
53
+ else {
54
+ return (0, color_1.Color)(0x0053d6);
55
+ }
56
+ };
57
+ color = function (location) {
58
+ if (structure_1.StructureElement.Location.is(location)) {
59
+ return getColor_1(location);
60
+ }
61
+ else if (structure_1.Bond.isLocation(location)) {
62
+ l_1.unit = location.aUnit;
63
+ l_1.element = location.aUnit.elements[location.aIndex];
64
+ return getColor_1(l_1);
65
+ }
66
+ return DefaultColor;
67
+ };
68
+ }
69
+ return {
70
+ factory: PLDDTConfidenceColorTheme,
71
+ granularity: 'group',
72
+ preferSmoothing: true,
73
+ color: color,
74
+ props: props,
75
+ description: 'Assigns residue colors according to the pLDDT Confidence score.',
76
+ legend: ConfidenceColorLegend
77
+ };
78
+ }
79
+ exports.PLDDTConfidenceColorTheme = PLDDTConfidenceColorTheme;
80
+ exports.PLDDTConfidenceColorThemeProvider = {
81
+ name: 'plddt-confidence',
82
+ label: 'pLDDT Confidence',
83
+ category: "Validation" /* Validation */,
84
+ factory: PLDDTConfidenceColorTheme,
85
+ getParams: getPLDDTConfidenceColorThemeParams,
86
+ defaultValues: param_definition_1.ParamDefinition.getDefaultValues(getPLDDTConfidenceColorThemeParams({})),
87
+ isApplicable: function (ctx) { var _a; return !!((_a = ctx.structure) === null || _a === void 0 ? void 0 : _a.models.some(function (m) { return prop_1.QualityAssessment.isApplicable(m, 'pLDDT'); })); },
88
+ ensureCustomProperties: {
89
+ attach: function (ctx, data) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
90
+ var _i, _a, m;
91
+ return (0, tslib_1.__generator)(this, function (_b) {
92
+ switch (_b.label) {
93
+ case 0:
94
+ if (!data.structure) return [3 /*break*/, 4];
95
+ _i = 0, _a = data.structure.models;
96
+ _b.label = 1;
97
+ case 1:
98
+ if (!(_i < _a.length)) return [3 /*break*/, 4];
99
+ m = _a[_i];
100
+ return [4 /*yield*/, prop_1.QualityAssessmentProvider.attach(ctx, m, void 0, true)];
101
+ case 2:
102
+ _b.sent();
103
+ _b.label = 3;
104
+ case 3:
105
+ _i++;
106
+ return [3 /*break*/, 1];
107
+ case 4: return [2 /*return*/];
108
+ }
109
+ });
110
+ }); },
111
+ detach: function (data) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
112
+ var _i, _a, m;
113
+ return (0, tslib_1.__generator)(this, function (_b) {
114
+ if (data.structure) {
115
+ for (_i = 0, _a = data.structure.models; _i < _a.length; _i++) {
116
+ m = _a[_i];
117
+ prop_1.QualityAssessmentProvider.ref(m, false);
118
+ }
119
+ }
120
+ return [2 /*return*/];
121
+ });
122
+ }); }
123
+ }
124
+ };
125
+ //# sourceMappingURL=plddt.js.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright (c) 2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
+ */
6
+ import { ColorTheme } from '../../../../mol-theme/color';
7
+ import { ThemeDataContext } from '../../../../mol-theme/theme';
8
+ import { ParamDefinition as PD } from '../../../../mol-util/param-definition';
9
+ export declare function getQmeanScoreColorThemeParams(ctx: ThemeDataContext): {};
10
+ export declare type QmeanScoreColorThemeParams = ReturnType<typeof getQmeanScoreColorThemeParams>;
11
+ export declare function QmeanScoreColorTheme(ctx: ThemeDataContext, props: PD.Values<QmeanScoreColorThemeParams>): ColorTheme<QmeanScoreColorThemeParams>;
12
+ export declare const QmeanScoreColorThemeProvider: ColorTheme.Provider<QmeanScoreColorThemeParams, 'qmean-score'>;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ *
5
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.QmeanScoreColorThemeProvider = exports.QmeanScoreColorTheme = exports.getQmeanScoreColorThemeParams = void 0;
9
+ var tslib_1 = require("tslib");
10
+ var prop_1 = require("../prop");
11
+ var structure_1 = require("../../../../mol-model/structure");
12
+ var color_1 = require("../../../../mol-util/color");
13
+ var param_definition_1 = require("../../../../mol-util/param-definition");
14
+ var DefaultColor = (0, color_1.Color)(0xaaaaaa);
15
+ function getQmeanScoreColorThemeParams(ctx) {
16
+ return {};
17
+ }
18
+ exports.getQmeanScoreColorThemeParams = getQmeanScoreColorThemeParams;
19
+ function QmeanScoreColorTheme(ctx, props) {
20
+ var color = function () { return DefaultColor; };
21
+ var scale = color_1.ColorScale.create({
22
+ domain: [0, 1],
23
+ listOrName: [
24
+ [(0, color_1.Color)(0xFF5000), 0.5], [(0, color_1.Color)(0x025AFD), 1.0]
25
+ ]
26
+ });
27
+ if (ctx.structure) {
28
+ var l_1 = structure_1.StructureElement.Location.create(ctx.structure.root);
29
+ var getColor_1 = function (location) {
30
+ var _a, _b;
31
+ var unit = location.unit, element = location.element;
32
+ if (!structure_1.Unit.isAtomic(unit))
33
+ return DefaultColor;
34
+ var qualityAssessment = prop_1.QualityAssessmentProvider.get(unit.model).value;
35
+ var score = (_b = (_a = qualityAssessment === null || qualityAssessment === void 0 ? void 0 : qualityAssessment.qmean) === null || _a === void 0 ? void 0 : _a.get(unit.model.atomicHierarchy.residueAtomSegments.index[element])) !== null && _b !== void 0 ? _b : -1;
36
+ if (score < 0) {
37
+ return DefaultColor;
38
+ }
39
+ else {
40
+ return scale.color(score);
41
+ }
42
+ };
43
+ color = function (location) {
44
+ if (structure_1.StructureElement.Location.is(location)) {
45
+ return getColor_1(location);
46
+ }
47
+ else if (structure_1.Bond.isLocation(location)) {
48
+ l_1.unit = location.aUnit;
49
+ l_1.element = location.aUnit.elements[location.aIndex];
50
+ return getColor_1(l_1);
51
+ }
52
+ return DefaultColor;
53
+ };
54
+ }
55
+ return {
56
+ factory: QmeanScoreColorTheme,
57
+ granularity: 'group',
58
+ preferSmoothing: true,
59
+ color: color,
60
+ props: props,
61
+ description: 'Assigns residue colors according to the QMEAN score.',
62
+ legend: scale.legend
63
+ };
64
+ }
65
+ exports.QmeanScoreColorTheme = QmeanScoreColorTheme;
66
+ exports.QmeanScoreColorThemeProvider = {
67
+ name: 'qmean-score',
68
+ label: 'QMEAN Score',
69
+ category: "Validation" /* Validation */,
70
+ factory: QmeanScoreColorTheme,
71
+ getParams: getQmeanScoreColorThemeParams,
72
+ defaultValues: param_definition_1.ParamDefinition.getDefaultValues(getQmeanScoreColorThemeParams({})),
73
+ isApplicable: function (ctx) { var _a; return !!((_a = ctx.structure) === null || _a === void 0 ? void 0 : _a.models.some(function (m) { return prop_1.QualityAssessment.isApplicable(m, 'qmean'); })); },
74
+ ensureCustomProperties: {
75
+ attach: function (ctx, data) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
76
+ var _i, _a, m;
77
+ return (0, tslib_1.__generator)(this, function (_b) {
78
+ switch (_b.label) {
79
+ case 0:
80
+ if (!data.structure) return [3 /*break*/, 4];
81
+ _i = 0, _a = data.structure.models;
82
+ _b.label = 1;
83
+ case 1:
84
+ if (!(_i < _a.length)) return [3 /*break*/, 4];
85
+ m = _a[_i];
86
+ return [4 /*yield*/, prop_1.QualityAssessmentProvider.attach(ctx, m, void 0, true)];
87
+ case 2:
88
+ _b.sent();
89
+ _b.label = 3;
90
+ case 3:
91
+ _i++;
92
+ return [3 /*break*/, 1];
93
+ case 4: return [2 /*return*/];
94
+ }
95
+ });
96
+ }); },
97
+ detach: function (data) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
98
+ var _i, _a, m;
99
+ return (0, tslib_1.__generator)(this, function (_b) {
100
+ if (data.structure) {
101
+ for (_i = 0, _a = data.structure.models; _i < _a.length; _i++) {
102
+ m = _a[_i];
103
+ prop_1.QualityAssessmentProvider.ref(m, false);
104
+ }
105
+ }
106
+ return [2 /*return*/];
107
+ });
108
+ }); }
109
+ }
110
+ };
111
+ //# sourceMappingURL=qmean.js.map
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Copyright (c) 2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
+ */
6
+ import { ParamDefinition as PD } from '../../../mol-util/param-definition';
7
+ import { CustomProperty } from '../../../mol-model-props/common/custom-property';
8
+ import { CustomModelProperty } from '../../../mol-model-props/common/custom-model-property';
9
+ import { Model, ResidueIndex } from '../../../mol-model/structure/model';
10
+ import { QuerySymbolRuntime } from '../../../mol-script/runtime/query/compiler';
11
+ export { QualityAssessment };
12
+ interface QualityAssessment {
13
+ localMetrics: Map<string, Map<ResidueIndex, number>>;
14
+ pLDDT?: Map<ResidueIndex, number>;
15
+ qmean?: Map<ResidueIndex, number>;
16
+ }
17
+ declare namespace QualityAssessment {
18
+ function isApplicable(model?: Model, localMetricName?: 'pLDDT' | 'qmean'): boolean;
19
+ function obtain(ctx: CustomProperty.Context, model: Model, props: QualityAssessmentProps): Promise<CustomProperty.Data<QualityAssessment>>;
20
+ const symbols: {
21
+ pLDDT: QuerySymbolRuntime;
22
+ qmean: QuerySymbolRuntime;
23
+ };
24
+ }
25
+ export declare const QualityAssessmentParams: {};
26
+ export declare type QualityAssessmentParams = typeof QualityAssessmentParams;
27
+ export declare type QualityAssessmentProps = PD.Values<QualityAssessmentParams>;
28
+ export declare const QualityAssessmentProvider: CustomModelProperty.Provider<QualityAssessmentParams, QualityAssessment>;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ *
5
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.QualityAssessmentProvider = exports.QualityAssessmentParams = exports.QualityAssessment = void 0;
9
+ var tslib_1 = require("tslib");
10
+ var param_definition_1 = require("../../../mol-util/param-definition");
11
+ var structure_1 = require("../../../mol-model/structure");
12
+ var custom_model_property_1 = require("../../../mol-model-props/common/custom-model-property");
13
+ var compiler_1 = require("../../../mol-script/runtime/query/compiler");
14
+ var symbol_1 = require("../../../mol-script/language/symbol");
15
+ var type_1 = require("../../../mol-script/language/type");
16
+ var custom_property_1 = require("../../../mol-model/custom-property");
17
+ var mmcif_1 = require("../../../mol-model-formats/structure/mmcif");
18
+ var QualityAssessment;
19
+ (function (QualityAssessment) {
20
+ var Empty = {
21
+ value: {
22
+ localMetrics: new Map()
23
+ }
24
+ };
25
+ function isApplicable(model, localMetricName) {
26
+ if (!model || !mmcif_1.MmcifFormat.is(model.sourceData))
27
+ return false;
28
+ var db = model.sourceData.data.db;
29
+ var hasLocalMetric = (db.ma_qa_metric.id.isDefined &&
30
+ db.ma_qa_metric_local.ordinal_id.isDefined);
31
+ if (localMetricName && hasLocalMetric) {
32
+ for (var i = 0, il = db.ma_qa_metric._rowCount; i < il; i++) {
33
+ if (db.ma_qa_metric.mode.value(i) !== 'local')
34
+ continue;
35
+ if (localMetricName === db.ma_qa_metric.name.value(i))
36
+ return true;
37
+ }
38
+ return false;
39
+ }
40
+ else {
41
+ return hasLocalMetric;
42
+ }
43
+ }
44
+ QualityAssessment.isApplicable = isApplicable;
45
+ function obtain(ctx, model, props) {
46
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
47
+ var _a, ma_qa_metric, ma_qa_metric_local, model_id, label_asym_id, label_seq_id, metric_id, metric_value, index, localMetrics, localNames, i, il, name_1, i, il, labelAsymId, entityIndex, rI, name_2;
48
+ return (0, tslib_1.__generator)(this, function (_b) {
49
+ if (!model || !mmcif_1.MmcifFormat.is(model.sourceData))
50
+ return [2 /*return*/, Empty];
51
+ _a = model.sourceData.data.db, ma_qa_metric = _a.ma_qa_metric, ma_qa_metric_local = _a.ma_qa_metric_local;
52
+ model_id = ma_qa_metric_local.model_id, label_asym_id = ma_qa_metric_local.label_asym_id, label_seq_id = ma_qa_metric_local.label_seq_id, metric_id = ma_qa_metric_local.metric_id, metric_value = ma_qa_metric_local.metric_value;
53
+ index = model.atomicHierarchy.index;
54
+ localMetrics = new Map();
55
+ localNames = new Map();
56
+ for (i = 0, il = ma_qa_metric._rowCount; i < il; i++) {
57
+ if (ma_qa_metric.mode.value(i) !== 'local')
58
+ continue;
59
+ name_1 = ma_qa_metric.name.value(i);
60
+ if (localMetrics.has(name_1)) {
61
+ console.warn("local ma_qa_metric with name '".concat(name_1, "' already added"));
62
+ continue;
63
+ }
64
+ localMetrics.set(name_1, new Map());
65
+ localNames.set(ma_qa_metric.id.value(i), name_1);
66
+ }
67
+ for (i = 0, il = ma_qa_metric_local._rowCount; i < il; i++) {
68
+ if (model_id.value(i) !== model.modelNum)
69
+ continue;
70
+ labelAsymId = label_asym_id.value(i);
71
+ entityIndex = index.findEntity(labelAsymId);
72
+ rI = index.findResidue(model.entities.data.id.value(entityIndex), labelAsymId, label_seq_id.value(i));
73
+ name_2 = localNames.get(metric_id.value(i));
74
+ localMetrics.get(name_2).set(rI, metric_value.value(i));
75
+ }
76
+ return [2 /*return*/, {
77
+ value: {
78
+ localMetrics: localMetrics,
79
+ pLDDT: localMetrics.get('pLDDT'),
80
+ qmean: localMetrics.get('qmean'),
81
+ }
82
+ }];
83
+ });
84
+ });
85
+ }
86
+ QualityAssessment.obtain = obtain;
87
+ QualityAssessment.symbols = {
88
+ pLDDT: compiler_1.QuerySymbolRuntime.Dynamic((0, symbol_1.CustomPropSymbol)('ma', 'quality-assessment.pLDDT', type_1.Type.Num), function (ctx) {
89
+ var _a, _b;
90
+ var _c = ctx.element, unit = _c.unit, element = _c.element;
91
+ if (!structure_1.Unit.isAtomic(unit))
92
+ return -1;
93
+ var qualityAssessment = exports.QualityAssessmentProvider.get(unit.model).value;
94
+ return (_b = (_a = qualityAssessment === null || qualityAssessment === void 0 ? void 0 : qualityAssessment.pLDDT) === null || _a === void 0 ? void 0 : _a.get(unit.model.atomicHierarchy.residueAtomSegments.index[element])) !== null && _b !== void 0 ? _b : -1;
95
+ }),
96
+ qmean: compiler_1.QuerySymbolRuntime.Dynamic((0, symbol_1.CustomPropSymbol)('ma', 'quality-assessment.qmean', type_1.Type.Num), function (ctx) {
97
+ var _a, _b;
98
+ var _c = ctx.element, unit = _c.unit, element = _c.element;
99
+ if (!structure_1.Unit.isAtomic(unit))
100
+ return -1;
101
+ var qualityAssessment = exports.QualityAssessmentProvider.get(unit.model).value;
102
+ return (_b = (_a = qualityAssessment === null || qualityAssessment === void 0 ? void 0 : qualityAssessment.qmean) === null || _a === void 0 ? void 0 : _a.get(unit.model.atomicHierarchy.residueAtomSegments.index[element])) !== null && _b !== void 0 ? _b : -1;
103
+ }),
104
+ };
105
+ })(QualityAssessment || (QualityAssessment = {}));
106
+ exports.QualityAssessment = QualityAssessment;
107
+ exports.QualityAssessmentParams = {};
108
+ exports.QualityAssessmentProvider = custom_model_property_1.CustomModelProperty.createProvider({
109
+ label: 'QualityAssessment',
110
+ descriptor: (0, custom_property_1.CustomPropertyDescriptor)({
111
+ name: 'ma_quality_assessment',
112
+ symbols: QualityAssessment.symbols
113
+ }),
114
+ type: 'static',
115
+ defaultParams: exports.QualityAssessmentParams,
116
+ getParams: function (data) { return exports.QualityAssessmentParams; },
117
+ isApplicable: function (data) { return QualityAssessment.isApplicable(data); },
118
+ obtain: function (ctx, data, props) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
119
+ var p;
120
+ return (0, tslib_1.__generator)(this, function (_a) {
121
+ switch (_a.label) {
122
+ case 0:
123
+ p = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, param_definition_1.ParamDefinition.getDefaultValues(exports.QualityAssessmentParams)), props);
124
+ return [4 /*yield*/, QualityAssessment.obtain(ctx, data, p)];
125
+ case 1: return [2 /*return*/, _a.sent()];
126
+ }
127
+ });
128
+ }); }
129
+ });
130
+ //# sourceMappingURL=prop.js.map