molstar 4.2.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +197 -197
  3. package/build/viewer/embedded.html +52 -52
  4. package/build/viewer/index.html +129 -129
  5. package/build/viewer/molstar.js +1 -1
  6. package/build/viewer/molstar.js.LICENSE.txt +9 -0
  7. package/lib/apps/docking-viewer/index.html +36 -36
  8. package/lib/apps/mesoscale-explorer/index.html +100 -100
  9. package/lib/apps/mesoscale-explorer/style.scss +33 -33
  10. package/lib/apps/viewer/app.d.ts +2 -1
  11. package/lib/apps/viewer/app.js +2 -1
  12. package/lib/apps/viewer/embedded.html +52 -52
  13. package/lib/apps/viewer/index.html +129 -129
  14. package/lib/cli/chem-comp-dict/create-ions.js +9 -9
  15. package/lib/cli/chem-comp-dict/create-saccharides.js +9 -9
  16. package/lib/cli/cifschema/util/generate.js +12 -12
  17. package/lib/cli/lipid-params/index.js +9 -9
  18. package/lib/commonjs/apps/viewer/app.d.ts +2 -1
  19. package/lib/commonjs/apps/viewer/app.js +1 -0
  20. package/lib/commonjs/cli/chem-comp-dict/create-ions.js +9 -9
  21. package/lib/commonjs/cli/chem-comp-dict/create-saccharides.js +9 -9
  22. package/lib/commonjs/cli/cifschema/util/generate.js +12 -12
  23. package/lib/commonjs/cli/lipid-params/index.js +9 -9
  24. package/lib/commonjs/examples/alpha-orbitals/example-data.js +160 -160
  25. package/lib/commonjs/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
  26. package/lib/commonjs/extensions/assembly-symmetry/prop.js +24 -24
  27. package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.js +5 -5
  28. package/lib/commonjs/extensions/dnatco/ntc-tube/behavior.js +5 -5
  29. package/lib/commonjs/extensions/geo-export/usdz-exporter.js +41 -41
  30. package/lib/commonjs/extensions/meshes/mesh-extension.d.ts +1 -0
  31. package/lib/commonjs/extensions/mp4-export/encoder.js +1 -1
  32. package/lib/commonjs/extensions/mvs/components/annotation-label/representation.d.ts +0 -2
  33. package/lib/commonjs/extensions/mvs/components/custom-label/representation.d.ts +2 -2
  34. package/lib/commonjs/extensions/mvs/tree/mvs/mvs-builder.d.ts +8 -2
  35. package/lib/commonjs/extensions/sb-ncbr/index.d.ts +8 -0
  36. package/lib/commonjs/extensions/sb-ncbr/index.js +14 -1
  37. package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
  38. package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.js +89 -0
  39. package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
  40. package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.js +474 -0
  41. package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
  42. package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.js +96 -0
  43. package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
  44. package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.js +28 -0
  45. package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
  46. package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.js +54 -0
  47. package/lib/commonjs/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
  48. package/lib/commonjs/extensions/sb-ncbr/tunnels/props.js +26 -0
  49. package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
  50. package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.js +99 -0
  51. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +17 -0
  52. package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
  53. package/lib/commonjs/mol-canvas3d/passes/dof.d.ts +34 -0
  54. package/lib/commonjs/mol-canvas3d/passes/dof.js +167 -0
  55. package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +2 -0
  56. package/lib/commonjs/mol-canvas3d/passes/draw.js +31 -8
  57. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +8 -0
  58. package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +8 -0
  59. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +5 -0
  60. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +0 -1
  61. package/lib/commonjs/mol-gl/shader/background.frag.js +95 -95
  62. package/lib/commonjs/mol-gl/shader/background.vert.js +11 -11
  63. package/lib/commonjs/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
  64. package/lib/commonjs/mol-gl/shader/bloom/blur.frag.js +28 -28
  65. package/lib/commonjs/mol-gl/shader/bloom/composite.frag.js +33 -33
  66. package/lib/commonjs/mol-gl/shader/bloom/luminosity.frag.js +52 -52
  67. package/lib/commonjs/mol-gl/shader/cas.frag.js +144 -144
  68. package/lib/commonjs/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
  69. package/lib/commonjs/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
  70. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +77 -77
  71. package/lib/commonjs/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
  72. package/lib/commonjs/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
  73. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +140 -140
  74. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
  75. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
  76. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +112 -112
  77. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
  78. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
  79. package/lib/commonjs/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
  80. package/lib/commonjs/mol-gl/shader/chunks/check-transparency.glsl.js +16 -16
  81. package/lib/commonjs/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
  82. package/lib/commonjs/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
  83. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +60 -60
  84. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +122 -122
  85. package/lib/commonjs/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
  86. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +150 -150
  87. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
  88. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +234 -234
  89. package/lib/commonjs/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
  90. package/lib/commonjs/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
  91. package/lib/commonjs/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
  92. package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
  93. package/lib/commonjs/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
  94. package/lib/commonjs/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
  95. package/lib/commonjs/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
  96. package/lib/commonjs/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
  97. package/lib/commonjs/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
  98. package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
  99. package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
  100. package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
  101. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
  102. package/lib/commonjs/mol-gl/shader/compose.frag.js +12 -12
  103. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
  104. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
  105. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
  106. package/lib/commonjs/mol-gl/shader/copy.frag.js +11 -11
  107. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +266 -266
  108. package/lib/commonjs/mol-gl/shader/cylinders.vert.js +89 -89
  109. package/lib/commonjs/mol-gl/shader/depth-merge.frag.js +23 -23
  110. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +362 -362
  111. package/lib/commonjs/mol-gl/shader/direct-volume.vert.js +41 -41
  112. package/lib/commonjs/mol-gl/shader/dof.frag.d.ts +7 -0
  113. package/lib/commonjs/mol-gl/shader/dof.frag.js +122 -0
  114. package/lib/commonjs/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
  115. package/lib/commonjs/mol-gl/shader/evaluate-wboit.frag.js +17 -17
  116. package/lib/commonjs/mol-gl/shader/fxaa.frag.js +228 -228
  117. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +49 -49
  118. package/lib/commonjs/mol-gl/shader/gaussian-density.vert.js +27 -27
  119. package/lib/commonjs/mol-gl/shader/hi-z.frag.js +18 -18
  120. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
  121. package/lib/commonjs/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
  122. package/lib/commonjs/mol-gl/shader/image.frag.js +169 -169
  123. package/lib/commonjs/mol-gl/shader/image.vert.js +21 -21
  124. package/lib/commonjs/mol-gl/shader/lines.frag.js +42 -42
  125. package/lib/commonjs/mol-gl/shader/lines.vert.js +117 -117
  126. package/lib/commonjs/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
  127. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
  128. package/lib/commonjs/mol-gl/shader/marking/edge.frag.js +28 -28
  129. package/lib/commonjs/mol-gl/shader/marking/overlay.frag.js +26 -26
  130. package/lib/commonjs/mol-gl/shader/mesh.frag.js +65 -65
  131. package/lib/commonjs/mol-gl/shader/mesh.vert.js +49 -49
  132. package/lib/commonjs/mol-gl/shader/outlines.frag.js +95 -95
  133. package/lib/commonjs/mol-gl/shader/points.frag.js +59 -59
  134. package/lib/commonjs/mol-gl/shader/points.vert.js +38 -38
  135. package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +150 -150
  136. package/lib/commonjs/mol-gl/shader/quad.vert.js +10 -10
  137. package/lib/commonjs/mol-gl/shader/shadows.frag.js +123 -123
  138. package/lib/commonjs/mol-gl/shader/smaa/blend.frag.js +56 -56
  139. package/lib/commonjs/mol-gl/shader/smaa/blend.vert.js +25 -25
  140. package/lib/commonjs/mol-gl/shader/smaa/edges.frag.js +66 -66
  141. package/lib/commonjs/mol-gl/shader/smaa/edges.vert.js +26 -26
  142. package/lib/commonjs/mol-gl/shader/smaa/weights.frag.js +206 -206
  143. package/lib/commonjs/mol-gl/shader/smaa/weights.vert.js +32 -32
  144. package/lib/commonjs/mol-gl/shader/spheres.frag.js +148 -148
  145. package/lib/commonjs/mol-gl/shader/spheres.vert.js +132 -132
  146. package/lib/commonjs/mol-gl/shader/ssao-blur.frag.js +97 -97
  147. package/lib/commonjs/mol-gl/shader/ssao.frag.js +211 -211
  148. package/lib/commonjs/mol-gl/shader/text.frag.js +85 -85
  149. package/lib/commonjs/mol-gl/shader/text.vert.js +85 -85
  150. package/lib/commonjs/mol-gl/shader/util/grid3d-template.frag.js +46 -46
  151. package/lib/commonjs/mol-gl/shader-code.js +15 -15
  152. package/lib/commonjs/mol-gl/webgl/compat.js +12 -12
  153. package/lib/commonjs/mol-gl/webgl/context.js +1 -0
  154. package/lib/commonjs/mol-gl/webgl/timer.d.ts +1 -1
  155. package/lib/commonjs/mol-gl/webgl/timer.js +8 -1
  156. package/lib/commonjs/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
  157. package/lib/commonjs/mol-plugin/animation-loop.d.ts +1 -0
  158. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +6 -6
  159. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +1 -1
  160. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
  161. package/lib/commonjs/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
  162. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +3 -0
  163. package/lib/commonjs/servers/common/swagger-ui/indexTemplate.js +66 -66
  164. package/lib/commonjs/servers/volume/config.js +5 -5
  165. package/lib/examples/alpha-orbitals/example-data.js +160 -160
  166. package/lib/examples/alpha-orbitals/index.html +72 -72
  167. package/lib/examples/basic-wrapper/index.html +137 -137
  168. package/lib/examples/lighting/index.html +88 -88
  169. package/lib/examples/proteopedia-wrapper/index.html +236 -236
  170. package/lib/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
  171. package/lib/extensions/assembly-symmetry/prop.js +24 -24
  172. package/lib/extensions/dnatco/confal-pyramids/behavior.js +5 -5
  173. package/lib/extensions/dnatco/ntc-tube/behavior.js +5 -5
  174. package/lib/extensions/geo-export/usdz-exporter.js +41 -41
  175. package/lib/extensions/meshes/mesh-extension.d.ts +1 -0
  176. package/lib/extensions/mp4-export/encoder.js +1 -1
  177. package/lib/extensions/mvs/components/annotation-label/representation.d.ts +0 -2
  178. package/lib/extensions/mvs/components/custom-label/representation.d.ts +2 -2
  179. package/lib/extensions/mvs/tree/mvs/mvs-builder.d.ts +8 -2
  180. package/lib/extensions/sb-ncbr/index.d.ts +8 -0
  181. package/lib/extensions/sb-ncbr/index.js +8 -0
  182. package/lib/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
  183. package/lib/extensions/sb-ncbr/tunnels/actions.js +86 -0
  184. package/lib/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
  185. package/lib/extensions/sb-ncbr/tunnels/algorithm.js +469 -0
  186. package/lib/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
  187. package/lib/extensions/sb-ncbr/tunnels/behavior.js +92 -0
  188. package/lib/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
  189. package/lib/extensions/sb-ncbr/tunnels/data-model.js +23 -0
  190. package/lib/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
  191. package/lib/extensions/sb-ncbr/tunnels/examples.js +49 -0
  192. package/lib/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
  193. package/lib/extensions/sb-ncbr/tunnels/props.js +22 -0
  194. package/lib/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
  195. package/lib/extensions/sb-ncbr/tunnels/representation.js +96 -0
  196. package/lib/mol-canvas3d/canvas3d.d.ts +17 -0
  197. package/lib/mol-canvas3d/canvas3d.js +4 -0
  198. package/lib/mol-canvas3d/passes/dof.d.ts +34 -0
  199. package/lib/mol-canvas3d/passes/dof.js +163 -0
  200. package/lib/mol-canvas3d/passes/draw.d.ts +2 -0
  201. package/lib/mol-canvas3d/passes/draw.js +31 -8
  202. package/lib/mol-canvas3d/passes/image.d.ts +8 -0
  203. package/lib/mol-canvas3d/passes/postprocessing.d.ts +8 -0
  204. package/lib/mol-canvas3d/passes/postprocessing.js +5 -0
  205. package/lib/mol-geo/geometry/lines/lines.d.ts +0 -1
  206. package/lib/mol-gl/shader/background.frag.js +95 -95
  207. package/lib/mol-gl/shader/background.vert.js +11 -11
  208. package/lib/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
  209. package/lib/mol-gl/shader/bloom/blur.frag.js +28 -28
  210. package/lib/mol-gl/shader/bloom/composite.frag.js +33 -33
  211. package/lib/mol-gl/shader/bloom/luminosity.frag.js +52 -52
  212. package/lib/mol-gl/shader/cas.frag.js +144 -144
  213. package/lib/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
  214. package/lib/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
  215. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +77 -77
  216. package/lib/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
  217. package/lib/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
  218. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +140 -140
  219. package/lib/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
  220. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
  221. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +112 -112
  222. package/lib/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
  223. package/lib/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
  224. package/lib/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
  225. package/lib/mol-gl/shader/chunks/check-transparency.glsl.js +16 -16
  226. package/lib/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
  227. package/lib/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
  228. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +60 -60
  229. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +122 -122
  230. package/lib/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
  231. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +150 -150
  232. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
  233. package/lib/mol-gl/shader/chunks/common.glsl.js +234 -234
  234. package/lib/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
  235. package/lib/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
  236. package/lib/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
  237. package/lib/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
  238. package/lib/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
  239. package/lib/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
  240. package/lib/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
  241. package/lib/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
  242. package/lib/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
  243. package/lib/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
  244. package/lib/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
  245. package/lib/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
  246. package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
  247. package/lib/mol-gl/shader/compose.frag.js +12 -12
  248. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
  249. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
  250. package/lib/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
  251. package/lib/mol-gl/shader/copy.frag.js +11 -11
  252. package/lib/mol-gl/shader/cylinders.frag.js +266 -266
  253. package/lib/mol-gl/shader/cylinders.vert.js +89 -89
  254. package/lib/mol-gl/shader/depth-merge.frag.js +23 -23
  255. package/lib/mol-gl/shader/direct-volume.frag.js +362 -362
  256. package/lib/mol-gl/shader/direct-volume.vert.js +41 -41
  257. package/lib/mol-gl/shader/dof.frag.d.ts +7 -0
  258. package/lib/mol-gl/shader/dof.frag.js +119 -0
  259. package/lib/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
  260. package/lib/mol-gl/shader/evaluate-wboit.frag.js +17 -17
  261. package/lib/mol-gl/shader/fxaa.frag.js +228 -228
  262. package/lib/mol-gl/shader/gaussian-density.frag.js +49 -49
  263. package/lib/mol-gl/shader/gaussian-density.vert.js +27 -27
  264. package/lib/mol-gl/shader/hi-z.frag.js +18 -18
  265. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
  266. package/lib/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
  267. package/lib/mol-gl/shader/image.frag.js +169 -169
  268. package/lib/mol-gl/shader/image.vert.js +21 -21
  269. package/lib/mol-gl/shader/lines.frag.js +42 -42
  270. package/lib/mol-gl/shader/lines.vert.js +117 -117
  271. package/lib/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
  272. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
  273. package/lib/mol-gl/shader/marking/edge.frag.js +28 -28
  274. package/lib/mol-gl/shader/marking/overlay.frag.js +26 -26
  275. package/lib/mol-gl/shader/mesh.frag.js +65 -65
  276. package/lib/mol-gl/shader/mesh.vert.js +49 -49
  277. package/lib/mol-gl/shader/outlines.frag.js +95 -95
  278. package/lib/mol-gl/shader/points.frag.js +59 -59
  279. package/lib/mol-gl/shader/points.vert.js +38 -38
  280. package/lib/mol-gl/shader/postprocessing.frag.js +150 -150
  281. package/lib/mol-gl/shader/quad.vert.js +10 -10
  282. package/lib/mol-gl/shader/shadows.frag.js +123 -123
  283. package/lib/mol-gl/shader/smaa/blend.frag.js +56 -56
  284. package/lib/mol-gl/shader/smaa/blend.vert.js +25 -25
  285. package/lib/mol-gl/shader/smaa/edges.frag.js +66 -66
  286. package/lib/mol-gl/shader/smaa/edges.vert.js +26 -26
  287. package/lib/mol-gl/shader/smaa/weights.frag.js +206 -206
  288. package/lib/mol-gl/shader/smaa/weights.vert.js +32 -32
  289. package/lib/mol-gl/shader/spheres.frag.js +148 -148
  290. package/lib/mol-gl/shader/spheres.vert.js +132 -132
  291. package/lib/mol-gl/shader/ssao-blur.frag.js +97 -97
  292. package/lib/mol-gl/shader/ssao.frag.js +211 -211
  293. package/lib/mol-gl/shader/text.frag.js +85 -85
  294. package/lib/mol-gl/shader/text.vert.js +85 -85
  295. package/lib/mol-gl/shader/util/grid3d-template.frag.js +46 -46
  296. package/lib/mol-gl/shader-code.js +15 -15
  297. package/lib/mol-gl/webgl/compat.js +12 -12
  298. package/lib/mol-gl/webgl/context.js +1 -0
  299. package/lib/mol-gl/webgl/timer.d.ts +1 -1
  300. package/lib/mol-gl/webgl/timer.js +8 -1
  301. package/lib/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
  302. package/lib/mol-plugin/animation-loop.d.ts +1 -0
  303. package/lib/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +6 -6
  304. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +1 -1
  305. package/lib/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
  306. package/lib/mol-plugin/version.js +2 -2
  307. package/lib/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
  308. package/lib/mol-plugin-ui/skin/base/base.scss +37 -37
  309. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  310. package/lib/mol-plugin-ui/skin/base/components/controls.scss +445 -445
  311. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  312. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  313. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  314. package/lib/mol-plugin-ui/skin/base/components/misc.scss +663 -663
  315. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  316. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  317. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  318. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  319. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  320. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +194 -194
  321. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  322. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  323. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  324. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  325. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  326. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  327. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  328. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  329. package/lib/mol-plugin-ui/skin/base/variables.scss +88 -88
  330. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  331. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  332. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  333. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  334. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  335. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  336. package/lib/mol-plugin-ui/viewport/simple-settings.js +3 -0
  337. package/lib/servers/common/swagger-ui/indexTemplate.js +66 -66
  338. package/lib/servers/volume/config.js +5 -5
  339. package/package.json +196 -195
