molstar 3.0.0-dev.3 → 3.0.0-dev.7

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 (552) hide show
  1. package/build/viewer/embedded.html +5 -5
  2. package/build/viewer/index.html +25 -17
  3. package/build/viewer/molstar.css +1 -1
  4. package/build/viewer/molstar.js +1 -1
  5. package/lib/apps/docking-viewer/index.d.ts +2 -1
  6. package/lib/apps/docking-viewer/index.html +8 -8
  7. package/lib/apps/docking-viewer/index.js +87 -74
  8. package/lib/apps/docking-viewer/viewport.js +2 -1
  9. package/lib/apps/viewer/embedded.html +5 -5
  10. package/lib/apps/viewer/index.d.ts +36 -215
  11. package/lib/apps/viewer/index.html +25 -17
  12. package/lib/apps/viewer/index.js +139 -52
  13. package/lib/cli/cifschema/index.d.ts +1 -1
  14. package/lib/cli/cifschema/index.js +15 -35
  15. package/lib/commonjs/apps/docking-viewer/index.d.ts +2 -1
  16. package/lib/commonjs/apps/docking-viewer/index.js +86 -73
  17. package/lib/commonjs/apps/docking-viewer/viewport.js +2 -1
  18. package/lib/commonjs/apps/viewer/index.d.ts +36 -215
  19. package/lib/commonjs/apps/viewer/index.js +139 -52
  20. package/lib/commonjs/cli/cifschema/index.d.ts +1 -1
  21. package/lib/commonjs/cli/cifschema/index.js +15 -35
  22. package/lib/commonjs/examples/alpha-orbitals/index.js +2 -3
  23. package/lib/commonjs/examples/basic-wrapper/index.js +23 -11
  24. package/lib/commonjs/examples/lighting/index.d.ts +1 -1
  25. package/lib/commonjs/examples/lighting/index.js +58 -41
  26. package/lib/commonjs/examples/proteopedia-wrapper/index.js +26 -14
  27. package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +0 -1
  28. package/lib/commonjs/extensions/alpha-orbitals/transforms.js +1 -14
  29. package/lib/commonjs/extensions/anvil/behavior.d.ts +7 -0
  30. package/lib/commonjs/extensions/anvil/representation.d.ts +63 -0
  31. package/lib/commonjs/extensions/cellpack/representation.d.ts +13 -0
  32. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +39 -0
  33. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
  34. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.js +236 -0
  35. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
  36. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +125 -0
  37. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
  38. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +111 -0
  39. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
  40. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.js +130 -0
  41. package/lib/commonjs/extensions/mp4-export/controls.d.ts +1 -0
  42. package/lib/commonjs/extensions/mp4-export/controls.js +9 -7
  43. package/lib/commonjs/extensions/pdbe/structure-quality-report/prop.js +1 -1
  44. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +7 -0
  45. package/lib/commonjs/extensions/rcsb/assembly-symmetry/prop.js +1 -1
  46. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +13 -0
  47. package/lib/commonjs/extensions/rcsb/validation-report/prop.js +1 -1
  48. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +65 -0
  49. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +8 -8
  50. package/lib/commonjs/mol-canvas3d/canvas3d.js +12 -4
  51. package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  52. package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +7 -0
  53. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
  54. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +7 -0
  55. package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
  56. package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +6 -0
  57. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +4 -0
  58. package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +2 -1
  59. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +4 -2
  60. package/lib/commonjs/mol-canvas3d/passes/pick.js +9 -9
  61. package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +1 -0
  62. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +6 -4
  63. package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
  64. package/lib/commonjs/mol-geo/geometry/base.d.ts +20 -0
  65. package/lib/commonjs/mol-geo/geometry/base.js +20 -1
  66. package/lib/commonjs/mol-geo/geometry/clipping-data.d.ts +1 -3
  67. package/lib/commonjs/mol-geo/geometry/clipping-data.js +3 -8
  68. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +14 -1
  69. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +5 -3
  70. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +11 -0
  71. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +2 -2
  72. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +11 -0
  73. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +12 -0
  74. package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
  75. package/lib/commonjs/mol-geo/geometry/marker-data.d.ts +0 -1
  76. package/lib/commonjs/mol-geo/geometry/marker-data.js +0 -4
  77. package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.js +1 -1
  78. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +13 -0
  79. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +5 -3
  80. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +11 -0
  81. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +13 -0
  82. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +5 -3
  83. package/lib/commonjs/mol-geo/geometry/substance-data.js +3 -3
  84. package/lib/commonjs/mol-geo/geometry/text/text.d.ts +11 -0
  85. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +3 -3
  86. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +13 -0
  87. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +5 -3
  88. package/lib/commonjs/mol-gl/render-object.d.ts +2 -1
  89. package/lib/commonjs/mol-gl/render-object.js +10 -10
  90. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +41 -33
  91. package/lib/commonjs/mol-gl/renderable/cylinders.js +4 -4
  92. package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +11 -5
  93. package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
  94. package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -4
  95. package/lib/commonjs/mol-gl/renderable/image.js +2 -2
  96. package/lib/commonjs/mol-gl/renderable/lines.d.ts +38 -32
  97. package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
  98. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +38 -30
  99. package/lib/commonjs/mol-gl/renderable/mesh.js +4 -4
  100. package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -4
  101. package/lib/commonjs/mol-gl/renderable/points.js +2 -2
  102. package/lib/commonjs/mol-gl/renderable/schema.d.ts +10 -11
  103. package/lib/commonjs/mol-gl/renderable/schema.js +6 -12
  104. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +41 -33
  105. package/lib/commonjs/mol-gl/renderable/spheres.js +4 -4
  106. package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -4
  107. package/lib/commonjs/mol-gl/renderable/text.js +2 -2
  108. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +13 -5
  109. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
  110. package/lib/commonjs/mol-gl/renderable.d.ts +0 -1
  111. package/lib/commonjs/mol-gl/renderer.d.ts +12 -12
  112. package/lib/commonjs/mol-gl/renderer.js +12 -74
  113. package/lib/commonjs/mol-gl/scene.d.ts +2 -2
  114. package/lib/commonjs/mol-gl/scene.js +7 -5
  115. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  116. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  117. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  118. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  119. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  120. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  121. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  122. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  123. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  124. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  125. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  126. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  127. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  128. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  129. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  130. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  131. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  132. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
  133. package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.d.ts +1 -1
  134. package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.js +1 -1
  135. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  136. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  137. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  138. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  139. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  140. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  141. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  142. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  143. package/lib/commonjs/mol-gl/shader/mesh.vert.d.ts +1 -1
  144. package/lib/commonjs/mol-gl/shader/mesh.vert.js +1 -1
  145. package/lib/commonjs/mol-gl/shader/postprocessing.frag.d.ts +1 -1
  146. package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +1 -1
  147. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  148. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  149. package/lib/commonjs/mol-gl/shader-code.d.ts +3 -1
  150. package/lib/commonjs/mol-gl/shader-code.js +42 -13
  151. package/lib/commonjs/mol-gl/webgl/render-item.d.ts +7 -6
  152. package/lib/commonjs/mol-gl/webgl/render-item.js +10 -8
  153. package/lib/commonjs/mol-gl/webgl/resources.js +8 -1
  154. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
  155. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +326 -1
  156. package/lib/commonjs/mol-math/geometry/symmetry-operator.js +3 -2
  157. package/lib/commonjs/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  158. package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +20 -1
  159. package/lib/commonjs/mol-model/structure/model/model.d.ts +1 -0
  160. package/lib/commonjs/mol-model/structure/model/model.js +15 -5
  161. package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
  162. package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
  163. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
  164. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.js +4 -1
  165. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
  166. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
  167. package/lib/commonjs/mol-model/structure/model/types.js +9 -0
  168. package/lib/commonjs/mol-model/structure/structure/unit/rings.js +2 -0
  169. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +26 -0
  170. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +13 -0
  171. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +13 -0
  172. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +39 -0
  173. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +52 -0
  174. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +12 -0
  175. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  176. package/lib/commonjs/mol-plugin/commands.d.ts +4 -4
  177. package/lib/commonjs/mol-plugin/config.d.ts +2 -0
  178. package/lib/commonjs/mol-plugin/config.js +10 -3
  179. package/lib/commonjs/mol-plugin/spec.js +1 -0
  180. package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +21 -0
  181. package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +7 -1
  182. package/lib/commonjs/mol-plugin-state/actions/structure.js +150 -72
  183. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
  184. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.js +13 -8
  185. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
  186. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  187. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -1
  188. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +33 -19
  189. package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +15 -1
  190. package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
  191. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +54 -0
  192. package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +3 -2
  193. package/lib/commonjs/mol-plugin-ui/controls/parameters.js +11 -6
  194. package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.d.ts +1 -1
  195. package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.js +8 -17
  196. package/lib/commonjs/mol-plugin-ui/index.d.ts +4 -4
  197. package/lib/commonjs/mol-plugin-ui/index.js +13 -16
  198. package/lib/commonjs/mol-plugin-ui/plugin.d.ts +1 -1
  199. package/lib/commonjs/mol-plugin-ui/plugin.js +76 -10
  200. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +2 -6
  201. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +13 -0
  202. package/lib/commonjs/mol-repr/shape/loci/common.d.ts +11 -0
  203. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +13 -0
  204. package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +11 -0
  205. package/lib/commonjs/mol-repr/shape/loci/label.d.ts +11 -0
  206. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +13 -0
  207. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +13 -0
  208. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +13 -0
  209. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +72 -0
  210. package/lib/commonjs/mol-repr/structure/params.d.ts +96 -0
  211. package/lib/commonjs/mol-repr/structure/registry.d.ts +175 -1
  212. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +39 -0
  213. package/lib/commonjs/mol-repr/structure/representation/backbone.js +2 -1
  214. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +39 -0
  215. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.js +2 -1
  216. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +39 -0
  217. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.js +2 -1
  218. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +39 -0
  219. package/lib/commonjs/mol-repr/structure/representation/cartoon.js +2 -1
  220. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +39 -0
  221. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.js +2 -1
  222. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +39 -0
  223. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +2 -1
  224. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +33 -0
  225. package/lib/commonjs/mol-repr/structure/representation/label.d.ts +36 -3
  226. package/lib/commonjs/mol-repr/structure/representation/line.d.ts +33 -0
  227. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +39 -0
  228. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +2 -1
  229. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +39 -0
  230. package/lib/commonjs/mol-repr/structure/representation/orientation.js +2 -1
  231. package/lib/commonjs/mol-repr/structure/representation/point.d.ts +33 -0
  232. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +39 -0
  233. package/lib/commonjs/mol-repr/structure/representation/putty.js +2 -1
  234. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +39 -0
  235. package/lib/commonjs/mol-repr/structure/representation/spacefill.js +2 -1
  236. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +96 -0
  237. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +26 -0
  238. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +11 -0
  239. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +26 -0
  240. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
  241. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +11 -0
  242. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
  243. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +13 -0
  244. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +13 -0
  245. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +13 -0
  246. package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +11 -0
  247. package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +11 -0
  248. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +26 -0
  249. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +13 -0
  250. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -0
  251. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +52 -0
  252. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +11 -0
  253. package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +13 -2
  254. package/lib/commonjs/mol-repr/structure/visual/label-text.js +2 -2
  255. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +13 -0
  256. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +11 -0
  257. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +13 -0
  258. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +13 -0
  259. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +13 -0
  260. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +26 -0
  261. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +26 -0
  262. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +13 -0
  263. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +13 -0
  264. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +13 -0
  265. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  266. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +13 -0
  267. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +1 -1
  268. package/lib/commonjs/mol-repr/visual.js +11 -7
  269. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +33 -0
  270. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +76 -0
  271. package/lib/commonjs/mol-repr/volume/isosurface.js +2 -1
  272. package/lib/commonjs/mol-repr/volume/registry.d.ts +35 -0
  273. package/lib/commonjs/mol-repr/volume/representation.d.ts +11 -0
  274. package/lib/commonjs/mol-repr/volume/slice.d.ts +33 -0
  275. package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
  276. package/lib/commonjs/mol-theme/clipping.js +5 -12
  277. package/lib/commonjs/mol-theme/color/illustrative.d.ts +2 -0
  278. package/lib/commonjs/mol-theme/color/illustrative.js +2 -2
  279. package/lib/commonjs/mol-theme/color.d.ts +1 -0
  280. package/lib/commonjs/mol-util/clip.d.ts +49 -0
  281. package/lib/commonjs/mol-util/clip.js +97 -0
  282. package/lib/commonjs/mol-util/material.d.ts +5 -1
  283. package/lib/commonjs/mol-util/material.js +9 -7
  284. package/lib/examples/alpha-orbitals/index.html +1 -0
  285. package/lib/examples/alpha-orbitals/index.js +3 -4
  286. package/lib/examples/basic-wrapper/index.html +3 -2
  287. package/lib/examples/basic-wrapper/index.js +24 -12
  288. package/lib/examples/lighting/index.d.ts +1 -1
  289. package/lib/examples/lighting/index.html +4 -2
  290. package/lib/examples/lighting/index.js +59 -42
  291. package/lib/examples/proteopedia-wrapper/index.html +4 -3
  292. package/lib/examples/proteopedia-wrapper/index.js +27 -15
  293. package/lib/extensions/alpha-orbitals/transforms.d.ts +0 -1
  294. package/lib/extensions/alpha-orbitals/transforms.js +1 -14
  295. package/lib/extensions/anvil/behavior.d.ts +7 -0
  296. package/lib/extensions/anvil/representation.d.ts +63 -0
  297. package/lib/extensions/cellpack/representation.d.ts +13 -0
  298. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +39 -0
  299. package/lib/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
  300. package/lib/extensions/model-archive/quality-assessment/behavior.js +233 -0
  301. package/lib/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
  302. package/lib/extensions/model-archive/quality-assessment/color/plddt.js +120 -0
  303. package/lib/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
  304. package/lib/extensions/model-archive/quality-assessment/color/qmean.js +106 -0
  305. package/lib/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
  306. package/lib/extensions/model-archive/quality-assessment/prop.js +127 -0
  307. package/lib/extensions/mp4-export/controls.d.ts +1 -0
  308. package/lib/extensions/mp4-export/controls.js +9 -7
  309. package/lib/extensions/pdbe/structure-quality-report/prop.js +1 -1
  310. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +7 -0
  311. package/lib/extensions/rcsb/assembly-symmetry/prop.js +1 -1
  312. package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +13 -0
  313. package/lib/extensions/rcsb/validation-report/prop.js +1 -1
  314. package/lib/extensions/rcsb/validation-report/representation.d.ts +65 -0
  315. package/lib/mol-canvas3d/canvas3d.d.ts +8 -8
  316. package/lib/mol-canvas3d/canvas3d.js +12 -4
  317. package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  318. package/lib/mol-canvas3d/helper/camera-helper.d.ts +7 -0
  319. package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
  320. package/lib/mol-canvas3d/helper/handle-helper.d.ts +7 -0
  321. package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
  322. package/lib/mol-canvas3d/helper/helper.d.ts +6 -0
  323. package/lib/mol-canvas3d/passes/image.d.ts +4 -0
  324. package/lib/mol-canvas3d/passes/multi-sample.d.ts +2 -1
  325. package/lib/mol-canvas3d/passes/multi-sample.js +4 -2
  326. package/lib/mol-canvas3d/passes/pick.js +9 -9
  327. package/lib/mol-canvas3d/passes/postprocessing.d.ts +1 -0
  328. package/lib/mol-canvas3d/passes/postprocessing.js +6 -4
  329. package/lib/mol-canvas3d/passes/smaa.js +1 -1
  330. package/lib/mol-geo/geometry/base.d.ts +20 -0
  331. package/lib/mol-geo/geometry/base.js +20 -1
  332. package/lib/mol-geo/geometry/clipping-data.d.ts +1 -3
  333. package/lib/mol-geo/geometry/clipping-data.js +3 -8
  334. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +14 -1
  335. package/lib/mol-geo/geometry/cylinders/cylinders.js +5 -3
  336. package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +11 -0
  337. package/lib/mol-geo/geometry/direct-volume/direct-volume.js +2 -2
  338. package/lib/mol-geo/geometry/image/image.d.ts +11 -0
  339. package/lib/mol-geo/geometry/lines/lines.d.ts +12 -0
  340. package/lib/mol-geo/geometry/lines/lines.js +1 -1
  341. package/lib/mol-geo/geometry/marker-data.d.ts +0 -1
  342. package/lib/mol-geo/geometry/marker-data.js +0 -4
  343. package/lib/mol-geo/geometry/mesh/color-smoothing.js +1 -1
  344. package/lib/mol-geo/geometry/mesh/mesh.d.ts +13 -0
  345. package/lib/mol-geo/geometry/mesh/mesh.js +5 -3
  346. package/lib/mol-geo/geometry/points/points.d.ts +11 -0
  347. package/lib/mol-geo/geometry/spheres/spheres.d.ts +13 -0
  348. package/lib/mol-geo/geometry/spheres/spheres.js +5 -3
  349. package/lib/mol-geo/geometry/substance-data.js +3 -3
  350. package/lib/mol-geo/geometry/text/text.d.ts +11 -0
  351. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +3 -3
  352. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +13 -0
  353. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +5 -3
  354. package/lib/mol-gl/render-object.d.ts +2 -1
  355. package/lib/mol-gl/render-object.js +10 -10
  356. package/lib/mol-gl/renderable/cylinders.d.ts +41 -33
  357. package/lib/mol-gl/renderable/cylinders.js +5 -5
  358. package/lib/mol-gl/renderable/direct-volume.d.ts +11 -5
  359. package/lib/mol-gl/renderable/direct-volume.js +3 -3
  360. package/lib/mol-gl/renderable/image.d.ts +10 -4
  361. package/lib/mol-gl/renderable/image.js +2 -2
  362. package/lib/mol-gl/renderable/lines.d.ts +38 -32
  363. package/lib/mol-gl/renderable/lines.js +4 -4
  364. package/lib/mol-gl/renderable/mesh.d.ts +38 -30
  365. package/lib/mol-gl/renderable/mesh.js +5 -5
  366. package/lib/mol-gl/renderable/points.d.ts +10 -4
  367. package/lib/mol-gl/renderable/points.js +2 -2
  368. package/lib/mol-gl/renderable/schema.d.ts +10 -11
  369. package/lib/mol-gl/renderable/schema.js +6 -12
  370. package/lib/mol-gl/renderable/spheres.d.ts +41 -33
  371. package/lib/mol-gl/renderable/spheres.js +5 -5
  372. package/lib/mol-gl/renderable/text.d.ts +10 -4
  373. package/lib/mol-gl/renderable/text.js +2 -2
  374. package/lib/mol-gl/renderable/texture-mesh.d.ts +13 -5
  375. package/lib/mol-gl/renderable/texture-mesh.js +3 -3
  376. package/lib/mol-gl/renderable.d.ts +0 -1
  377. package/lib/mol-gl/renderer.d.ts +12 -12
  378. package/lib/mol-gl/renderer.js +13 -75
  379. package/lib/mol-gl/scene.d.ts +2 -2
  380. package/lib/mol-gl/scene.js +7 -5
  381. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  382. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  383. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  384. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  385. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  386. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  387. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  388. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  389. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  390. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  391. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  392. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  393. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  394. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  395. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  396. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  397. package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  398. package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
  399. package/lib/mol-gl/shader/chunks/light-frag-params.glsl.d.ts +1 -1
  400. package/lib/mol-gl/shader/chunks/light-frag-params.glsl.js +1 -1
  401. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  402. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  403. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  404. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  405. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  406. package/lib/mol-gl/shader/image.frag.js +1 -1
  407. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  408. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  409. package/lib/mol-gl/shader/mesh.vert.d.ts +1 -1
  410. package/lib/mol-gl/shader/mesh.vert.js +1 -1
  411. package/lib/mol-gl/shader/postprocessing.frag.d.ts +1 -1
  412. package/lib/mol-gl/shader/postprocessing.frag.js +1 -1
  413. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  414. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  415. package/lib/mol-gl/shader-code.d.ts +3 -1
  416. package/lib/mol-gl/shader-code.js +42 -13
  417. package/lib/mol-gl/webgl/render-item.d.ts +7 -6
  418. package/lib/mol-gl/webgl/render-item.js +8 -6
  419. package/lib/mol-gl/webgl/resources.js +8 -1
  420. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
  421. package/lib/mol-io/reader/cif/schema/mmcif.js +326 -1
  422. package/lib/mol-math/geometry/symmetry-operator.js +3 -2
  423. package/lib/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  424. package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
  425. package/lib/mol-model/structure/model/model.d.ts +1 -0
  426. package/lib/mol-model/structure/model/model.js +15 -5
  427. package/lib/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
  428. package/lib/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
  429. package/lib/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
  430. package/lib/mol-model/structure/model/properties/utils/atomic-derived.js +5 -2
  431. package/lib/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
  432. package/lib/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
  433. package/lib/mol-model/structure/model/types.js +9 -0
  434. package/lib/mol-model/structure/structure/unit/rings.js +2 -0
  435. package/lib/mol-model-formats/shape/ply.d.ts +26 -0
  436. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +13 -0
  437. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +13 -0
  438. package/lib/mol-model-props/computed/representations/interactions.d.ts +39 -0
  439. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +52 -0
  440. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +12 -0
  441. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  442. package/lib/mol-plugin/commands.d.ts +4 -4
  443. package/lib/mol-plugin/config.d.ts +2 -0
  444. package/lib/mol-plugin/config.js +9 -3
  445. package/lib/mol-plugin/spec.js +1 -0
  446. package/lib/mol-plugin/util/viewport-screenshot.d.ts +21 -0
  447. package/lib/mol-plugin/version.js +2 -2
  448. package/lib/mol-plugin-state/actions/structure.d.ts +7 -1
  449. package/lib/mol-plugin-state/actions/structure.js +150 -72
  450. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
  451. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.js +14 -9
  452. package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
  453. package/lib/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  454. package/lib/mol-plugin-state/helpers/structure-clipping.js +1 -1
  455. package/lib/mol-plugin-state/helpers/structure-selection-query.js +34 -20
  456. package/lib/mol-plugin-state/manager/structure/component.d.ts +15 -1
  457. package/lib/mol-plugin-state/manager/structure/component.js +14 -9
  458. package/lib/mol-plugin-state/transforms/representation.d.ts +54 -0
  459. package/lib/mol-plugin-ui/controls/parameters.d.ts +3 -2
  460. package/lib/mol-plugin-ui/controls/parameters.js +12 -7
  461. package/lib/mol-plugin-ui/hooks/use-behavior.d.ts +1 -1
  462. package/lib/mol-plugin-ui/hooks/use-behavior.js +9 -18
  463. package/lib/mol-plugin-ui/index.d.ts +4 -4
  464. package/lib/mol-plugin-ui/index.js +11 -13
  465. package/lib/mol-plugin-ui/plugin.d.ts +1 -1
  466. package/lib/mol-plugin-ui/plugin.js +76 -10
  467. package/lib/mol-plugin-ui/skin/base/components/misc.scss +27 -0
  468. package/lib/mol-plugin-ui/viewport/simple-settings.js +2 -6
  469. package/lib/mol-repr/shape/loci/angle.d.ts +13 -0
  470. package/lib/mol-repr/shape/loci/common.d.ts +11 -0
  471. package/lib/mol-repr/shape/loci/dihedral.d.ts +13 -0
  472. package/lib/mol-repr/shape/loci/distance.d.ts +11 -0
  473. package/lib/mol-repr/shape/loci/label.d.ts +11 -0
  474. package/lib/mol-repr/shape/loci/orientation.d.ts +13 -0
  475. package/lib/mol-repr/shape/loci/plane.d.ts +13 -0
  476. package/lib/mol-repr/shape/model/unitcell.d.ts +13 -0
  477. package/lib/mol-repr/structure/complex-visual.d.ts +72 -0
  478. package/lib/mol-repr/structure/params.d.ts +96 -0
  479. package/lib/mol-repr/structure/registry.d.ts +175 -1
  480. package/lib/mol-repr/structure/representation/backbone.d.ts +39 -0
  481. package/lib/mol-repr/structure/representation/backbone.js +2 -1
  482. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +39 -0
  483. package/lib/mol-repr/structure/representation/ball-and-stick.js +2 -1
  484. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +39 -0
  485. package/lib/mol-repr/structure/representation/carbohydrate.js +2 -1
  486. package/lib/mol-repr/structure/representation/cartoon.d.ts +39 -0
  487. package/lib/mol-repr/structure/representation/cartoon.js +2 -1
  488. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +39 -0
  489. package/lib/mol-repr/structure/representation/ellipsoid.js +2 -1
  490. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +39 -0
  491. package/lib/mol-repr/structure/representation/gaussian-surface.js +2 -1
  492. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +33 -0
  493. package/lib/mol-repr/structure/representation/label.d.ts +36 -3
  494. package/lib/mol-repr/structure/representation/line.d.ts +33 -0
  495. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +39 -0
  496. package/lib/mol-repr/structure/representation/molecular-surface.js +2 -1
  497. package/lib/mol-repr/structure/representation/orientation.d.ts +39 -0
  498. package/lib/mol-repr/structure/representation/orientation.js +2 -1
  499. package/lib/mol-repr/structure/representation/point.d.ts +33 -0
  500. package/lib/mol-repr/structure/representation/putty.d.ts +39 -0
  501. package/lib/mol-repr/structure/representation/putty.js +2 -1
  502. package/lib/mol-repr/structure/representation/spacefill.d.ts +39 -0
  503. package/lib/mol-repr/structure/representation/spacefill.js +2 -1
  504. package/lib/mol-repr/structure/units-visual.d.ts +96 -0
  505. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +26 -0
  506. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +11 -0
  507. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +26 -0
  508. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
  509. package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +11 -0
  510. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
  511. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +13 -0
  512. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +13 -0
  513. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +13 -0
  514. package/lib/mol-repr/structure/visual/element-cross.d.ts +11 -0
  515. package/lib/mol-repr/structure/visual/element-point.d.ts +11 -0
  516. package/lib/mol-repr/structure/visual/element-sphere.d.ts +26 -0
  517. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +13 -0
  518. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -0
  519. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +52 -0
  520. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +11 -0
  521. package/lib/mol-repr/structure/visual/label-text.d.ts +13 -2
  522. package/lib/mol-repr/structure/visual/label-text.js +2 -2
  523. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +13 -0
  524. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +11 -0
  525. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +13 -0
  526. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +13 -0
  527. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +13 -0
  528. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +26 -0
  529. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +26 -0
  530. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +13 -0
  531. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +13 -0
  532. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +13 -0
  533. package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  534. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +13 -0
  535. package/lib/mol-repr/structure/visual/util/bond.js +1 -1
  536. package/lib/mol-repr/visual.js +11 -7
  537. package/lib/mol-repr/volume/direct-volume.d.ts +33 -0
  538. package/lib/mol-repr/volume/isosurface.d.ts +76 -0
  539. package/lib/mol-repr/volume/isosurface.js +2 -1
  540. package/lib/mol-repr/volume/registry.d.ts +35 -0
  541. package/lib/mol-repr/volume/representation.d.ts +11 -0
  542. package/lib/mol-repr/volume/slice.d.ts +33 -0
  543. package/lib/mol-theme/clipping.d.ts +7 -15
  544. package/lib/mol-theme/clipping.js +5 -12
  545. package/lib/mol-theme/color/illustrative.d.ts +2 -0
  546. package/lib/mol-theme/color/illustrative.js +2 -2
  547. package/lib/mol-theme/color.d.ts +1 -0
  548. package/lib/mol-util/clip.d.ts +49 -0
  549. package/lib/mol-util/clip.js +93 -0
  550. package/lib/mol-util/material.d.ts +5 -1
  551. package/lib/mol-util/material.js +9 -7
  552. package/package.json +5 -3
