molstar 3.0.0-dev.3 → 3.0.0-dev.4
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 +187 -187
- package/build/viewer/embedded.html +43 -43
- package/build/viewer/index.html +95 -94
- package/build/viewer/molstar.css +1 -1
- package/build/viewer/molstar.js +1 -1
- package/lib/apps/docking-viewer/index.html +36 -36
- package/lib/apps/docking-viewer/viewport.js +2 -1
- package/lib/apps/viewer/embedded.html +43 -43
- package/lib/apps/viewer/index.html +95 -94
- package/lib/commonjs/apps/docking-viewer/viewport.js +2 -1
- package/lib/commonjs/examples/lighting/index.js +2 -1
- package/lib/commonjs/extensions/anvil/behavior.d.ts +3 -0
- package/lib/commonjs/extensions/anvil/representation.d.ts +13 -0
- package/lib/commonjs/extensions/cellpack/representation.d.ts +3 -0
- package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +9 -0
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +3 -0
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +3 -0
- package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +15 -0
- package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +6 -0
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +3 -0
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +3 -0
- package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +4 -0
- package/lib/commonjs/mol-canvas3d/passes/image.d.ts +3 -0
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +1 -0
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +4 -2
- package/lib/commonjs/mol-geo/geometry/base.d.ts +2 -0
- package/lib/commonjs/mol-geo/geometry/base.js +2 -0
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +4 -1
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +4 -2
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +1 -0
- package/lib/commonjs/mol-geo/geometry/image/image.d.ts +1 -0
- package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +1 -0
- package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.js +1 -1
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +3 -0
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +4 -2
- package/lib/commonjs/mol-geo/geometry/points/points.d.ts +2 -1
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +3 -0
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +4 -2
- package/lib/commonjs/mol-geo/geometry/substance-data.js +3 -3
- package/lib/commonjs/mol-geo/geometry/text/text.d.ts +1 -0
- package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +3 -3
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +3 -0
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +4 -2
- package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +31 -28
- package/lib/commonjs/mol-gl/renderable/cylinders.js +2 -2
- package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/image.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/lines.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/mesh.d.ts +28 -25
- package/lib/commonjs/mol-gl/renderable/mesh.js +2 -2
- package/lib/commonjs/mol-gl/renderable/points.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/schema.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/schema.js +3 -3
- package/lib/commonjs/mol-gl/renderable/spheres.d.ts +31 -28
- package/lib/commonjs/mol-gl/renderable/spheres.js +2 -2
- package/lib/commonjs/mol-gl/renderable/text.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +3 -0
- package/lib/commonjs/mol-gl/renderable/texture-mesh.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/postprocessing.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
- package/lib/commonjs/mol-model/structure/model/model.js +7 -3
- package/lib/commonjs/mol-model-formats/shape/ply.d.ts +6 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +3 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +3 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +9 -0
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +12 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +1 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
- package/lib/commonjs/mol-plugin/commands.d.ts +3 -0
- package/lib/commonjs/mol-plugin/config.d.ts +1 -0
- package/lib/commonjs/mol-plugin/config.js +9 -3
- package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +9 -0
- package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +2 -0
- package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +22 -0
- package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +3 -2
- package/lib/commonjs/mol-plugin-ui/controls/parameters.js +11 -6
- package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.d.ts +1 -1
- package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.js +8 -17
- package/lib/commonjs/mol-plugin-ui/plugin.d.ts +1 -1
- package/lib/commonjs/mol-plugin-ui/plugin.js +76 -10
- package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +3 -0
- package/lib/commonjs/mol-repr/shape/loci/common.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +3 -0
- package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/loci/label.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +3 -0
- package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +3 -0
- package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +12 -0
- package/lib/commonjs/mol-repr/structure/params.d.ts +16 -0
- package/lib/commonjs/mol-repr/structure/registry.d.ts +35 -1
- package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +9 -0
- package/lib/commonjs/mol-repr/structure/representation/backbone.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +9 -0
- package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +9 -0
- package/lib/commonjs/mol-repr/structure/representation/carbohydrate.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +9 -0
- package/lib/commonjs/mol-repr/structure/representation/cartoon.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +9 -0
- package/lib/commonjs/mol-repr/structure/representation/ellipsoid.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +9 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/label.d.ts +6 -3
- package/lib/commonjs/mol-repr/structure/representation/line.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +9 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +9 -0
- package/lib/commonjs/mol-repr/structure/representation/orientation.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/point.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +9 -0
- package/lib/commonjs/mol-repr/structure/representation/putty.js +2 -1
- package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +9 -0
- package/lib/commonjs/mol-repr/structure/representation/spacefill.js +2 -1
- package/lib/commonjs/mol-repr/structure/units-visual.d.ts +16 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +6 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +6 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +6 -0
- package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +12 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +3 -2
- package/lib/commonjs/mol-repr/structure/visual/label-text.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +6 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +6 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +3 -0
- package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +3 -0
- package/lib/commonjs/mol-repr/volume/isosurface.d.ts +16 -0
- package/lib/commonjs/mol-repr/volume/isosurface.js +2 -1
- package/lib/commonjs/mol-repr/volume/registry.d.ts +5 -0
- package/lib/commonjs/mol-repr/volume/representation.d.ts +1 -0
- package/lib/commonjs/mol-repr/volume/slice.d.ts +3 -0
- package/lib/commonjs/mol-script/language/builder.d.ts +1 -0
- package/lib/commonjs/mol-theme/color/illustrative.d.ts +2 -0
- package/lib/commonjs/mol-theme/color/illustrative.js +2 -2
- package/lib/commonjs/mol-theme/color.d.ts +1 -0
- package/lib/commonjs/mol-util/material.d.ts +5 -1
- package/lib/commonjs/mol-util/material.js +9 -7
- package/lib/examples/alpha-orbitals/index.html +60 -60
- package/lib/examples/basic-wrapper/index.html +136 -136
- package/lib/examples/lighting/index.html +86 -86
- package/lib/examples/lighting/index.js +2 -1
- package/lib/examples/proteopedia-wrapper/index.html +235 -235
- package/lib/extensions/anvil/behavior.d.ts +3 -0
- package/lib/extensions/anvil/representation.d.ts +13 -0
- package/lib/extensions/cellpack/representation.d.ts +3 -0
- package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +9 -0
- package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +3 -0
- package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +3 -0
- package/lib/extensions/rcsb/validation-report/representation.d.ts +15 -0
- package/lib/mol-canvas3d/canvas3d.d.ts +6 -0
- package/lib/mol-canvas3d/helper/camera-helper.d.ts +3 -0
- package/lib/mol-canvas3d/helper/handle-helper.d.ts +3 -0
- package/lib/mol-canvas3d/helper/helper.d.ts +4 -0
- package/lib/mol-canvas3d/passes/image.d.ts +3 -0
- package/lib/mol-canvas3d/passes/postprocessing.d.ts +1 -0
- package/lib/mol-canvas3d/passes/postprocessing.js +4 -2
- package/lib/mol-geo/geometry/base.d.ts +2 -0
- package/lib/mol-geo/geometry/base.js +2 -0
- package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +4 -1
- package/lib/mol-geo/geometry/cylinders/cylinders.js +4 -2
- package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +1 -0
- package/lib/mol-geo/geometry/image/image.d.ts +1 -0
- package/lib/mol-geo/geometry/lines/lines.d.ts +1 -0
- package/lib/mol-geo/geometry/mesh/color-smoothing.js +1 -1
- package/lib/mol-geo/geometry/mesh/mesh.d.ts +3 -0
- package/lib/mol-geo/geometry/mesh/mesh.js +4 -2
- package/lib/mol-geo/geometry/points/points.d.ts +2 -1
- package/lib/mol-geo/geometry/spheres/spheres.d.ts +3 -0
- package/lib/mol-geo/geometry/spheres/spheres.js +4 -2
- package/lib/mol-geo/geometry/substance-data.js +3 -3
- package/lib/mol-geo/geometry/text/text.d.ts +1 -0
- package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +3 -3
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +3 -0
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +4 -2
- package/lib/mol-gl/renderable/cylinders.d.ts +31 -28
- package/lib/mol-gl/renderable/cylinders.js +3 -3
- package/lib/mol-gl/renderable/direct-volume.d.ts +1 -0
- package/lib/mol-gl/renderable/image.d.ts +1 -0
- package/lib/mol-gl/renderable/lines.d.ts +1 -0
- package/lib/mol-gl/renderable/mesh.d.ts +28 -25
- package/lib/mol-gl/renderable/mesh.js +3 -3
- package/lib/mol-gl/renderable/points.d.ts +1 -0
- package/lib/mol-gl/renderable/schema.d.ts +1 -0
- package/lib/mol-gl/renderable/schema.js +3 -3
- package/lib/mol-gl/renderable/spheres.d.ts +31 -28
- package/lib/mol-gl/renderable/spheres.js +3 -3
- package/lib/mol-gl/renderable/text.d.ts +1 -0
- package/lib/mol-gl/renderable/texture-mesh.d.ts +3 -0
- package/lib/mol-gl/renderable/texture-mesh.js +1 -1
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/light-frag-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/light-frag-params.glsl.js +1 -1
- package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
- package/lib/mol-gl/shader/cylinders.frag.js +1 -1
- package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
- package/lib/mol-gl/shader/mesh.frag.js +1 -1
- package/lib/mol-gl/shader/postprocessing.frag.d.ts +1 -1
- package/lib/mol-gl/shader/postprocessing.frag.js +1 -1
- package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
- package/lib/mol-gl/shader/spheres.frag.js +1 -1
- package/lib/mol-model/structure/model/model.js +7 -3
- package/lib/mol-model-formats/shape/ply.d.ts +6 -0
- package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +3 -0
- package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +3 -0
- package/lib/mol-model-props/computed/representations/interactions.d.ts +9 -0
- package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +12 -0
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +1 -0
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
- package/lib/mol-plugin/commands.d.ts +3 -0
- package/lib/mol-plugin/config.d.ts +1 -0
- package/lib/mol-plugin/config.js +8 -3
- package/lib/mol-plugin/util/viewport-screenshot.d.ts +9 -0
- package/lib/mol-plugin/version.js +2 -2
- package/lib/mol-plugin-state/manager/structure/component.d.ts +2 -0
- package/lib/mol-plugin-state/transforms/representation.d.ts +22 -0
- package/lib/mol-plugin-ui/controls/parameters.d.ts +3 -2
- package/lib/mol-plugin-ui/controls/parameters.js +12 -7
- package/lib/mol-plugin-ui/hooks/use-behavior.d.ts +1 -1
- package/lib/mol-plugin-ui/hooks/use-behavior.js +9 -18
- package/lib/mol-plugin-ui/plugin.d.ts +1 -1
- package/lib/mol-plugin-ui/plugin.js +76 -10
- package/lib/mol-plugin-ui/skin/base/base.scss +32 -32
- package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
- package/lib/mol-plugin-ui/skin/base/components/controls.scss +418 -418
- 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 +643 -616
- 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 +127 -127
- 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 +85 -85
- 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-repr/shape/loci/angle.d.ts +3 -0
- package/lib/mol-repr/shape/loci/common.d.ts +1 -0
- package/lib/mol-repr/shape/loci/dihedral.d.ts +3 -0
- package/lib/mol-repr/shape/loci/distance.d.ts +1 -0
- package/lib/mol-repr/shape/loci/label.d.ts +1 -0
- package/lib/mol-repr/shape/loci/orientation.d.ts +3 -0
- package/lib/mol-repr/shape/loci/plane.d.ts +3 -0
- package/lib/mol-repr/shape/model/unitcell.d.ts +3 -0
- package/lib/mol-repr/structure/complex-visual.d.ts +12 -0
- package/lib/mol-repr/structure/params.d.ts +16 -0
- package/lib/mol-repr/structure/registry.d.ts +35 -1
- package/lib/mol-repr/structure/representation/backbone.d.ts +9 -0
- package/lib/mol-repr/structure/representation/backbone.js +2 -1
- package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +9 -0
- package/lib/mol-repr/structure/representation/ball-and-stick.js +2 -1
- package/lib/mol-repr/structure/representation/carbohydrate.d.ts +9 -0
- package/lib/mol-repr/structure/representation/carbohydrate.js +2 -1
- package/lib/mol-repr/structure/representation/cartoon.d.ts +9 -0
- package/lib/mol-repr/structure/representation/cartoon.js +2 -1
- package/lib/mol-repr/structure/representation/ellipsoid.d.ts +9 -0
- package/lib/mol-repr/structure/representation/ellipsoid.js +2 -1
- package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +9 -0
- package/lib/mol-repr/structure/representation/gaussian-surface.js +2 -1
- package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +3 -0
- package/lib/mol-repr/structure/representation/label.d.ts +6 -3
- package/lib/mol-repr/structure/representation/line.d.ts +3 -0
- package/lib/mol-repr/structure/representation/molecular-surface.d.ts +9 -0
- package/lib/mol-repr/structure/representation/molecular-surface.js +2 -1
- package/lib/mol-repr/structure/representation/orientation.d.ts +9 -0
- package/lib/mol-repr/structure/representation/orientation.js +2 -1
- package/lib/mol-repr/structure/representation/point.d.ts +3 -0
- package/lib/mol-repr/structure/representation/putty.d.ts +9 -0
- package/lib/mol-repr/structure/representation/putty.js +2 -1
- package/lib/mol-repr/structure/representation/spacefill.d.ts +9 -0
- package/lib/mol-repr/structure/representation/spacefill.js +2 -1
- package/lib/mol-repr/structure/units-visual.d.ts +16 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +6 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +1 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +6 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +1 -0
- package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +3 -0
- package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +3 -0
- package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +3 -0
- package/lib/mol-repr/structure/visual/element-cross.d.ts +1 -0
- package/lib/mol-repr/structure/visual/element-point.d.ts +1 -0
- package/lib/mol-repr/structure/visual/element-sphere.d.ts +6 -0
- package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +3 -0
- package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +12 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -0
- package/lib/mol-repr/structure/visual/label-text.d.ts +3 -2
- package/lib/mol-repr/structure/visual/label-text.js +2 -2
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +3 -0
- package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +1 -0
- package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +3 -0
- package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +3 -0
- package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +3 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +6 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +6 -0
- package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +3 -0
- package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +3 -0
- package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +3 -0
- package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +3 -0
- package/lib/mol-repr/volume/direct-volume.d.ts +3 -0
- package/lib/mol-repr/volume/isosurface.d.ts +16 -0
- package/lib/mol-repr/volume/isosurface.js +2 -1
- package/lib/mol-repr/volume/registry.d.ts +5 -0
- package/lib/mol-repr/volume/representation.d.ts +1 -0
- package/lib/mol-repr/volume/slice.d.ts +3 -0
- package/lib/mol-script/language/builder.d.ts +1 -0
- package/lib/mol-theme/color/illustrative.d.ts +2 -0
- package/lib/mol-theme/color/illustrative.js +2 -2
- package/lib/mol-theme/color.d.ts +1 -0
- package/lib/mol-util/material.d.ts +5 -1
- package/lib/mol-util/material.js +9 -7
- package/package.json +162 -160
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
The MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2017 - now, Mol* contributors
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
|
13
|
-
all copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
1
|
+
The MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2017 - now, Mol* contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
21
|
THE SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,187 +1,187 @@
|
|
|
1
|
-
[](./LICENSE)
|
|
2
|
-
[](https://www.npmjs.com/package/molstar)
|
|
3
|
-
[](https://travis-ci.org/molstar/molstar)
|
|
4
|
-
[](https://gitter.im/molstar/Lobby)
|
|
5
|
-
|
|
6
|
-
# Mol*
|
|
7
|
-
|
|
8
|
-
The goal of **Mol\*** (*/'mol-star/*) is to provide a technology stack that serves as a basis for the next-generation data delivery and analysis tools for (not only) macromolecular structure data. Mol* development was jointly initiated by PDBe and RCSB PDB to combine and build on the strengths of [LiteMol](https://litemol.org) (developed by PDBe) and [NGL](https://nglviewer.org) (developed by RCSB PDB) viewers.
|
|
9
|
-
|
|
10
|
-
When using Mol*, please cite:
|
|
11
|
-
|
|
12
|
-
David Sehnal, Sebastian Bittrich, Mandar Deshpande, Radka Svobodová, Karel Berka, Václav Bazgier, Sameer Velankar, Stephen K Burley, Jaroslav Koča, Alexander S Rose: [Mol* Viewer: modern web app for 3D visualization and analysis of large biomolecular structures](https://doi.org/10.1093/nar/gkab314), *Nucleic Acids Research*, 2021; https://doi.org/10.1093/nar/gkab314.
|
|
13
|
-
|
|
14
|
-
## Project Structure Overview
|
|
15
|
-
|
|
16
|
-
The core of Mol* consists of these modules (see under `src/`):
|
|
17
|
-
|
|
18
|
-
- `mol-task` Computation abstraction with progress tracking and cancellation support.
|
|
19
|
-
- `mol-data` Collections (integer-based sets, interface to columns/tables, etc.)
|
|
20
|
-
- `mol-math` Math related (loosely) algorithms and data structures.
|
|
21
|
-
- `mol-io` Parsing library. Each format is parsed into an interface that corresponds to the data stored by it. Support for common coordinate, experimental/map, and annotation data formats.
|
|
22
|
-
- `mol-model` Data structures and algorithms (such as querying) for representing molecular data (including coordinate, experimental/map, and annotation data).
|
|
23
|
-
- `mol-model-formats` Data format parsers for `mol-model`.
|
|
24
|
-
- `mol-model-props` Common "custom properties".
|
|
25
|
-
- `mol-script` A scripting language for creating representations/scenes and querying (includes the [MolQL query language](https://molql.github.io)).
|
|
26
|
-
- `mol-geo` Creating (molecular) geometries.
|
|
27
|
-
- `mol-theme` Theming for structure, volume and shape representations.
|
|
28
|
-
- `mol-repr` Molecular representations for structures, volumes and shapes.
|
|
29
|
-
- `mol-gl` A wrapper around WebGL.
|
|
30
|
-
- `mol-canvas3d` A low-level 3d view component. Uses `mol-geo` to generate geometries.
|
|
31
|
-
- `mol-state` State representation tree with state saving and automatic updates.
|
|
32
|
-
- `mol-plugin` Allow to define modular Mol* plugin instances utilizing `mol-state` and `mol-canvas3d`.
|
|
33
|
-
- `mol-plugin-state` State transformations, builders, and managers.
|
|
34
|
-
- `mol-plugin-ui` React-based user interface for the Mol* plugin. Some components of the UI are usable outside the main plugin and can be integrated into 3rd party solutions.
|
|
35
|
-
- `mol-util` Useful things that do not fit elsewhere.
|
|
36
|
-
|
|
37
|
-
Moreover, the project contains the implementation of `servers`, including
|
|
38
|
-
|
|
39
|
-
- `servers/model` A tool for accessing coordinate and annotation data of molecular structures.
|
|
40
|
-
- `servers/volume` A tool for accessing volumetric experimental data related to molecular structures.
|
|
41
|
-
- `servers/plugin-state` A basic server to store Mol* Plugin states.
|
|
42
|
-
|
|
43
|
-
The project also contains performance tests (`perf-tests`), `examples`, and `cli` apps (CIF to BinaryCIF converter and JSON domain annotation to CIF converter).
|
|
44
|
-
|
|
45
|
-
## Previous Work
|
|
46
|
-
This project builds on experience from previous solutions:
|
|
47
|
-
- [LiteMol Suite](https://www.litemol.org)
|
|
48
|
-
- [WebChemistry](https://webchem.ncbr.muni.cz)
|
|
49
|
-
- [NGL Viewer](http://nglviewer.org)
|
|
50
|
-
- [MMTF](http://mmtf.rcsb.org)
|
|
51
|
-
- [MolQL](http://molql.org)
|
|
52
|
-
- [PDB Component Library](https://www.ebi.ac.uk/pdbe/pdb-component-library/)
|
|
53
|
-
- And many others (list will be continuously expanded).
|
|
54
|
-
|
|
55
|
-
## Building & Running
|
|
56
|
-
|
|
57
|
-
### Build:
|
|
58
|
-
npm install
|
|
59
|
-
npm run build
|
|
60
|
-
|
|
61
|
-
### Build automatically on file save:
|
|
62
|
-
npm run watch
|
|
63
|
-
|
|
64
|
-
If working on just the viewer, ``npm run watch-viewer`` will provide shorter compile times.
|
|
65
|
-
|
|
66
|
-
### Build with debug mode enabled:
|
|
67
|
-
DEBUG=molstar npm run watch
|
|
68
|
-
|
|
69
|
-
Debug/production mode in browsers can be turned on/off during runtime by calling ``setMolStarDebugMode(true/false, true/false)`` from the dev console.
|
|
70
|
-
|
|
71
|
-
### Cleaning and forcing a full rebuild
|
|
72
|
-
npm run clean
|
|
73
|
-
|
|
74
|
-
Wipes the `build` and `lib` directories and `.tsbuildinfo` files.
|
|
75
|
-
|
|
76
|
-
npm run rebuild
|
|
77
|
-
|
|
78
|
-
Runs the cleanup script prior to building the project, forcing a full rebuild of the project.
|
|
79
|
-
|
|
80
|
-
Use these commands to resolve occassional build failures which may arise after some dependency updates. Once done, `npm run build` should work again. Note that full rebuilds take more time to complete.
|
|
81
|
-
|
|
82
|
-
### Build for production:
|
|
83
|
-
NODE_ENV=production npm run build
|
|
84
|
-
|
|
85
|
-
**Run**
|
|
86
|
-
|
|
87
|
-
If not installed previously:
|
|
88
|
-
|
|
89
|
-
npm install -g http-server
|
|
90
|
-
|
|
91
|
-
...or a similar solution.
|
|
92
|
-
|
|
93
|
-
From the root of the project:
|
|
94
|
-
|
|
95
|
-
http-server -p PORT-NUMBER
|
|
96
|
-
|
|
97
|
-
and navigate to `build/viewer`
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
### Code generation
|
|
101
|
-
**CIF schemas**
|
|
102
|
-
|
|
103
|
-
node ./lib/commonjs/cli/cifschema -mip ../../../../mol-data -o src/mol-io/reader/cif/schema/mmcif.ts -p mmCIF
|
|
104
|
-
node ./lib/commonjs/cli/cifschema -mip ../../../../mol-data -o src/mol-io/reader/cif/schema/ccd.ts -p CCD
|
|
105
|
-
node ./lib/commonjs/cli/cifschema -mip ../../../../mol-data -o src/mol-io/reader/cif/schema/bird.ts -p BIRD
|
|
106
|
-
node ./lib/commonjs/cli/cifschema -mip ../../../../mol-data -o src/mol-io/reader/cif/schema/cif-core.ts -p CifCore -aa
|
|
107
|
-
|
|
108
|
-
**Lipid names**
|
|
109
|
-
|
|
110
|
-
node lib/commonjs/cli/lipid-params -o src/mol-model/structure/model/types/lipids.ts
|
|
111
|
-
|
|
112
|
-
**Ion names**
|
|
113
|
-
|
|
114
|
-
node --max-old-space-size=4096 lib/commonjs/cli/chem-comp-dict/create-ions.js src/mol-model/structure/model/types/ions.ts
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
**GraphQL schemas**
|
|
118
|
-
|
|
119
|
-
node node_modules//@graphql-codegen/cli/bin -c src/extensions/rcsb/graphql/codegen.yml
|
|
120
|
-
|
|
121
|
-
### Other scripts
|
|
122
|
-
**Create chem comp bond table**
|
|
123
|
-
|
|
124
|
-
node --max-old-space-size=4096 lib/commonjs/cli/chem-comp-dict/create-table.js build/data/ccb.bcif -b
|
|
125
|
-
|
|
126
|
-
**Test model server**
|
|
127
|
-
|
|
128
|
-
export NODE_PATH="lib"; node build/src/servers/model/test.js
|
|
129
|
-
|
|
130
|
-
**State Transformer Docs**
|
|
131
|
-
|
|
132
|
-
export NODE_PATH="lib"; node build/state-docs
|
|
133
|
-
|
|
134
|
-
**Convert any CIF to BinaryCIF**
|
|
135
|
-
|
|
136
|
-
node lib/commonjs/servers/model/preprocess -i file.cif -ob file.bcif
|
|
137
|
-
|
|
138
|
-
To see all available commands, use ``node lib/commonjs/servers/model/preprocess -h``.
|
|
139
|
-
|
|
140
|
-
Or
|
|
141
|
-
|
|
142
|
-
node lib/commonjs/cli/cif2bcif
|
|
143
|
-
|
|
144
|
-
## Development
|
|
145
|
-
|
|
146
|
-
### Installation
|
|
147
|
-
|
|
148
|
-
If node complains about a missing acorn peer dependency, run the following commands
|
|
149
|
-
|
|
150
|
-
npm update acorn --depth 20
|
|
151
|
-
npm dedupe
|
|
152
|
-
|
|
153
|
-
### Editor
|
|
154
|
-
|
|
155
|
-
To get syntax highlighting for shader and graphql files add the following to Visual Code's settings files and make sure relevant extensions are installed in the editor.
|
|
156
|
-
|
|
157
|
-
"files.associations": {
|
|
158
|
-
"*.glsl.ts": "glsl",
|
|
159
|
-
"*.frag.ts": "glsl",
|
|
160
|
-
"*.vert.ts": "glsl",
|
|
161
|
-
"*.gql.ts": "graphql"
|
|
162
|
-
},
|
|
163
|
-
|
|
164
|
-
## Publish
|
|
165
|
-
|
|
166
|
-
### Prerelease
|
|
167
|
-
npm version prerelease # assumes the current version ends with '-dev.X'
|
|
168
|
-
npm publish --tag next
|
|
169
|
-
|
|
170
|
-
### Release
|
|
171
|
-
npm version 0.X.0 # provide valid semver string
|
|
172
|
-
npm publish
|
|
173
|
-
|
|
174
|
-
## Deploy
|
|
175
|
-
npm run test
|
|
176
|
-
npm run build
|
|
177
|
-
node ./scripts/deploy.js # currently updates the viewer on molstar.org/viewer
|
|
178
|
-
|
|
179
|
-
## Contributing
|
|
180
|
-
Just open an issue or make a pull request. All contributions are welcome.
|
|
181
|
-
|
|
182
|
-
## Funding
|
|
183
|
-
Funding sources include but are not limited to:
|
|
184
|
-
* [RCSB PDB](https://www.rcsb.org) funding by a grant [DBI-1338415; PI: SK Burley] from the NSF, the NIH, and the US DoE
|
|
185
|
-
* [PDBe, EMBL-EBI](https://pdbe.org)
|
|
186
|
-
* [CEITEC](https://www.ceitec.eu/)
|
|
187
|
-
* [EntosAI](https://www.entos.ai)
|
|
1
|
+
[](./LICENSE)
|
|
2
|
+
[](https://www.npmjs.com/package/molstar)
|
|
3
|
+
[](https://travis-ci.org/molstar/molstar)
|
|
4
|
+
[](https://gitter.im/molstar/Lobby)
|
|
5
|
+
|
|
6
|
+
# Mol*
|
|
7
|
+
|
|
8
|
+
The goal of **Mol\*** (*/'mol-star/*) is to provide a technology stack that serves as a basis for the next-generation data delivery and analysis tools for (not only) macromolecular structure data. Mol* development was jointly initiated by PDBe and RCSB PDB to combine and build on the strengths of [LiteMol](https://litemol.org) (developed by PDBe) and [NGL](https://nglviewer.org) (developed by RCSB PDB) viewers.
|
|
9
|
+
|
|
10
|
+
When using Mol*, please cite:
|
|
11
|
+
|
|
12
|
+
David Sehnal, Sebastian Bittrich, Mandar Deshpande, Radka Svobodová, Karel Berka, Václav Bazgier, Sameer Velankar, Stephen K Burley, Jaroslav Koča, Alexander S Rose: [Mol* Viewer: modern web app for 3D visualization and analysis of large biomolecular structures](https://doi.org/10.1093/nar/gkab314), *Nucleic Acids Research*, 2021; https://doi.org/10.1093/nar/gkab314.
|
|
13
|
+
|
|
14
|
+
## Project Structure Overview
|
|
15
|
+
|
|
16
|
+
The core of Mol* consists of these modules (see under `src/`):
|
|
17
|
+
|
|
18
|
+
- `mol-task` Computation abstraction with progress tracking and cancellation support.
|
|
19
|
+
- `mol-data` Collections (integer-based sets, interface to columns/tables, etc.)
|
|
20
|
+
- `mol-math` Math related (loosely) algorithms and data structures.
|
|
21
|
+
- `mol-io` Parsing library. Each format is parsed into an interface that corresponds to the data stored by it. Support for common coordinate, experimental/map, and annotation data formats.
|
|
22
|
+
- `mol-model` Data structures and algorithms (such as querying) for representing molecular data (including coordinate, experimental/map, and annotation data).
|
|
23
|
+
- `mol-model-formats` Data format parsers for `mol-model`.
|
|
24
|
+
- `mol-model-props` Common "custom properties".
|
|
25
|
+
- `mol-script` A scripting language for creating representations/scenes and querying (includes the [MolQL query language](https://molql.github.io)).
|
|
26
|
+
- `mol-geo` Creating (molecular) geometries.
|
|
27
|
+
- `mol-theme` Theming for structure, volume and shape representations.
|
|
28
|
+
- `mol-repr` Molecular representations for structures, volumes and shapes.
|
|
29
|
+
- `mol-gl` A wrapper around WebGL.
|
|
30
|
+
- `mol-canvas3d` A low-level 3d view component. Uses `mol-geo` to generate geometries.
|
|
31
|
+
- `mol-state` State representation tree with state saving and automatic updates.
|
|
32
|
+
- `mol-plugin` Allow to define modular Mol* plugin instances utilizing `mol-state` and `mol-canvas3d`.
|
|
33
|
+
- `mol-plugin-state` State transformations, builders, and managers.
|
|
34
|
+
- `mol-plugin-ui` React-based user interface for the Mol* plugin. Some components of the UI are usable outside the main plugin and can be integrated into 3rd party solutions.
|
|
35
|
+
- `mol-util` Useful things that do not fit elsewhere.
|
|
36
|
+
|
|
37
|
+
Moreover, the project contains the implementation of `servers`, including
|
|
38
|
+
|
|
39
|
+
- `servers/model` A tool for accessing coordinate and annotation data of molecular structures.
|
|
40
|
+
- `servers/volume` A tool for accessing volumetric experimental data related to molecular structures.
|
|
41
|
+
- `servers/plugin-state` A basic server to store Mol* Plugin states.
|
|
42
|
+
|
|
43
|
+
The project also contains performance tests (`perf-tests`), `examples`, and `cli` apps (CIF to BinaryCIF converter and JSON domain annotation to CIF converter).
|
|
44
|
+
|
|
45
|
+
## Previous Work
|
|
46
|
+
This project builds on experience from previous solutions:
|
|
47
|
+
- [LiteMol Suite](https://www.litemol.org)
|
|
48
|
+
- [WebChemistry](https://webchem.ncbr.muni.cz)
|
|
49
|
+
- [NGL Viewer](http://nglviewer.org)
|
|
50
|
+
- [MMTF](http://mmtf.rcsb.org)
|
|
51
|
+
- [MolQL](http://molql.org)
|
|
52
|
+
- [PDB Component Library](https://www.ebi.ac.uk/pdbe/pdb-component-library/)
|
|
53
|
+
- And many others (list will be continuously expanded).
|
|
54
|
+
|
|
55
|
+
## Building & Running
|
|
56
|
+
|
|
57
|
+
### Build:
|
|
58
|
+
npm install
|
|
59
|
+
npm run build
|
|
60
|
+
|
|
61
|
+
### Build automatically on file save:
|
|
62
|
+
npm run watch
|
|
63
|
+
|
|
64
|
+
If working on just the viewer, ``npm run watch-viewer`` will provide shorter compile times.
|
|
65
|
+
|
|
66
|
+
### Build with debug mode enabled:
|
|
67
|
+
DEBUG=molstar npm run watch
|
|
68
|
+
|
|
69
|
+
Debug/production mode in browsers can be turned on/off during runtime by calling ``setMolStarDebugMode(true/false, true/false)`` from the dev console.
|
|
70
|
+
|
|
71
|
+
### Cleaning and forcing a full rebuild
|
|
72
|
+
npm run clean
|
|
73
|
+
|
|
74
|
+
Wipes the `build` and `lib` directories and `.tsbuildinfo` files.
|
|
75
|
+
|
|
76
|
+
npm run rebuild
|
|
77
|
+
|
|
78
|
+
Runs the cleanup script prior to building the project, forcing a full rebuild of the project.
|
|
79
|
+
|
|
80
|
+
Use these commands to resolve occassional build failures which may arise after some dependency updates. Once done, `npm run build` should work again. Note that full rebuilds take more time to complete.
|
|
81
|
+
|
|
82
|
+
### Build for production:
|
|
83
|
+
NODE_ENV=production npm run build
|
|
84
|
+
|
|
85
|
+
**Run**
|
|
86
|
+
|
|
87
|
+
If not installed previously:
|
|
88
|
+
|
|
89
|
+
npm install -g http-server
|
|
90
|
+
|
|
91
|
+
...or a similar solution.
|
|
92
|
+
|
|
93
|
+
From the root of the project:
|
|
94
|
+
|
|
95
|
+
http-server -p PORT-NUMBER
|
|
96
|
+
|
|
97
|
+
and navigate to `build/viewer`
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
### Code generation
|
|
101
|
+
**CIF schemas**
|
|
102
|
+
|
|
103
|
+
node ./lib/commonjs/cli/cifschema -mip ../../../../mol-data -o src/mol-io/reader/cif/schema/mmcif.ts -p mmCIF
|
|
104
|
+
node ./lib/commonjs/cli/cifschema -mip ../../../../mol-data -o src/mol-io/reader/cif/schema/ccd.ts -p CCD
|
|
105
|
+
node ./lib/commonjs/cli/cifschema -mip ../../../../mol-data -o src/mol-io/reader/cif/schema/bird.ts -p BIRD
|
|
106
|
+
node ./lib/commonjs/cli/cifschema -mip ../../../../mol-data -o src/mol-io/reader/cif/schema/cif-core.ts -p CifCore -aa
|
|
107
|
+
|
|
108
|
+
**Lipid names**
|
|
109
|
+
|
|
110
|
+
node lib/commonjs/cli/lipid-params -o src/mol-model/structure/model/types/lipids.ts
|
|
111
|
+
|
|
112
|
+
**Ion names**
|
|
113
|
+
|
|
114
|
+
node --max-old-space-size=4096 lib/commonjs/cli/chem-comp-dict/create-ions.js src/mol-model/structure/model/types/ions.ts
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
**GraphQL schemas**
|
|
118
|
+
|
|
119
|
+
node node_modules//@graphql-codegen/cli/bin -c src/extensions/rcsb/graphql/codegen.yml
|
|
120
|
+
|
|
121
|
+
### Other scripts
|
|
122
|
+
**Create chem comp bond table**
|
|
123
|
+
|
|
124
|
+
node --max-old-space-size=4096 lib/commonjs/cli/chem-comp-dict/create-table.js build/data/ccb.bcif -b
|
|
125
|
+
|
|
126
|
+
**Test model server**
|
|
127
|
+
|
|
128
|
+
export NODE_PATH="lib"; node build/src/servers/model/test.js
|
|
129
|
+
|
|
130
|
+
**State Transformer Docs**
|
|
131
|
+
|
|
132
|
+
export NODE_PATH="lib"; node build/state-docs
|
|
133
|
+
|
|
134
|
+
**Convert any CIF to BinaryCIF**
|
|
135
|
+
|
|
136
|
+
node lib/commonjs/servers/model/preprocess -i file.cif -ob file.bcif
|
|
137
|
+
|
|
138
|
+
To see all available commands, use ``node lib/commonjs/servers/model/preprocess -h``.
|
|
139
|
+
|
|
140
|
+
Or
|
|
141
|
+
|
|
142
|
+
node lib/commonjs/cli/cif2bcif
|
|
143
|
+
|
|
144
|
+
## Development
|
|
145
|
+
|
|
146
|
+
### Installation
|
|
147
|
+
|
|
148
|
+
If node complains about a missing acorn peer dependency, run the following commands
|
|
149
|
+
|
|
150
|
+
npm update acorn --depth 20
|
|
151
|
+
npm dedupe
|
|
152
|
+
|
|
153
|
+
### Editor
|
|
154
|
+
|
|
155
|
+
To get syntax highlighting for shader and graphql files add the following to Visual Code's settings files and make sure relevant extensions are installed in the editor.
|
|
156
|
+
|
|
157
|
+
"files.associations": {
|
|
158
|
+
"*.glsl.ts": "glsl",
|
|
159
|
+
"*.frag.ts": "glsl",
|
|
160
|
+
"*.vert.ts": "glsl",
|
|
161
|
+
"*.gql.ts": "graphql"
|
|
162
|
+
},
|
|
163
|
+
|
|
164
|
+
## Publish
|
|
165
|
+
|
|
166
|
+
### Prerelease
|
|
167
|
+
npm version prerelease # assumes the current version ends with '-dev.X'
|
|
168
|
+
npm publish --tag next
|
|
169
|
+
|
|
170
|
+
### Release
|
|
171
|
+
npm version 0.X.0 # provide valid semver string
|
|
172
|
+
npm publish
|
|
173
|
+
|
|
174
|
+
## Deploy
|
|
175
|
+
npm run test
|
|
176
|
+
npm run build
|
|
177
|
+
node ./scripts/deploy.js # currently updates the viewer on molstar.org/viewer
|
|
178
|
+
|
|
179
|
+
## Contributing
|
|
180
|
+
Just open an issue or make a pull request. All contributions are welcome.
|
|
181
|
+
|
|
182
|
+
## Funding
|
|
183
|
+
Funding sources include but are not limited to:
|
|
184
|
+
* [RCSB PDB](https://www.rcsb.org) funding by a grant [DBI-1338415; PI: SK Burley] from the NSF, the NIH, and the US DoE
|
|
185
|
+
* [PDBe, EMBL-EBI](https://pdbe.org)
|
|
186
|
+
* [CEITEC](https://www.ceitec.eu/)
|
|
187
|
+
* [EntosAI](https://www.entos.ai)
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
|
|
6
|
-
<link rel="icon" href="./favicon.ico" type="image/x-icon">
|
|
7
|
-
<title>Embedded Mol* Viewer</title>
|
|
8
|
-
<style>
|
|
9
|
-
#app {
|
|
10
|
-
position: absolute;
|
|
11
|
-
left: 100px;
|
|
12
|
-
top: 100px;
|
|
13
|
-
width: 800px;
|
|
14
|
-
height: 600px;
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
<link rel="stylesheet" type="text/css" href="molstar.css" />
|
|
18
|
-
</head>
|
|
19
|
-
<body>
|
|
20
|
-
<div id="app"></div>
|
|
21
|
-
<script type="text/javascript" src="./molstar.js"></script>
|
|
22
|
-
<script type="text/javascript">
|
|
23
|
-
var viewer = new molstar.Viewer('app', {
|
|
24
|
-
layoutIsExpanded: true,
|
|
25
|
-
layoutShowControls: false,
|
|
26
|
-
layoutShowRemoteState: false,
|
|
27
|
-
layoutShowSequence: true,
|
|
28
|
-
layoutShowLog: false,
|
|
29
|
-
layoutShowLeftPanel: true,
|
|
30
|
-
|
|
31
|
-
viewportShowExpand: true,
|
|
32
|
-
viewportShowSelectionMode: false,
|
|
33
|
-
viewportShowAnimation: false,
|
|
34
|
-
|
|
35
|
-
pdbProvider: 'rcsb',
|
|
36
|
-
emdbProvider: 'rcsb',
|
|
37
|
-
});
|
|
38
|
-
viewer.loadPdb('7bv2');
|
|
39
|
-
viewer.loadEmdb('EMD-30210', { detail: 6 });
|
|
40
|
-
|
|
41
|
-
// viewer.loadAllModelsOrAssemblyFromUrl('https://cs.litemol.org/5ire/full', 'mmcif', false, { representationParams: { theme: { globalName: 'operator-name' } } })
|
|
42
|
-
</script>
|
|
43
|
-
</body>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
|
|
6
|
+
<link rel="icon" href="./favicon.ico" type="image/x-icon">
|
|
7
|
+
<title>Embedded Mol* Viewer</title>
|
|
8
|
+
<style>
|
|
9
|
+
#app {
|
|
10
|
+
position: absolute;
|
|
11
|
+
left: 100px;
|
|
12
|
+
top: 100px;
|
|
13
|
+
width: 800px;
|
|
14
|
+
height: 600px;
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
<link rel="stylesheet" type="text/css" href="molstar.css" />
|
|
18
|
+
</head>
|
|
19
|
+
<body>
|
|
20
|
+
<div id="app"></div>
|
|
21
|
+
<script type="text/javascript" src="./molstar.js"></script>
|
|
22
|
+
<script type="text/javascript">
|
|
23
|
+
var viewer = new molstar.Viewer('app', {
|
|
24
|
+
layoutIsExpanded: true,
|
|
25
|
+
layoutShowControls: false,
|
|
26
|
+
layoutShowRemoteState: false,
|
|
27
|
+
layoutShowSequence: true,
|
|
28
|
+
layoutShowLog: false,
|
|
29
|
+
layoutShowLeftPanel: true,
|
|
30
|
+
|
|
31
|
+
viewportShowExpand: true,
|
|
32
|
+
viewportShowSelectionMode: false,
|
|
33
|
+
viewportShowAnimation: false,
|
|
34
|
+
|
|
35
|
+
pdbProvider: 'rcsb',
|
|
36
|
+
emdbProvider: 'rcsb',
|
|
37
|
+
});
|
|
38
|
+
viewer.loadPdb('7bv2');
|
|
39
|
+
viewer.loadEmdb('EMD-30210', { detail: 6 });
|
|
40
|
+
|
|
41
|
+
// viewer.loadAllModelsOrAssemblyFromUrl('https://cs.litemol.org/5ire/full', 'mmcif', false, { representationParams: { theme: { globalName: 'operator-name' } } })
|
|
42
|
+
</script>
|
|
43
|
+
</body>
|
|
44
44
|
</html>
|