@@ -44,11 +44,11 @@ exports.ConfalPyramidsPreset = (0, representation_preset_1.StructureRepresentati
44
44
  }
45
45
  });
46
46
  function confalPyramidLabel(step) {
47
- return `
48
- <b>${step.auth_asym_id_1}</b> |
49
- <b>${step.label_comp_id_1} ${step.auth_seq_id_1}${step.PDB_ins_code_1}${step.label_alt_id_1.length > 0 ? ` (alt ${step.label_alt_id_1})` : ''}
50
- ${step.label_comp_id_2} ${step.auth_seq_id_2}${step.PDB_ins_code_2}${step.label_alt_id_2.length > 0 ? ` (alt ${step.label_alt_id_2})` : ''} </b><br />
51
- <i>NtC:</i> ${step.NtC} | <i>Confal score:</i> ${step.confal_score} | <i>RMSD:</i> ${step.rmsd.toFixed(2)}
47
+ return `
48
+ <b>${step.auth_asym_id_1}</b> |
49
+ <b>${step.label_comp_id_1} ${step.auth_seq_id_1}${step.PDB_ins_code_1}${step.label_alt_id_1.length > 0 ? ` (alt ${step.label_alt_id_1})` : ''}
50
+ ${step.label_comp_id_2} ${step.auth_seq_id_2}${step.PDB_ins_code_2}${step.label_alt_id_2.length > 0 ? ` (alt ${step.label_alt_id_2})` : ''} </b><br />
51
+ <i>NtC:</i> ${step.NtC} | <i>Confal score:</i> ${step.confal_score} | <i>RMSD:</i> ${step.rmsd.toFixed(2)}
52
52
  `;
53
53
  }
54
54
  exports.confalPyramidLabel = confalPyramidLabel;
@@ -44,11 +44,11 @@ exports.NtCTubePreset = (0, representation_preset_1.StructureRepresentationPrese
44
44
  }
45
45
  });
46
46
  function NtCTubeSegmentLabel(step) {
47
- return `
48
- <b>${step.auth_asym_id_1}</b> |
49
- <b>${step.label_comp_id_1} ${step.auth_seq_id_1}${step.PDB_ins_code_1}${step.label_alt_id_1.length > 0 ? ` (alt ${step.label_alt_id_1})` : ''}
50
- ${step.label_comp_id_2} ${step.auth_seq_id_2}${step.PDB_ins_code_2}${step.label_alt_id_2.length > 0 ? ` (alt ${step.label_alt_id_2})` : ''} </b><br />
51
- <i>NtC:</i> ${step.NtC} | <i>Confal score:</i> ${step.confal_score} | <i>RMSD:</i> ${step.rmsd.toFixed(2)}
47
+ return `
48
+ <b>${step.auth_asym_id_1}</b> |
49
+ <b>${step.label_comp_id_1} ${step.auth_seq_id_1}${step.PDB_ins_code_1}${step.label_alt_id_1.length > 0 ? ` (alt ${step.label_alt_id_1})` : ''}
50
+ ${step.label_comp_id_2} ${step.auth_seq_id_2}${step.PDB_ins_code_2}${step.label_alt_id_2.length > 0 ? ` (alt ${step.label_alt_id_2})` : ''} </b><br />
51
+ <i>NtC:</i> ${step.NtC} | <i>Confal score:</i> ${step.confal_score} | <i>RMSD:</i> ${step.rmsd.toFixed(2)}
52
52
  `;
53
53
  }
