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.
- package/LICENSE +20 -20
- package/README.md +197 -197
- package/build/viewer/embedded.html +52 -52
- package/build/viewer/index.html +129 -129
- package/build/viewer/molstar.js +1 -1
- package/build/viewer/molstar.js.LICENSE.txt +9 -0
- package/lib/apps/docking-viewer/index.html +36 -36
- package/lib/apps/mesoscale-explorer/index.html +100 -100
- package/lib/apps/mesoscale-explorer/style.scss +33 -33
- package/lib/apps/viewer/app.d.ts +2 -1
- package/lib/apps/viewer/app.js +2 -1
- package/lib/apps/viewer/embedded.html +52 -52
- package/lib/apps/viewer/index.html +129 -129
- package/lib/cli/chem-comp-dict/create-ions.js +9 -9
- package/lib/cli/chem-comp-dict/create-saccharides.js +9 -9
- package/lib/cli/cifschema/util/generate.js +12 -12
- package/lib/cli/lipid-params/index.js +9 -9
- package/lib/commonjs/apps/viewer/app.d.ts +2 -1
- package/lib/commonjs/apps/viewer/app.js +1 -0
- package/lib/commonjs/cli/chem-comp-dict/create-ions.js +9 -9
- package/lib/commonjs/cli/chem-comp-dict/create-saccharides.js +9 -9
- package/lib/commonjs/cli/cifschema/util/generate.js +12 -12
- package/lib/commonjs/cli/lipid-params/index.js +9 -9
- package/lib/commonjs/examples/alpha-orbitals/example-data.js +160 -160
- package/lib/commonjs/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
- package/lib/commonjs/extensions/assembly-symmetry/prop.js +24 -24
- package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.js +5 -5
- package/lib/commonjs/extensions/dnatco/ntc-tube/behavior.js +5 -5
- package/lib/commonjs/extensions/geo-export/usdz-exporter.js +41 -41
- package/lib/commonjs/extensions/meshes/mesh-extension.d.ts +1 -0
- package/lib/commonjs/extensions/mp4-export/encoder.js +1 -1
- package/lib/commonjs/extensions/mvs/components/annotation-label/representation.d.ts +0 -2
- package/lib/commonjs/extensions/mvs/components/custom-label/representation.d.ts +2 -2
- package/lib/commonjs/extensions/mvs/tree/mvs/mvs-builder.d.ts +8 -2
- package/lib/commonjs/extensions/sb-ncbr/index.d.ts +8 -0
- package/lib/commonjs/extensions/sb-ncbr/index.js +14 -1
- package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.js +89 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.js +474 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.js +96 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.js +28 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.js +54 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/props.js +26 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.js +99 -0
- package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +17 -0
- package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
- package/lib/commonjs/mol-canvas3d/passes/dof.d.ts +34 -0
- package/lib/commonjs/mol-canvas3d/passes/dof.js +167 -0
- package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +2 -0
- package/lib/commonjs/mol-canvas3d/passes/draw.js +31 -8
- package/lib/commonjs/mol-canvas3d/passes/image.d.ts +8 -0
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +8 -0
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +5 -0
- package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +0 -1
- package/lib/commonjs/mol-gl/shader/background.frag.js +95 -95
- package/lib/commonjs/mol-gl/shader/background.vert.js +11 -11
- package/lib/commonjs/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
- package/lib/commonjs/mol-gl/shader/bloom/blur.frag.js +28 -28
- package/lib/commonjs/mol-gl/shader/bloom/composite.frag.js +33 -33
- package/lib/commonjs/mol-gl/shader/bloom/luminosity.frag.js +52 -52
- package/lib/commonjs/mol-gl/shader/cas.frag.js +144 -144
- package/lib/commonjs/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
- package/lib/commonjs/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +77 -77
- package/lib/commonjs/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
- package/lib/commonjs/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
- package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +140 -140
- package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
- package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
- package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +112 -112
- package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
- package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
- package/lib/commonjs/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
- package/lib/commonjs/mol-gl/shader/chunks/check-transparency.glsl.js +16 -16
- package/lib/commonjs/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
- package/lib/commonjs/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
- package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +60 -60
- package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +122 -122
- package/lib/commonjs/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
- package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +150 -150
- package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
- package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +234 -234
- package/lib/commonjs/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
- package/lib/commonjs/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
- package/lib/commonjs/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
- package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
- package/lib/commonjs/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
- package/lib/commonjs/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
- package/lib/commonjs/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
- package/lib/commonjs/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
- package/lib/commonjs/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
- package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
- package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
- package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
- package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
- package/lib/commonjs/mol-gl/shader/compose.frag.js +12 -12
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
- package/lib/commonjs/mol-gl/shader/copy.frag.js +11 -11
- package/lib/commonjs/mol-gl/shader/cylinders.frag.js +266 -266
- package/lib/commonjs/mol-gl/shader/cylinders.vert.js +89 -89
- package/lib/commonjs/mol-gl/shader/depth-merge.frag.js +23 -23
- package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +362 -362
- package/lib/commonjs/mol-gl/shader/direct-volume.vert.js +41 -41
- package/lib/commonjs/mol-gl/shader/dof.frag.d.ts +7 -0
- package/lib/commonjs/mol-gl/shader/dof.frag.js +122 -0
- package/lib/commonjs/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
- package/lib/commonjs/mol-gl/shader/evaluate-wboit.frag.js +17 -17
- package/lib/commonjs/mol-gl/shader/fxaa.frag.js +228 -228
- package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +49 -49
- package/lib/commonjs/mol-gl/shader/gaussian-density.vert.js +27 -27
- package/lib/commonjs/mol-gl/shader/hi-z.frag.js +18 -18
- package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
- package/lib/commonjs/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
- package/lib/commonjs/mol-gl/shader/image.frag.js +169 -169
- package/lib/commonjs/mol-gl/shader/image.vert.js +21 -21
- package/lib/commonjs/mol-gl/shader/lines.frag.js +42 -42
- package/lib/commonjs/mol-gl/shader/lines.vert.js +117 -117
- package/lib/commonjs/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
- package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
- package/lib/commonjs/mol-gl/shader/marking/edge.frag.js +28 -28
- package/lib/commonjs/mol-gl/shader/marking/overlay.frag.js +26 -26
- package/lib/commonjs/mol-gl/shader/mesh.frag.js +65 -65
- package/lib/commonjs/mol-gl/shader/mesh.vert.js +49 -49
- package/lib/commonjs/mol-gl/shader/outlines.frag.js +95 -95
- package/lib/commonjs/mol-gl/shader/points.frag.js +59 -59
- package/lib/commonjs/mol-gl/shader/points.vert.js +38 -38
- package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +150 -150
- package/lib/commonjs/mol-gl/shader/quad.vert.js +10 -10
- package/lib/commonjs/mol-gl/shader/shadows.frag.js +123 -123
- package/lib/commonjs/mol-gl/shader/smaa/blend.frag.js +56 -56
- package/lib/commonjs/mol-gl/shader/smaa/blend.vert.js +25 -25
- package/lib/commonjs/mol-gl/shader/smaa/edges.frag.js +66 -66
- package/lib/commonjs/mol-gl/shader/smaa/edges.vert.js +26 -26
- package/lib/commonjs/mol-gl/shader/smaa/weights.frag.js +206 -206
- package/lib/commonjs/mol-gl/shader/smaa/weights.vert.js +32 -32
- package/lib/commonjs/mol-gl/shader/spheres.frag.js +148 -148
- package/lib/commonjs/mol-gl/shader/spheres.vert.js +132 -132
- package/lib/commonjs/mol-gl/shader/ssao-blur.frag.js +97 -97
- package/lib/commonjs/mol-gl/shader/ssao.frag.js +211 -211
- package/lib/commonjs/mol-gl/shader/text.frag.js +85 -85
- package/lib/commonjs/mol-gl/shader/text.vert.js +85 -85
- package/lib/commonjs/mol-gl/shader/util/grid3d-template.frag.js +46 -46
- package/lib/commonjs/mol-gl/shader-code.js +15 -15
- package/lib/commonjs/mol-gl/webgl/compat.js +12 -12
- package/lib/commonjs/mol-gl/webgl/context.js +1 -0
- package/lib/commonjs/mol-gl/webgl/timer.d.ts +1 -1
- package/lib/commonjs/mol-gl/webgl/timer.js +8 -1
- package/lib/commonjs/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
- package/lib/commonjs/mol-plugin/animation-loop.d.ts +1 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +6 -6
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +1 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
- package/lib/commonjs/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
- package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +3 -0
- package/lib/commonjs/servers/common/swagger-ui/indexTemplate.js +66 -66
- package/lib/commonjs/servers/volume/config.js +5 -5
- package/lib/examples/alpha-orbitals/example-data.js +160 -160
- package/lib/examples/alpha-orbitals/index.html +72 -72
- package/lib/examples/basic-wrapper/index.html +137 -137
- package/lib/examples/lighting/index.html +88 -88
- package/lib/examples/proteopedia-wrapper/index.html +236 -236
- package/lib/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
- package/lib/extensions/assembly-symmetry/prop.js +24 -24
- package/lib/extensions/dnatco/confal-pyramids/behavior.js +5 -5
- package/lib/extensions/dnatco/ntc-tube/behavior.js +5 -5
- package/lib/extensions/geo-export/usdz-exporter.js +41 -41
- package/lib/extensions/meshes/mesh-extension.d.ts +1 -0
- package/lib/extensions/mp4-export/encoder.js +1 -1
- package/lib/extensions/mvs/components/annotation-label/representation.d.ts +0 -2
- package/lib/extensions/mvs/components/custom-label/representation.d.ts +2 -2
- package/lib/extensions/mvs/tree/mvs/mvs-builder.d.ts +8 -2
- package/lib/extensions/sb-ncbr/index.d.ts +8 -0
- package/lib/extensions/sb-ncbr/index.js +8 -0
- package/lib/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
- package/lib/extensions/sb-ncbr/tunnels/actions.js +86 -0
- package/lib/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
- package/lib/extensions/sb-ncbr/tunnels/algorithm.js +469 -0
- package/lib/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
- package/lib/extensions/sb-ncbr/tunnels/behavior.js +92 -0
- package/lib/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
- package/lib/extensions/sb-ncbr/tunnels/data-model.js +23 -0
- package/lib/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
- package/lib/extensions/sb-ncbr/tunnels/examples.js +49 -0
- package/lib/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
- package/lib/extensions/sb-ncbr/tunnels/props.js +22 -0
- package/lib/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
- package/lib/extensions/sb-ncbr/tunnels/representation.js +96 -0
- package/lib/mol-canvas3d/canvas3d.d.ts +17 -0
- package/lib/mol-canvas3d/canvas3d.js +4 -0
- package/lib/mol-canvas3d/passes/dof.d.ts +34 -0
- package/lib/mol-canvas3d/passes/dof.js +163 -0
- package/lib/mol-canvas3d/passes/draw.d.ts +2 -0
- package/lib/mol-canvas3d/passes/draw.js +31 -8
- package/lib/mol-canvas3d/passes/image.d.ts +8 -0
- package/lib/mol-canvas3d/passes/postprocessing.d.ts +8 -0
- package/lib/mol-canvas3d/passes/postprocessing.js +5 -0
- package/lib/mol-geo/geometry/lines/lines.d.ts +0 -1
- package/lib/mol-gl/shader/background.frag.js +95 -95
- package/lib/mol-gl/shader/background.vert.js +11 -11
- package/lib/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
- package/lib/mol-gl/shader/bloom/blur.frag.js +28 -28
- package/lib/mol-gl/shader/bloom/composite.frag.js +33 -33
- package/lib/mol-gl/shader/bloom/luminosity.frag.js +52 -52
- package/lib/mol-gl/shader/cas.frag.js +144 -144
- package/lib/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
- package/lib/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +77 -77
- package/lib/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
- package/lib/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
- package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +140 -140
- package/lib/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
- package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
- package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +112 -112
- package/lib/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
- package/lib/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
- package/lib/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
- package/lib/mol-gl/shader/chunks/check-transparency.glsl.js +16 -16
- package/lib/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
- package/lib/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
- package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +60 -60
- package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +122 -122
- package/lib/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
- package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +150 -150
- package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
- package/lib/mol-gl/shader/chunks/common.glsl.js +234 -234
- package/lib/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
- package/lib/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
- package/lib/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
- package/lib/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
- package/lib/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
- package/lib/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
- package/lib/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
- package/lib/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
- package/lib/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
- package/lib/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
- package/lib/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
- package/lib/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
- package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
- package/lib/mol-gl/shader/compose.frag.js +12 -12
- package/lib/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
- package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
- package/lib/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
- package/lib/mol-gl/shader/copy.frag.js +11 -11
- package/lib/mol-gl/shader/cylinders.frag.js +266 -266
- package/lib/mol-gl/shader/cylinders.vert.js +89 -89
- package/lib/mol-gl/shader/depth-merge.frag.js +23 -23
- package/lib/mol-gl/shader/direct-volume.frag.js +362 -362
- package/lib/mol-gl/shader/direct-volume.vert.js +41 -41
- package/lib/mol-gl/shader/dof.frag.d.ts +7 -0
- package/lib/mol-gl/shader/dof.frag.js +119 -0
- package/lib/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
- package/lib/mol-gl/shader/evaluate-wboit.frag.js +17 -17
- package/lib/mol-gl/shader/fxaa.frag.js +228 -228
- package/lib/mol-gl/shader/gaussian-density.frag.js +49 -49
- package/lib/mol-gl/shader/gaussian-density.vert.js +27 -27
- package/lib/mol-gl/shader/hi-z.frag.js +18 -18
- package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
- package/lib/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
- package/lib/mol-gl/shader/image.frag.js +169 -169
- package/lib/mol-gl/shader/image.vert.js +21 -21
- package/lib/mol-gl/shader/lines.frag.js +42 -42
- package/lib/mol-gl/shader/lines.vert.js +117 -117
- package/lib/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
- package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
- package/lib/mol-gl/shader/marking/edge.frag.js +28 -28
- package/lib/mol-gl/shader/marking/overlay.frag.js +26 -26
- package/lib/mol-gl/shader/mesh.frag.js +65 -65
- package/lib/mol-gl/shader/mesh.vert.js +49 -49
- package/lib/mol-gl/shader/outlines.frag.js +95 -95
- package/lib/mol-gl/shader/points.frag.js +59 -59
- package/lib/mol-gl/shader/points.vert.js +38 -38
- package/lib/mol-gl/shader/postprocessing.frag.js +150 -150
- package/lib/mol-gl/shader/quad.vert.js +10 -10
- package/lib/mol-gl/shader/shadows.frag.js +123 -123
- package/lib/mol-gl/shader/smaa/blend.frag.js +56 -56
- package/lib/mol-gl/shader/smaa/blend.vert.js +25 -25
- package/lib/mol-gl/shader/smaa/edges.frag.js +66 -66
- package/lib/mol-gl/shader/smaa/edges.vert.js +26 -26
- package/lib/mol-gl/shader/smaa/weights.frag.js +206 -206
- package/lib/mol-gl/shader/smaa/weights.vert.js +32 -32
- package/lib/mol-gl/shader/spheres.frag.js +148 -148
- package/lib/mol-gl/shader/spheres.vert.js +132 -132
- package/lib/mol-gl/shader/ssao-blur.frag.js +97 -97
- package/lib/mol-gl/shader/ssao.frag.js +211 -211
- package/lib/mol-gl/shader/text.frag.js +85 -85
- package/lib/mol-gl/shader/text.vert.js +85 -85
- package/lib/mol-gl/shader/util/grid3d-template.frag.js +46 -46
- package/lib/mol-gl/shader-code.js +15 -15
- package/lib/mol-gl/webgl/compat.js +12 -12
- package/lib/mol-gl/webgl/context.js +1 -0
- package/lib/mol-gl/webgl/timer.d.ts +1 -1
- package/lib/mol-gl/webgl/timer.js +8 -1
- package/lib/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
- package/lib/mol-plugin/animation-loop.d.ts +1 -0
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +6 -6
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +1 -1
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
- package/lib/mol-plugin/version.js +2 -2
- package/lib/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
- package/lib/mol-plugin-ui/skin/base/base.scss +37 -37
- package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
- package/lib/mol-plugin-ui/skin/base/components/controls.scss +445 -445
- package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
- package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
- package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
- package/lib/mol-plugin-ui/skin/base/components/misc.scss +663 -663
- package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
- package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
- package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
- package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
- package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
- package/lib/mol-plugin-ui/skin/base/components/viewport.scss +194 -194
- package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
- package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
- package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
- package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
- package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
- package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
- package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
- package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
- package/lib/mol-plugin-ui/skin/base/variables.scss +88 -88
- package/lib/mol-plugin-ui/skin/blue.scss +1 -1
- package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
- package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
- package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
- package/lib/mol-plugin-ui/skin/dark.scss +1 -1
- package/lib/mol-plugin-ui/skin/light.scss +1 -1
- package/lib/mol-plugin-ui/viewport/simple-settings.js +3 -0
- package/lib/servers/common/swagger-ui/indexTemplate.js +66 -66
- package/lib/servers/volume/config.js +5 -5
- package/package.json +196 -195
|
@@ -3,141 +3,141 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @author David Sehnal <david.sehnal@gmail.com>
|
|
5
5
|
*/
|
|
6
|
-
export const UTILS = `
|
|
7
|
-
float L1(vec3 p, float a0, float a1, float a2) {
|
|
8
|
-
return a0 * p.z + a1 * p.x + a2 * p.y;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
float L2(vec3 p, float a0, float a1, float a2, float a3, float a4) {
|
|
12
|
-
float x = p.x, y = p.y, z = p.z;
|
|
13
|
-
float xx = x * x, yy = y * y, zz = z * z;
|
|
14
|
-
return (
|
|
15
|
-
a0 * (-0.5 * xx - 0.5 * yy + zz) +
|
|
16
|
-
a1 * (1.7320508075688772 * x * z) +
|
|
17
|
-
a2 * (1.7320508075688772 * y * z) +
|
|
18
|
-
a3 * (0.8660254037844386 * xx - 0.8660254037844386 * yy) +
|
|
19
|
-
a4 * (1.7320508075688772 * x * y)
|
|
20
|
-
);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
float L3(vec3 p, float a0, float a1, float a2, float a3, float a4, float a5, float a6) {
|
|
24
|
-
float x = p.x, y = p.y, z = p.z;
|
|
25
|
-
float xx = x * x, yy = y * y, zz = z * z;
|
|
26
|
-
float xxx = xx * x, yyy = yy * y, zzz = zz * z;
|
|
27
|
-
return (
|
|
28
|
-
a0 * (-1.5 * xx * z - 1.5 * yy * z + zzz) +
|
|
29
|
-
a1 * (-0.6123724356957945 * xxx - 0.6123724356957945 * x * yy + 2.449489742783178 * x * zz) +
|
|
30
|
-
a2 * (-0.6123724356957945 * xx * y - 0.6123724356957945 * yyy + 2.449489742783178 * y * zz) +
|
|
31
|
-
a3 * (1.9364916731037085 * xx * z - 1.9364916731037085 * yy * z) +
|
|
32
|
-
a4 * (3.872983346207417 * x * y * z) +
|
|
33
|
-
a5 * (0.7905694150420949 * xxx - 2.3717082451262845 * x * yy) +
|
|
34
|
-
a6 * (2.3717082451262845 * xx * y - 0.7905694150420949 * yyy)
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
float L4(vec3 p, float a0, float a1, float a2, float a3, float a4, float a5, float a6, float a7, float a8) {
|
|
39
|
-
float x = p.x, y = p.y, z = p.z;
|
|
40
|
-
float xx = x * x, yy = y * y, zz = z * z;
|
|
41
|
-
float xxx = xx * x, yyy = yy * y, zzz = zz * z;
|
|
42
|
-
float xxxx = xxx * x, yyyy = yyy * y, zzzz = zzz * z;
|
|
43
|
-
return (
|
|
44
|
-
a0 * (0.375 * xxxx + 0.75 * xx * yy + 0.375 * yyyy - 3.0 * xx * zz - 3.0 * yy * zz + zzzz) +
|
|
45
|
-
a1 * (-2.3717082451262845 * xxx * z - 2.3717082451262845 * x * yy * z + 3.1622776601683795 * x * zzz) +
|
|
46
|
-
a2 * (-2.3717082451262845 * xx * y * z - 2.3717082451262845 * yyy * z + 3.1622776601683795 * y * zzz) +
|
|
47
|
-
a3 * (-0.5590169943749475 * xxxx + 0.5590169943749475 * yyyy + 3.3541019662496847 * xx * zz - 3.3541019662496847 * yy * zz) +
|
|
48
|
-
a4 * (-1.118033988749895 * xxx * y - 1.118033988749895 * x * yyy + 6.708203932499369 * x * y * zz) +
|
|
49
|
-
a5 * (2.091650066335189 * xxx * z + -6.274950199005566 * x * yy * z) +
|
|
50
|
-
a6 * (6.274950199005566 * xx * y * z + -2.091650066335189 * yyy * z) +
|
|
51
|
-
a7 * (0.739509972887452 * xxxx - 4.437059837324712 * xx * yy + 0.739509972887452 * yyyy) +
|
|
52
|
-
a8 * (2.958039891549808 * xxx * y + -2.958039891549808 * x * yyy)
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
float alpha(float offset, float f) {
|
|
57
|
-
#ifdef WEBGL1
|
|
58
|
-
// in webgl1, the value is in the alpha channel!
|
|
59
|
-
return texture2D(tAlpha, vec2(offset * f, 0.5)).a;
|
|
60
|
-
#else
|
|
61
|
-
return texture2D(tAlpha, vec2(offset * f, 0.5)).x;
|
|
62
|
-
#endif
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
float Y(int L, vec3 X, float aO, float fA) {
|
|
66
|
-
if (L == 0) {
|
|
67
|
-
return alpha(aO, fA);
|
|
68
|
-
} else if (L == 1) {
|
|
69
|
-
return L1(X,
|
|
70
|
-
alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA)
|
|
71
|
-
);
|
|
72
|
-
} else if (L == 2) {
|
|
73
|
-
return L2(X,
|
|
74
|
-
alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA), alpha(aO + 3.0, fA), alpha(aO + 4.0, fA)
|
|
75
|
-
);
|
|
76
|
-
} else if (L == 3) {
|
|
77
|
-
return L3(X,
|
|
78
|
-
alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA), alpha(aO + 3.0, fA), alpha(aO + 4.0, fA),
|
|
79
|
-
alpha(aO + 5.0, fA), alpha(aO + 6.0, fA)
|
|
80
|
-
);
|
|
81
|
-
} else if (L == 4) {
|
|
82
|
-
return L4(X,
|
|
83
|
-
alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA), alpha(aO + 3.0, fA), alpha(aO + 4.0, fA),
|
|
84
|
-
alpha(aO + 5.0, fA), alpha(aO + 6.0, fA), alpha(aO + 7.0, fA), alpha(aO + 8.0, fA)
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
// TODO: do we need L > 4?
|
|
88
|
-
return 0.0;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
#ifndef WEBGL1
|
|
92
|
-
float R(float R2, int start, int end, float fCoeff) {
|
|
93
|
-
float gauss = 0.0;
|
|
94
|
-
for (int i = start; i < end; i++) {
|
|
95
|
-
vec2 c = texture2D(tCoeff, vec2(float(i) * fCoeff, 0.5)).xy;
|
|
96
|
-
gauss += c.x * exp(-c.y * R2);
|
|
97
|
-
}
|
|
98
|
-
return gauss;
|
|
99
|
-
}
|
|
100
|
-
#else
|
|
101
|
-
float R(float R2, int start, int end, float fCoeff) {
|
|
102
|
-
float gauss = 0.0;
|
|
103
|
-
int o = start;
|
|
104
|
-
for (int i = 0; i < uMaxCoeffs; i++) {
|
|
105
|
-
if (o >= end) break;
|
|
106
|
-
|
|
107
|
-
vec2 c = texture2D(tCoeff, vec2(float(o) * fCoeff, 0.5)).xy;
|
|
108
|
-
gauss += c.x * exp(-c.y * R2);
|
|
109
|
-
o++;
|
|
110
|
-
}
|
|
111
|
-
return gauss;
|
|
112
|
-
}
|
|
113
|
-
#endif
|
|
6
|
+
export const UTILS = `
|
|
7
|
+
float L1(vec3 p, float a0, float a1, float a2) {
|
|
8
|
+
return a0 * p.z + a1 * p.x + a2 * p.y;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
float L2(vec3 p, float a0, float a1, float a2, float a3, float a4) {
|
|
12
|
+
float x = p.x, y = p.y, z = p.z;
|
|
13
|
+
float xx = x * x, yy = y * y, zz = z * z;
|
|
14
|
+
return (
|
|
15
|
+
a0 * (-0.5 * xx - 0.5 * yy + zz) +
|
|
16
|
+
a1 * (1.7320508075688772 * x * z) +
|
|
17
|
+
a2 * (1.7320508075688772 * y * z) +
|
|
18
|
+
a3 * (0.8660254037844386 * xx - 0.8660254037844386 * yy) +
|
|
19
|
+
a4 * (1.7320508075688772 * x * y)
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
float L3(vec3 p, float a0, float a1, float a2, float a3, float a4, float a5, float a6) {
|
|
24
|
+
float x = p.x, y = p.y, z = p.z;
|
|
25
|
+
float xx = x * x, yy = y * y, zz = z * z;
|
|
26
|
+
float xxx = xx * x, yyy = yy * y, zzz = zz * z;
|
|
27
|
+
return (
|
|
28
|
+
a0 * (-1.5 * xx * z - 1.5 * yy * z + zzz) +
|
|
29
|
+
a1 * (-0.6123724356957945 * xxx - 0.6123724356957945 * x * yy + 2.449489742783178 * x * zz) +
|
|
30
|
+
a2 * (-0.6123724356957945 * xx * y - 0.6123724356957945 * yyy + 2.449489742783178 * y * zz) +
|
|
31
|
+
a3 * (1.9364916731037085 * xx * z - 1.9364916731037085 * yy * z) +
|
|
32
|
+
a4 * (3.872983346207417 * x * y * z) +
|
|
33
|
+
a5 * (0.7905694150420949 * xxx - 2.3717082451262845 * x * yy) +
|
|
34
|
+
a6 * (2.3717082451262845 * xx * y - 0.7905694150420949 * yyy)
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
float L4(vec3 p, float a0, float a1, float a2, float a3, float a4, float a5, float a6, float a7, float a8) {
|
|
39
|
+
float x = p.x, y = p.y, z = p.z;
|
|
40
|
+
float xx = x * x, yy = y * y, zz = z * z;
|
|
41
|
+
float xxx = xx * x, yyy = yy * y, zzz = zz * z;
|
|
42
|
+
float xxxx = xxx * x, yyyy = yyy * y, zzzz = zzz * z;
|
|
43
|
+
return (
|
|
44
|
+
a0 * (0.375 * xxxx + 0.75 * xx * yy + 0.375 * yyyy - 3.0 * xx * zz - 3.0 * yy * zz + zzzz) +
|
|
45
|
+
a1 * (-2.3717082451262845 * xxx * z - 2.3717082451262845 * x * yy * z + 3.1622776601683795 * x * zzz) +
|
|
46
|
+
a2 * (-2.3717082451262845 * xx * y * z - 2.3717082451262845 * yyy * z + 3.1622776601683795 * y * zzz) +
|
|
47
|
+
a3 * (-0.5590169943749475 * xxxx + 0.5590169943749475 * yyyy + 3.3541019662496847 * xx * zz - 3.3541019662496847 * yy * zz) +
|
|
48
|
+
a4 * (-1.118033988749895 * xxx * y - 1.118033988749895 * x * yyy + 6.708203932499369 * x * y * zz) +
|
|
49
|
+
a5 * (2.091650066335189 * xxx * z + -6.274950199005566 * x * yy * z) +
|
|
50
|
+
a6 * (6.274950199005566 * xx * y * z + -2.091650066335189 * yyy * z) +
|
|
51
|
+
a7 * (0.739509972887452 * xxxx - 4.437059837324712 * xx * yy + 0.739509972887452 * yyyy) +
|
|
52
|
+
a8 * (2.958039891549808 * xxx * y + -2.958039891549808 * x * yyy)
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
float alpha(float offset, float f) {
|
|
57
|
+
#ifdef WEBGL1
|
|
58
|
+
// in webgl1, the value is in the alpha channel!
|
|
59
|
+
return texture2D(tAlpha, vec2(offset * f, 0.5)).a;
|
|
60
|
+
#else
|
|
61
|
+
return texture2D(tAlpha, vec2(offset * f, 0.5)).x;
|
|
62
|
+
#endif
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
float Y(int L, vec3 X, float aO, float fA) {
|
|
66
|
+
if (L == 0) {
|
|
67
|
+
return alpha(aO, fA);
|
|
68
|
+
} else if (L == 1) {
|
|
69
|
+
return L1(X,
|
|
70
|
+
alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA)
|
|
71
|
+
);
|
|
72
|
+
} else if (L == 2) {
|
|
73
|
+
return L2(X,
|
|
74
|
+
alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA), alpha(aO + 3.0, fA), alpha(aO + 4.0, fA)
|
|
75
|
+
);
|
|
76
|
+
} else if (L == 3) {
|
|
77
|
+
return L3(X,
|
|
78
|
+
alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA), alpha(aO + 3.0, fA), alpha(aO + 4.0, fA),
|
|
79
|
+
alpha(aO + 5.0, fA), alpha(aO + 6.0, fA)
|
|
80
|
+
);
|
|
81
|
+
} else if (L == 4) {
|
|
82
|
+
return L4(X,
|
|
83
|
+
alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA), alpha(aO + 3.0, fA), alpha(aO + 4.0, fA),
|
|
84
|
+
alpha(aO + 5.0, fA), alpha(aO + 6.0, fA), alpha(aO + 7.0, fA), alpha(aO + 8.0, fA)
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
// TODO: do we need L > 4?
|
|
88
|
+
return 0.0;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
#ifndef WEBGL1
|
|
92
|
+
float R(float R2, int start, int end, float fCoeff) {
|
|
93
|
+
float gauss = 0.0;
|
|
94
|
+
for (int i = start; i < end; i++) {
|
|
95
|
+
vec2 c = texture2D(tCoeff, vec2(float(i) * fCoeff, 0.5)).xy;
|
|
96
|
+
gauss += c.x * exp(-c.y * R2);
|
|
97
|
+
}
|
|
98
|
+
return gauss;
|
|
99
|
+
}
|
|
100
|
+
#else
|
|
101
|
+
float R(float R2, int start, int end, float fCoeff) {
|
|
102
|
+
float gauss = 0.0;
|
|
103
|
+
int o = start;
|
|
104
|
+
for (int i = 0; i < uMaxCoeffs; i++) {
|
|
105
|
+
if (o >= end) break;
|
|
106
|
+
|
|
107
|
+
vec2 c = texture2D(tCoeff, vec2(float(o) * fCoeff, 0.5)).xy;
|
|
108
|
+
gauss += c.x * exp(-c.y * R2);
|
|
109
|
+
o++;
|
|
110
|
+
}
|
|
111
|
+
return gauss;
|
|
112
|
+
}
|
|
113
|
+
#endif
|
|
114
114
|
`;
|
|
115
|
-
export const MAIN = `
|
|
116
|
-
float fCenter = 1.0 / float(uNCenters - 1);
|
|
117
|
-
float fCoeff = 1.0 / float(uNCoeff - 1);
|
|
118
|
-
float fA = 1.0 / float(uNAlpha - 1);
|
|
119
|
-
|
|
120
|
-
float v = 0.0;
|
|
121
|
-
|
|
122
|
-
for (int i = 0; i < uNCenters; i++) {
|
|
123
|
-
vec2 cCoord = vec2(float(i) * fCenter, 0.5);
|
|
124
|
-
|
|
125
|
-
vec4 center = texture2D(tCenters, cCoord);
|
|
126
|
-
vec3 X = xyz - center.xyz;
|
|
127
|
-
float R2 = dot(X, X);
|
|
128
|
-
|
|
129
|
-
// center.w is squared cutoff radius
|
|
130
|
-
if (R2 > center.w) {
|
|
131
|
-
continue;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
vec4 info = texture2D(tInfo, cCoord);
|
|
135
|
-
|
|
136
|
-
int L = int(info.x);
|
|
137
|
-
float aO = info.y;
|
|
138
|
-
int coeffStart = int(info.z);
|
|
139
|
-
int coeffEnd = int(info.w);
|
|
140
|
-
|
|
141
|
-
v += R(R2, coeffStart, coeffEnd, fCoeff) * Y(L, X, aO, fA);
|
|
142
|
-
}
|
|
115
|
+
export const MAIN = `
|
|
116
|
+
float fCenter = 1.0 / float(uNCenters - 1);
|
|
117
|
+
float fCoeff = 1.0 / float(uNCoeff - 1);
|
|
118
|
+
float fA = 1.0 / float(uNAlpha - 1);
|
|
119
|
+
|
|
120
|
+
float v = 0.0;
|
|
121
|
+
|
|
122
|
+
for (int i = 0; i < uNCenters; i++) {
|
|
123
|
+
vec2 cCoord = vec2(float(i) * fCenter, 0.5);
|
|
124
|
+
|
|
125
|
+
vec4 center = texture2D(tCenters, cCoord);
|
|
126
|
+
vec3 X = xyz - center.xyz;
|
|
127
|
+
float R2 = dot(X, X);
|
|
128
|
+
|
|
129
|
+
// center.w is squared cutoff radius
|
|
130
|
+
if (R2 > center.w) {
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
vec4 info = texture2D(tInfo, cCoord);
|
|
135
|
+
|
|
136
|
+
int L = int(info.x);
|
|
137
|
+
float aO = info.y;
|
|
138
|
+
int coeffStart = int(info.z);
|
|
139
|
+
int coeffEnd = int(info.w);
|
|
140
|
+
|
|
141
|
+
v += R(R2, coeffStart, coeffEnd, fCoeff) * Y(L, X, aO, fA);
|
|
142
|
+
}
|
|
143
143
|
`;
|
|
@@ -14,30 +14,30 @@ import { MolScriptBuilder as MS } from '../../mol-script/language/builder';
|
|
|
14
14
|
import { compile } from '../../mol-script/runtime/query/compiler';
|
|
15
15
|
import { CustomPropertyDescriptor } from '../../mol-model/custom-property';
|
|
16
16
|
import { Asset } from '../../mol-util/assets';
|
|
17
|
-
const rcsb_symmetry_gql = /* GraphQL */ `
|
|
18
|
-
query AssemblySymmetry($assembly_id: String!, $entry_id: String!) {
|
|
19
|
-
assembly(assembly_id: $assembly_id, entry_id: $entry_id) {
|
|
20
|
-
rcsb_struct_symmetry {
|
|
21
|
-
clusters {
|
|
22
|
-
avg_rmsd
|
|
23
|
-
members {
|
|
24
|
-
asym_id
|
|
25
|
-
pdbx_struct_oper_list_ids
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
kind
|
|
29
|
-
oligomeric_state
|
|
30
|
-
rotation_axes {
|
|
31
|
-
order
|
|
32
|
-
start
|
|
33
|
-
end
|
|
34
|
-
}
|
|
35
|
-
stoichiometry
|
|
36
|
-
symbol
|
|
37
|
-
type
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
17
|
+
const rcsb_symmetry_gql = /* GraphQL */ `
|
|
18
|
+
query AssemblySymmetry($assembly_id: String!, $entry_id: String!) {
|
|
19
|
+
assembly(assembly_id: $assembly_id, entry_id: $entry_id) {
|
|
20
|
+
rcsb_struct_symmetry {
|
|
21
|
+
clusters {
|
|
22
|
+
avg_rmsd
|
|
23
|
+
members {
|
|
24
|
+
asym_id
|
|
25
|
+
pdbx_struct_oper_list_ids
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
kind
|
|
29
|
+
oligomeric_state
|
|
30
|
+
rotation_axes {
|
|
31
|
+
order
|
|
32
|
+
start
|
|
33
|
+
end
|
|
34
|
+
}
|
|
35
|
+
stoichiometry
|
|
36
|
+
symbol
|
|
37
|
+
type
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
41
|
`;
|
|
42
42
|
const BiologicalAssemblyNames = new Set([
|
|
43
43
|
'author_and_software_defined_assembly',
|
|
@@ -41,10 +41,10 @@ export const ConfalPyramidsPreset = StructureRepresentationPresetProvider({
|
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
43
|
export function confalPyramidLabel(step) {
|
|
44
|
-
return `
|
|
45
|
-
<b>${step.auth_asym_id_1}</b> |
|
|
46
|
-
<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})` : ''}
|
|
47
|
-
${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 />
|
|
48
|
-
<i>NtC:</i> ${step.NtC} | <i>Confal score:</i> ${step.confal_score} | <i>RMSD:</i> ${step.rmsd.toFixed(2)}
|
|
44
|
+
return `
|
|
45
|
+
<b>${step.auth_asym_id_1}</b> |
|
|
46
|
+
<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})` : ''}
|
|
47
|
+
${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 />
|
|
48
|
+
<i>NtC:</i> ${step.NtC} | <i>Confal score:</i> ${step.confal_score} | <i>RMSD:</i> ${step.rmsd.toFixed(2)}
|
|
49
49
|
`;
|
|
50
50
|
}
|
|
@@ -41,10 +41,10 @@ export const NtCTubePreset = StructureRepresentationPresetProvider({
|
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
43
|
export function NtCTubeSegmentLabel(step) {
|
|
44
|
-
return `
|
|
45
|
-
<b>${step.auth_asym_id_1}</b> |
|
|
46
|
-
<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})` : ''}
|
|
47
|
-
${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 />
|
|
48
|
-
<i>NtC:</i> ${step.NtC} | <i>Confal score:</i> ${step.confal_score} | <i>RMSD:</i> ${step.rmsd.toFixed(2)}
|
|
44
|
+
return `
|
|
45
|
+
<b>${step.auth_asym_id_1}</b> |
|
|
46
|
+
<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})` : ''}
|
|
47
|
+
${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 />
|
|
48
|
+
<i>NtC:</i> ${step.NtC} | <i>Confal score:</i> ${step.confal_score} | <i>RMSD:</i> ${step.rmsd.toFixed(2)}
|
|
49
49
|
`;
|
|
50
50
|
}
|
|
@@ -24,20 +24,20 @@ export class UsdzExporter extends MeshExporter {
|
|
|
24
24
|
const materialKey = this.materialMap.size;
|
|
25
25
|
this.materialMap.set(hash, materialKey);
|
|
26
26
|
const [r, g, b] = Color.toRgbNormalized(color).map(v => Math.round(v * 1000) / 1000);
|
|
27
|
-
this.materials.push(`
|
|
28
|
-
def Material "material${materialKey}"
|
|
29
|
-
{
|
|
30
|
-
token outputs:surface.connect = </material${materialKey}/shader.outputs:surface>
|
|
31
|
-
def Shader "shader"
|
|
32
|
-
{
|
|
33
|
-
uniform token info:id = "UsdPreviewSurface"
|
|
34
|
-
color3f inputs:diffuseColor = (${r},${g},${b})
|
|
35
|
-
float inputs:opacity = ${alpha}
|
|
36
|
-
float inputs:metallic = ${metalness}
|
|
37
|
-
float inputs:roughness = ${roughness}
|
|
38
|
-
token outputs:surface
|
|
39
|
-
}
|
|
40
|
-
}
|
|
27
|
+
this.materials.push(`
|
|
28
|
+
def Material "material${materialKey}"
|
|
29
|
+
{
|
|
30
|
+
token outputs:surface.connect = </material${materialKey}/shader.outputs:surface>
|
|
31
|
+
def Shader "shader"
|
|
32
|
+
{
|
|
33
|
+
uniform token info:id = "UsdPreviewSurface"
|
|
34
|
+
color3f inputs:diffuseColor = (${r},${g},${b})
|
|
35
|
+
float inputs:opacity = ${alpha}
|
|
36
|
+
float inputs:metallic = ${metalness}
|
|
37
|
+
float inputs:roughness = ${roughness}
|
|
38
|
+
token outputs:surface
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
41
|
`);
|
|
42
42
|
return materialKey;
|
|
43
43
|
}
|
|
@@ -144,41 +144,41 @@ def Material "material${materialKey}"
|
|
|
144
144
|
else {
|
|
145
145
|
const geomSubsets = [];
|
|
146
146
|
faceIndicesByMaterial.forEach((faceIndices, materialKey) => {
|
|
147
|
-
geomSubsets.push(`
|
|
148
|
-
def GeomSubset "g${materialKey}"
|
|
149
|
-
{
|
|
150
|
-
uniform token elementType = "face"
|
|
151
|
-
uniform token familyName = "materialBind"
|
|
152
|
-
int[] indices = [${faceIndices.join(',')}]
|
|
153
|
-
rel material:binding = </material${materialKey}>
|
|
154
|
-
}
|
|
147
|
+
geomSubsets.push(`
|
|
148
|
+
def GeomSubset "g${materialKey}"
|
|
149
|
+
{
|
|
150
|
+
uniform token elementType = "face"
|
|
151
|
+
uniform token familyName = "materialBind"
|
|
152
|
+
int[] indices = [${faceIndices.join(',')}]
|
|
153
|
+
rel material:binding = </material${materialKey}>
|
|
154
|
+
}
|
|
155
155
|
`);
|
|
156
156
|
});
|
|
157
157
|
materialBinding = geomSubsets.join('');
|
|
158
158
|
}
|
|
159
|
-
this.meshes.push(`
|
|
160
|
-
def Mesh "mesh${this.meshes.length}"
|
|
161
|
-
{
|
|
162
|
-
int[] faceVertexCounts = [${new Array(drawCount / 3).fill(3).join(',')}]
|
|
163
|
-
int[] faceVertexIndices = [${StringBuilder.getString(indexBuilder)}]
|
|
164
|
-
point3f[] points = [${StringBuilder.getString(vertexBuilder)}]
|
|
165
|
-
normal3f[] primvars:normals = [${StringBuilder.getString(normalBuilder)}] (
|
|
166
|
-
interpolation = "vertex"
|
|
167
|
-
)
|
|
168
|
-
uniform token subdivisionScheme = "none"
|
|
169
|
-
${materialBinding}
|
|
170
|
-
}
|
|
159
|
+
this.meshes.push(`
|
|
160
|
+
def Mesh "mesh${this.meshes.length}"
|
|
161
|
+
{
|
|
162
|
+
int[] faceVertexCounts = [${new Array(drawCount / 3).fill(3).join(',')}]
|
|
163
|
+
int[] faceVertexIndices = [${StringBuilder.getString(indexBuilder)}]
|
|
164
|
+
point3f[] points = [${StringBuilder.getString(vertexBuilder)}]
|
|
165
|
+
normal3f[] primvars:normals = [${StringBuilder.getString(normalBuilder)}] (
|
|
166
|
+
interpolation = "vertex"
|
|
167
|
+
)
|
|
168
|
+
uniform token subdivisionScheme = "none"
|
|
169
|
+
${materialBinding}
|
|
170
|
+
}
|
|
171
171
|
`);
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
async getData(ctx) {
|
|
175
|
-
const header = `#usda 1.0
|
|
176
|
-
(
|
|
177
|
-
customLayerData = {
|
|
178
|
-
string creator = "Mol* ${PLUGIN_VERSION}"
|
|
179
|
-
}
|
|
180
|
-
metersPerUnit = 1
|
|
181
|
-
)
|
|
175
|
+
const header = `#usda 1.0
|
|
176
|
+
(
|
|
177
|
+
customLayerData = {
|
|
178
|
+
string creator = "Mol* ${PLUGIN_VERSION}"
|
|
179
|
+
}
|
|
180
|
+
metersPerUnit = 1
|
|
181
|
+
)
|
|
182
182
|
`;
|
|
183
183
|
const usda = [header, ...this.materials, ...this.meshes].join('');
|
|
184
184
|
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
|
};
|
|
@@ -47,7 +47,7 @@ export async function encodeMp4Animation(plugin, ctx, params) {
|
|
|
47
47
|
await plugin.managers.animation.play(params.animation.definition, params.animation.params);
|
|
48
48
|
stoppedAnimation = false;
|
|
49
49
|
for (let i = 0; i <= N; i++) {
|
|
50
|
-
await loop.tick(i * dt, { isSynchronous: true, animation: { currentFrame: i, frameCount: N }, manualDraw: true });
|
|
50
|
+
await loop.tick(i * dt, { isSynchronous: true, animation: { currentFrame: i, frameCount: N }, manualDraw: true, updateControls: true });
|
|
51
51
|
const image = params.pass.getImageData(width, height, normalizedViewport);
|
|
52
52
|
encoder.addFrameRgba(image.data);
|
|
53
53
|
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,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';
|