@@ -0,0 +1,68 @@
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 { PluginBehavior } from '../../../mol-plugin/behavior/behavior';
8
+ import { StructureRepresentationPresetProvider } from '../../../mol-plugin-state/builder/structure/representation-preset';
9
+ export declare const MAQualityAssessment: import("../../../mol-state/transformer").StateTransformer<PluginBehavior.Category, PluginBehavior.Behavior, {
10
+ autoAttach: boolean;
11
+ showTooltip: boolean;
12
+ }>;
13
+ export declare const QualityAssessmentPLDDTPreset: StructureRepresentationPresetProvider<{
14
+ ignoreHydrogens: boolean | undefined;
15
+ quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined;
16
+ theme: PD.Normalize<{
17
+ globalName: any;
18
+ carbonColor: any;
19
+ symmetryColor: any;
20
+ focus: any;
21
+ }> | undefined;
22
+ }, {
23
+ components?: undefined;
24
+ representations?: undefined;
25
+ } | {
26
+ components: {
27
+ polymer: import("../../../mol-state").StateObjectSelector<import("../../../mol-plugin-state/objects").PluginStateObject.Molecule.Structure, import("../../../mol-state/transformer").StateTransformer<import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, any>> | undefined;
28
+ };
29
+ representations: {
30
+ polymer: import("../../../mol-state").StateObjectSelector<import("../../../mol-plugin-state/objects").PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/transformer").StateTransformer<import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, any>>;
31
+ };
32
+ } | {
33
+ components: {
34
+ all: import("../../../mol-state").StateObjectSelector<import("../../../mol-plugin-state/objects").PluginStateObject.Molecule.Structure, import("../../../mol-state/transformer").StateTransformer<import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, any>> | undefined;
35
+ branched: undefined;
36
+ };
37
+ representations: {
38
+ all: import("../../../mol-state").StateObjectSelector<import("../../../mol-plugin-state/objects").PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/transformer").StateTransformer<import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, any>>;
39
+ };
40
+ }>;
41
+ export declare const QualityAssessmentQmeanPreset: StructureRepresentationPresetProvider<{
42
+ ignoreHydrogens: boolean | undefined;
43
+ quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined;
44
+ theme: PD.Normalize<{
45
+ globalName: any;
46
+ carbonColor: any;
47
+ symmetryColor: any;
48
+ focus: any;
49
+ }> | undefined;
50
+ }, {
51
+ components?: undefined;
52
+ representations?: undefined;
53
+ } | {
54
+ components: {
55
+ polymer: import("../../../mol-state").StateObjectSelector<import("../../../mol-plugin-state/objects").PluginStateObject.Molecule.Structure, import("../../../mol-state/transformer").StateTransformer<import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, any>> | undefined;
56
+ };
57
+ representations: {
58
+ polymer: import("../../../mol-state").StateObjectSelector<import("../../../mol-plugin-state/objects").PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/transformer").StateTransformer<import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, any>>;
59
+ };
60
+ } | {
61
+ components: {
62
+ all: import("../../../mol-state").StateObjectSelector<import("../../../mol-plugin-state/objects").PluginStateObject.Molecule.Structure, import("../../../mol-state/transformer").StateTransformer<import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, any>> | undefined;
63
+ branched: undefined;
64
+ };
65
+ representations: {
66
+ all: import("../../../mol-state").StateObjectSelector<import("../../../mol-plugin-state/objects").PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/transformer").StateTransformer<import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, import("../../../mol-state/object").StateObject<any, import("../../../mol-state/object").StateObject.Type<any>>, any>>;
67
+ };
68
+ }>;
@@ -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>;