54
54
  exports.NtCTubeSegmentLabel = NtCTubeSegmentLabel;
@@ -27,20 +27,20 @@ class UsdzExporter extends mesh_exporter_1.MeshExporter {
27
27
  const materialKey = this.materialMap.size;
28
28
  this.materialMap.set(hash, materialKey);
29
29
  const [r, g, b] = color_1.Color.toRgbNormalized(color).map(v => Math.round(v * 1000) / 1000);
30
- this.materials.push(`
31
- def Material "material${materialKey}"
32
- {
33
- token outputs:surface.connect = </material${materialKey}/shader.outputs:surface>
34
- def Shader "shader"
35
- {
36
- uniform token info:id = "UsdPreviewSurface"
37
- color3f inputs:diffuseColor = (${r},${g},${b})
38
- float inputs:opacity = ${alpha}
39
- float inputs:metallic = ${metalness}
40
- float inputs:roughness = ${roughness}
41
- token outputs:surface
42
- }
43
- }
30
+ this.materials.push(`
31
+ def Material "material${materialKey}"
32
+ {
33
+ token outputs:surface.connect = </material${materialKey}/shader.outputs:surface>
34
+ def Shader "shader"
35
+ {
36
+ uniform token info:id = "UsdPreviewSurface"
37
+ color3f inputs:diffuseColor = (${r},${g},${b})
38
+ float inputs:opacity = ${alpha}
39
+ float inputs:metallic = ${metalness}
40
+ float inputs:roughness = ${roughness}
41
+ token outputs:surface
42
+ }
43
+ }
44
44
  `);
45
45
  return materialKey;
46
46
  }
@@ -147,41 +147,41 @@ def Material "material${materialKey}"
147
147
  else {
148
148
  const geomSubsets = [];
149
149
  faceIndicesByMaterial.forEach((faceIndices, materialKey) => {
150
- geomSubsets.push(`
151
- def GeomSubset "g${materialKey}"
152
- {
153
- uniform token elementType = "face"
154
- uniform token familyName = "materialBind"
155
- int[] indices = [${faceIndices.join(',')}]
156
- rel material:binding = </material${materialKey}>
157
- }
150
+ geomSubsets.push(`
151
+ def GeomSubset "g${materialKey}"
152
+ {
153
+ uniform token elementType = "face"
154
+ uniform token familyName = "materialBind"
155
+ int[] indices = [${faceIndices.join(',')}]
156
+ rel material:binding = </material${materialKey}>
157
+ }
158
158
  `);
159
159
  });
160
160
  materialBinding = geomSubsets.join('');
161
161
  }
162
- this.meshes.push(`
163
- def Mesh "mesh${this.meshes.length}"
164
- {
165
- int[] faceVertexCounts = [${new Array(drawCount / 3).fill(3).join(',')}]
166
- int[] faceVertexIndices = [${mol_util_1.StringBuilder.getString(indexBuilder)}]
167
- point3f[] points = [${mol_util_1.StringBuilder.getString(vertexBuilder)}]
168
- normal3f[] primvars:normals = [${mol_util_1.StringBuilder.getString(normalBuilder)}] (
169
- interpolation = "vertex"
170
- )
171
- uniform token subdivisionScheme = "none"
172
- ${materialBinding}
173
- }
162
+ this.meshes.push(`
163
+ def Mesh "mesh${this.meshes.length}"
164
+ {
165
+ int[] faceVertexCounts = [${new Array(drawCount / 3).fill(3).join(',')}]
166
+ int[] faceVertexIndices = [${mol_util_1.StringBuilder.getString(indexBuilder)}]
167
+ point3f[] points = [${mol_util_1.StringBuilder.getString(vertexBuilder)}]
168
+ normal3f[] primvars:normals = [${mol_util_1.StringBuilder.getString(normalBuilder)}] (
169
+ interpolation = "vertex"
170
+ )
171
+ uniform token subdivisionScheme = "none"
172
+ ${materialBinding}
173
+ }
174
174
  `);
175
175
  }
176
176
  }
177
177
  async getData(ctx) {
178
- const header = `#usda 1.0
179
- (
180
- customLayerData = {
181
- string creator = "Mol* ${version_1.PLUGIN_VERSION}"
182
- }
183
- metersPerUnit = 1
184
- )
178
+ const header = `#usda 1.0
179
+ (
180
+ customLayerData = {
181
+ string creator = "Mol* ${version_1.PLUGIN_VERSION}"
182
+ }
183
+ metersPerUnit = 1
184
+ )
185
185
  `;
186
186
  const usda = [header, ...this.materials, ...this.meshes].join('');
187
187
  const usdaData = new Uint8Array(usda.length);
@@ -44,6 +44,7 @@ declare const MeshlistStateObject_base: {
44
44
  type: PluginStateObject.TypeInfo;
45
45
  /** Data type for `MeshlistStateObject` - list of meshes */
46
46
  label: string;
47
+ /** Data type for `MeshlistStateObject` - list of meshes */
47
48
  description?: string | undefined;
48
49
  data: MeshlistData;
49
50
  };
@@ -51,7 +51,7 @@ async function encodeMp4Animation(plugin, ctx, params) {
51
51
  await plugin.managers.animation.play(params.animation.definition, params.animation.params);
52
52
  stoppedAnimation = false;
53
53
  for (let i = 0; i <= N; i++) {
54
- await loop.tick(i * dt, { isSynchronous: true, animation: { currentFrame: i, frameCount: N }, manualDraw: true });
54
+ await loop.tick(i * dt, { isSynchronous: true, animation: { currentFrame: i, frameCount: N }, manualDraw: true, updateControls: true });
55
55
  const image = params.pass.getImageData(width, height, normalizedViewport);
56
56
  encoder.addFrameRgba(image.data);
57
57
  if (ctx.shouldUpdate) {
@@ -77,7 +77,6 @@ export declare const MVSAnnotationLabelParams: {
77
77
  ignoreHydrogensVariant: PD.Select<"all" | "non-polar">;
78
78
  includeParent: PD.BooleanParam;
79
79
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
80
- /** Parameter values for representation type "MVS Annotation Label" */
81
80
  annotationId: PD.Text<string>;
82
81
  fieldName: PD.Text<string>;
83
82
  };
@@ -155,7 +154,6 @@ export declare const MVSAnnotationLabelRepresentationProvider: StructureRepresen
155
154
  ignoreHydrogensVariant: PD.Select<"all" | "non-polar">;
156
155
  includeParent: PD.BooleanParam;
157
156
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
158
- /** Parameter values for representation type "MVS Annotation Label" */
159
157
  annotationId: PD.Text<string>;
160
158
  fieldName: PD.Text<string>;
161
159
  }, "mvs-annotation-label">;
@@ -15,7 +15,7 @@ export declare const CustomLabelParams: {
15
15
  defaultValue: import("../../../../mol-util/color").Color;
16
16
  type: "color";
17
17
  isExpanded?: boolean | undefined;
18
- isOptional?: boolean | undefined;
18
+ isOptional?: boolean | undefined; /** A thingy that is needed to register representation type "Custom Label", allowing user-defined labels at at user-defined positions */
19
19
  label?: string | undefined;
20
20
  description?: string | undefined;
21
21
  legend?: import("../../../../mol-util/legend").Legend | undefined;
@@ -101,7 +101,7 @@ export declare const CustomLabelRepresentationProvider: StructureRepresentationP
101
101
  defaultValue: import("../../../../mol-util/color").Color;
102
102
  type: "color";
103
103
  isExpanded?: boolean | undefined;
104
- isOptional?: boolean | undefined;
104
+ isOptional?: boolean | undefined; /** A thingy that is needed to register representation type "Custom Label", allowing user-defined labels at at user-defined positions */
105
105
  label?: string | undefined;
106
106
  description?: string | undefined;
107
107
  legend?: import("../../../../mol-util/legend").Legend | undefined;
@@ -85,7 +85,6 @@ declare class _Base<TKind extends MVSKind> {
85
85
  }[]>;
86
86
  };
87
87
  component_from_uri: {
88
- /** Add a 'representation' node and return builder pointing to it. 'representation' node instructs to create a visual representation of a component. */
89
88
  field_values: import("../generic/params-schema").OptionalField<string[] | null>;
90
89
  uri: import("../generic/params-schema").RequiredField<string>;
91
90
  format: import("../generic/params-schema").RequiredField<"json" | "cif" | "bcif">;
@@ -97,6 +96,7 @@ declare class _Base<TKind extends MVSKind> {
97
96
  };
98
97
  component_from_source: {
99
98
  field_values: import("../generic/params-schema").OptionalField<string[] | null>;
99
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
100
100
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
101
101
  block_header: import("../generic/params-schema").OptionalField<string | null>;
102
102
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -152,6 +152,7 @@ declare class _Base<TKind extends MVSKind> {
152
152
  field_name: import("../generic/params-schema").OptionalField<string>;
153
153
  };
154
154
  color_from_source: {
155
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
155
156
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
156
157
  block_header: import("../generic/params-schema").OptionalField<string | null>;
157
158
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -171,6 +172,7 @@ declare class _Base<TKind extends MVSKind> {
171
172
  field_name: import("../generic/params-schema").OptionalField<string>;
172
173
  };
173
174
  label_from_source: {
175
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
174
176
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
175
177
  block_header: import("../generic/params-schema").OptionalField<string | null>;
176
178
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -190,6 +192,7 @@ declare class _Base<TKind extends MVSKind> {
190
192
  field_name: import("../generic/params-schema").OptionalField<string>;
191
193
  };
192
194
  tooltip_from_source: {
195
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
193
196
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
194
197
  block_header: import("../generic/params-schema").OptionalField<string | null>;
195
198
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -266,7 +269,6 @@ declare class _Base<TKind extends MVSKind> {
266
269
  }[]>;
267
270
  };
268
271
  component_from_uri: {
269
- /** Add a 'representation' node and return builder pointing to it. 'representation' node instructs to create a visual representation of a component. */
270
272
  field_values: import("../generic/params-schema").OptionalField<string[] | null>;
271
273
  uri: import("../generic/params-schema").RequiredField<string>;
272
274
  format: import("../generic/params-schema").RequiredField<"json" | "cif" | "bcif">;
@@ -278,6 +280,7 @@ declare class _Base<TKind extends MVSKind> {
278
280
  };
279
281
  component_from_source: {
280
282
  field_values: import("../generic/params-schema").OptionalField<string[] | null>;
283
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
281
284
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
282
285
  block_header: import("../generic/params-schema").OptionalField<string | null>;
283
286
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -333,6 +336,7 @@ declare class _Base<TKind extends MVSKind> {
333
336
  field_name: import("../generic/params-schema").OptionalField<string>;
334
337
  };
335
338
  color_from_source: {
339
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
336
340
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
337
341
  block_header: import("../generic/params-schema").OptionalField<string | null>;
338
342
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -352,6 +356,7 @@ declare class _Base<TKind extends MVSKind> {
352
356
  field_name: import("../generic/params-schema").OptionalField<string>;
353
357
  };
354
358
  label_from_source: {
359
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
355
360
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
356
361
  block_header: import("../generic/params-schema").OptionalField<string | null>;
357
362
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -371,6 +376,7 @@ declare class _Base<TKind extends MVSKind> {
371
376
  field_name: import("../generic/params-schema").OptionalField<string>;
372
377
  };
373
378
  tooltip_from_source: {
379
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
374
380
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
375
381
  block_header: import("../generic/params-schema").OptionalField<string | null>;
376
382
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Dominik Tichý <tichydominik451@gmail.com>
5
+ * @author Dušan Veľký <dvelky@mail.muni.cz>
6
+ */
1
7
  export { SbNcbrPartialCharges } from './partial-charges/behavior';
2
8
  export { SbNcbrPartialChargesPreset } from './partial-charges/preset';
3
9
  export { SbNcbrPartialChargesPropertyProvider } from './partial-charges/property';
10
+ export { SbNcbrTunnels } from './tunnels/behavior';
11
+ export { TunnelsFromRawData, SelectTunnel, TunnelFromRawData, TunnelShapeProvider } from './tunnels/representation';
@@ -1,9 +1,22 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ *
5
+ * @author Dominik Tichý <tichydominik451@gmail.com>
6
+ * @author Dušan Veľký <dvelky@mail.muni.cz>
7
+ */
2
8
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SbNcbrPartialChargesPropertyProvider = exports.SbNcbrPartialChargesPreset = exports.SbNcbrPartialCharges = void 0;
9
+ exports.TunnelShapeProvider = exports.TunnelFromRawData = exports.SelectTunnel = exports.TunnelsFromRawData = exports.SbNcbrTunnels = exports.SbNcbrPartialChargesPropertyProvider = exports.SbNcbrPartialChargesPreset = exports.SbNcbrPartialCharges = void 0;
4
10
  var behavior_1 = require("./partial-charges/behavior");
5
11
  Object.defineProperty(exports, "SbNcbrPartialCharges", { enumerable: true, get: function () { return behavior_1.SbNcbrPartialCharges; } });
6
12
  var preset_1 = require("./partial-charges/preset");
7
13
  Object.defineProperty(exports, "SbNcbrPartialChargesPreset", { enumerable: true, get: function () { return preset_1.SbNcbrPartialChargesPreset; } });
8
14
  var property_1 = require("./partial-charges/property");
9
15
  Object.defineProperty(exports, "SbNcbrPartialChargesPropertyProvider", { enumerable: true, get: function () { return property_1.SbNcbrPartialChargesPropertyProvider; } });
16
+ var behavior_2 = require("./tunnels/behavior");
17
+ Object.defineProperty(exports, "SbNcbrTunnels", { enumerable: true, get: function () { return behavior_2.SbNcbrTunnels; } });
18
+ var representation_1 = require("./tunnels/representation");
19
+ Object.defineProperty(exports, "TunnelsFromRawData", { enumerable: true, get: function () { return representation_1.TunnelsFromRawData; } });
20
+ Object.defineProperty(exports, "SelectTunnel", { enumerable: true, get: function () { return representation_1.SelectTunnel; } });
21
+ Object.defineProperty(exports, "TunnelFromRawData", { enumerable: true, get: function () { return representation_1.TunnelFromRawData; } });
22
+ Object.defineProperty(exports, "TunnelShapeProvider", { enumerable: true, get: function () { return representation_1.TunnelShapeProvider; } });
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Dušan Veľký <dvelky@mail.muni.cz>
5
+ */
6
+ import { PluginStateObject } from '../../../mol-plugin-state/objects';
7
+ import { StateAction } from '../../../mol-state';
8
+ import { ParamDefinition as PD } from '../../../mol-util/param-definition';
9
+ export declare const TunnelDownloadServer: {
10
+ channelsdb: PD.Group<PD.Normalize<unknown>>;
11
+ };
12
+ export declare const DownloadTunnels: StateAction<PluginStateObject.Root, void, PD.Normalize<{
13
+ source: PD.NamedParams<PD.Normalize<{
14
+ url: any;
15
+ }>, "url"> | PD.NamedParams<PD.Normalize<{
16
+ provider: any;
17
+ }>, "alphafolddb"> | PD.NamedParams<PD.Normalize<{
18
+ provider: any;
19
+ }>, "pdb">;
20
+ }>>;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ *
5
+ * @author Dušan Veľký <dvelky@mail.muni.cz>
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.DownloadTunnels = exports.TunnelDownloadServer = void 0;
9
+ const objects_1 = require("../../../mol-plugin-state/objects");
10
+ const transforms_1 = require("../../../mol-plugin-state/transforms");
11
+ const mol_state_1 = require("../../../mol-state");
12
+ const mol_task_1 = require("../../../mol-task");
13
+ const param_definition_1 = require("../../../mol-util/param-definition");
14
+ const type_helpers_1 = require("../../../mol-util/type-helpers");
15
+ const props_1 = require("./props");
16
+ const representation_1 = require("./representation");
17
+ exports.TunnelDownloadServer = {
18
+ 'channelsdb': param_definition_1.ParamDefinition.EmptyGroup({ label: 'ChannelsDB' })
19
+ };
20
+ exports.DownloadTunnels = mol_state_1.StateAction.build({
21
+ display: { name: 'Download Tunnels', description: 'Load a tunnels from the provided source and create theirs representations' },
22
+ from: objects_1.PluginStateObject.Root,
23
+ params: (_, plugin) => {
24
+ return {
25
+ source: param_definition_1.ParamDefinition.MappedStatic('pdb', {
26
+ 'pdb': param_definition_1.ParamDefinition.Group({
27
+ provider: param_definition_1.ParamDefinition.Group({
28
+ id: param_definition_1.ParamDefinition.Text('1tqn', { label: 'PDB Id(s)', description: 'One or more comma/space separated PDB ids.' }),
29
+ server: param_definition_1.ParamDefinition.MappedStatic('channelsdb', exports.TunnelDownloadServer),
30
+ }, { pivot: 'id' }),
31
+ }, { isFlat: true, label: 'PDB' }),
32
+ 'alphafolddb': param_definition_1.ParamDefinition.Group({
33
+ provider: param_definition_1.ParamDefinition.Group({
34
+ id: param_definition_1.ParamDefinition.Text('Q8W3K0', { label: 'UniProtKB AC(s)', description: 'One or more comma/space separated ACs.' }),
35
+ server: param_definition_1.ParamDefinition.MappedStatic('channelsdb', exports.TunnelDownloadServer),
36
+ }, { pivot: 'id' })
37
+ }, { isFlat: true, label: 'AlphaFold DB', description: 'Loads the predicted model if available' }),
38
+ 'url': param_definition_1.ParamDefinition.Group({
39
+ url: param_definition_1.ParamDefinition.Url(''),
40
+ }, { isFlat: true, label: 'URL' })
41
+ })
42
+ };
43
+ }
44
+ })(({ params, state }, plugin) => mol_task_1.Task.create('Download Tunnels', async (ctx) => {
45
+ plugin.behaviors.layout.leftPanelTabName.next('data');
46
+ const src = params.source;
47
+ let downloadParams;
48
+ switch (src.name) {
49
+ case 'url':
50
+ downloadParams = [{ url: src.params.url }];
51
+ break;
52
+ case 'pdb':
53
+ downloadParams = src.params.provider.server.name === 'channelsdb'
54
+ ? [{ url: `${plugin === null || plugin === void 0 ? void 0 : plugin.config.get(props_1.TunnelsServerConfig.DefaultServerUrl)}/channels/pdb/${src.params.provider.id}` }]
55
+ : (0, type_helpers_1.assertUnreachable)(src);
56
+ break;
57
+ case 'alphafolddb':
58
+ downloadParams = src.params.provider.server.name === 'channelsdb'
59
+ ? [{ url: `${plugin === null || plugin === void 0 ? void 0 : plugin.config.get(props_1.TunnelsServerConfig.DefaultServerUrl)}/channels/alphafill/${src.params.provider.id.toLowerCase()}` }]
60
+ : (0, type_helpers_1.assertUnreachable)(src);
61
+ break;
62
+ default: (0, type_helpers_1.assertUnreachable)(src);
63
+ }
64
+ await state.transaction(async () => {
65
+ var _a;
66
+ const update = plugin.build();
67
+ const webgl = (_a = plugin.canvas3dContext) === null || _a === void 0 ? void 0 : _a.webgl;
68
+ for (const download of downloadParams) {
69
+ const response = await (await fetch(download.url.toString())).json();
70
+ const tunnels = [];
71
+ Object.entries(response.Channels).forEach(([key, values]) => {
72
+ if (values.length > 0) {
73
+ values.forEach((item) => {
74
+ tunnels.push({ data: item.Profile, props: { id: item.Id, type: item.Type } });
75
+ });
76
+ }
77
+ });
78
+ update
79
+ .toRoot()
80
+ .apply(representation_1.TunnelsFromRawData, { data: tunnels })
81
+ .apply(representation_1.SelectTunnel)
82
+ .apply(representation_1.TunnelShapeProvider, {
83
+ webgl,
84
+ })
85
+ .apply(transforms_1.StateTransforms.Representation.ShapeRepresentation3D);
86
+ await update.commit();
87
+ }
88
+ }).runInContext(ctx);
89
+ }));
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Dušan Veľký <dvelky@mail.muni.cz>
5
+ */
6
+ import { Mesh } from '../../../mol-geo/geometry/mesh/mesh';
7
+ import { WebGLContext } from '../../../mol-gl/webgl/context';
8
+ import { Shape } from '../../../mol-model/shape';
9
+ import { Color } from '../../../mol-util/color';
10
+ import { Tunnel } from './data-model';
11
+ export declare function createSpheresShape(options: {
12
+ tunnel: Tunnel;
13
+ color: Color;
14
+ resolution: number;
15
+ sampleRate: number;
16
+ showRadii: boolean;
17
+ prev?: Shape<Mesh>;
18
+ }): Promise<Shape<Mesh>>;
19
+ export declare function createTunnelShape(options: {
20
+ tunnel: Tunnel;
21
+ color: Color;
22
+ resolution: number;
23
+ sampleRate: number;
24
+ webgl: WebGLContext | undefined;
25
+ prev?: Shape<Mesh>;
26
+ }): Promise<Shape<Mesh>>;