molstar 3.0.0-dev.6 → 3.0.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/README.md +7 -0
- package/build/viewer/index.html +4 -0
- package/build/viewer/molstar.js +1 -1
- package/lib/apps/viewer/app.d.ts +230 -0
- package/lib/apps/viewer/app.js +525 -0
- package/lib/apps/viewer/index.d.ts +2 -224
- package/lib/apps/viewer/index.html +4 -0
- package/lib/apps/viewer/index.js +2 -507
- package/lib/commonjs/apps/viewer/app.d.ts +230 -0
- package/lib/commonjs/apps/viewer/app.js +531 -0
- package/lib/commonjs/apps/viewer/index.d.ts +2 -224
- package/lib/commonjs/apps/viewer/index.js +2 -510
- package/lib/commonjs/examples/alpha-orbitals/index.js +1 -1
- package/lib/commonjs/examples/basic-wrapper/index.js +7 -3
- package/lib/commonjs/examples/proteopedia-wrapper/index.js +7 -1
- package/lib/commonjs/extensions/anvil/behavior.d.ts +4 -0
- package/lib/commonjs/extensions/anvil/representation.d.ts +50 -0
- package/lib/commonjs/extensions/anvil/representation.js +1 -1
- package/lib/commonjs/extensions/cellpack/representation.d.ts +10 -0
- package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
- package/lib/commonjs/extensions/geo-export/mesh-exporter.js +4 -4
- package/lib/commonjs/extensions/model-export/export.d.ts +9 -0
- package/lib/commonjs/extensions/model-export/export.js +129 -0
- package/lib/commonjs/extensions/model-export/index.d.ts +7 -0
- package/lib/commonjs/extensions/model-export/index.js +36 -0
- package/lib/commonjs/extensions/model-export/ui.d.ts +11 -0
- package/lib/commonjs/extensions/model-export/ui.js +77 -0
- package/lib/commonjs/extensions/mp4-export/encoder.js +1 -1
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
- package/lib/commonjs/extensions/rcsb/graphql/types.d.ts +2 -2
- package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +50 -0
- package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +15 -13
- package/lib/commonjs/mol-canvas3d/canvas3d.js +34 -29
- package/lib/commonjs/mol-canvas3d/controls/trackball.d.ts +9 -4
- package/lib/commonjs/mol-canvas3d/controls/trackball.js +50 -11
- package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +4 -0
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +4 -0
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
- package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
- package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +13 -1
- package/lib/commonjs/mol-canvas3d/passes/draw.js +16 -15
- package/lib/commonjs/mol-canvas3d/passes/image.d.ts +1 -0
- package/lib/commonjs/mol-canvas3d/passes/image.js +3 -2
- package/lib/commonjs/mol-canvas3d/passes/marking.js +1 -1
- package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +9 -2
- package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +14 -12
- package/lib/commonjs/mol-canvas3d/passes/pick.js +12 -12
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +3 -3
- package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
- package/lib/commonjs/mol-geo/geometry/base.d.ts +18 -0
- package/lib/commonjs/mol-geo/geometry/base.js +18 -1
- package/lib/commonjs/mol-geo/geometry/clipping-data.d.ts +1 -3
- package/lib/commonjs/mol-geo/geometry/clipping-data.js +3 -8
- package/lib/commonjs/mol-geo/geometry/color-data.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/color-data.js +22 -0
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +2 -2
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +21 -66
- package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
- package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
- package/lib/commonjs/mol-geo/geometry/image/image.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/image/image.js +1 -1
- package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
- package/lib/commonjs/mol-geo/geometry/marker-data.d.ts +0 -1
- package/lib/commonjs/mol-geo/geometry/marker-data.js +13 -9
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +2 -2
- package/lib/commonjs/mol-geo/geometry/points/points.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/points/points.js +1 -1
- package/lib/commonjs/mol-geo/geometry/size-data.js +5 -5
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +2 -2
- package/lib/commonjs/mol-geo/geometry/text/text.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/text/text.js +1 -1
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +2 -2
- package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
- package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -9
- package/lib/commonjs/mol-gl/render-object.d.ts +2 -1
- package/lib/commonjs/mol-gl/render-object.js +10 -10
- package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +11 -5
- package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -3
- package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +15 -14
- package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
- package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -4
- package/lib/commonjs/mol-gl/renderable/image.js +2 -2
- package/lib/commonjs/mol-gl/renderable/lines.d.ts +39 -33
- package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
- package/lib/commonjs/mol-gl/renderable/mesh.d.ts +11 -5
- package/lib/commonjs/mol-gl/renderable/mesh.js +3 -3
- package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -4
- package/lib/commonjs/mol-gl/renderable/points.js +2 -2
- package/lib/commonjs/mol-gl/renderable/schema.d.ts +10 -11
- package/lib/commonjs/mol-gl/renderable/schema.js +4 -10
- package/lib/commonjs/mol-gl/renderable/spheres.d.ts +11 -5
- package/lib/commonjs/mol-gl/renderable/spheres.js +3 -3
- package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -4
- package/lib/commonjs/mol-gl/renderable/text.js +2 -2
- package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +11 -6
- package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
- package/lib/commonjs/mol-gl/renderable.d.ts +0 -1
- package/lib/commonjs/mol-gl/renderer.d.ts +12 -12
- package/lib/commonjs/mol-gl/renderer.js +23 -92
- package/lib/commonjs/mol-gl/scene.d.ts +2 -2
- package/lib/commonjs/mol-gl/scene.js +7 -5
- 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-group.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-marker-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/assign-position.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-size.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-vert-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-vert-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/wboit-write.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.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/direct-volume.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.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/mesh.vert.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.vert.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-gl/shader-code.d.ts +3 -1
- package/lib/commonjs/mol-gl/shader-code.js +43 -14
- package/lib/commonjs/mol-gl/webgl/render-item.d.ts +7 -6
- package/lib/commonjs/mol-gl/webgl/render-item.js +10 -8
- package/lib/commonjs/mol-gl/webgl/resources.js +8 -1
- package/lib/commonjs/mol-io/reader/cif/schema/bird.d.ts +1 -1
- package/lib/commonjs/mol-io/reader/cif/schema/bird.js +1 -1
- package/lib/commonjs/mol-io/reader/cif/schema/ccd.d.ts +1 -1
- package/lib/commonjs/mol-io/reader/cif/schema/ccd.js +1 -1
- package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +2 -2
- package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +1 -1
- package/lib/commonjs/mol-io/reader/mol/parser.d.ts +23 -1
- package/lib/commonjs/mol-io/reader/mol/parser.js +116 -4
- package/lib/commonjs/mol-io/reader/mol2/parser.d.ts +1 -1
- package/lib/commonjs/mol-io/reader/mol2/parser.js +33 -3
- package/lib/commonjs/mol-io/reader/mol2/schema.d.ts +12 -1
- package/lib/commonjs/mol-io/reader/mol2/schema.js +1 -1
- package/lib/commonjs/mol-io/reader/sdf/parser-v3-util.d.ts +6 -0
- package/lib/commonjs/mol-io/reader/sdf/parser-v3-util.js +9 -0
- package/lib/commonjs/mol-io/reader/sdf/parser.d.ts +3 -1
- package/lib/commonjs/mol-io/reader/sdf/parser.js +11 -2
- package/lib/commonjs/mol-io/writer/cif/encoder/binary.js +9 -2
- package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +2 -2
- package/lib/commonjs/mol-math/geometry/symmetry-operator.d.ts +1 -1
- package/lib/commonjs/mol-math/geometry/symmetry-operator.js +10 -4
- package/lib/commonjs/mol-math/linear-algebra/3d/quat.d.ts +9 -1
- package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +20 -1
- package/lib/commonjs/mol-model/structure/export/mmcif.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/export/mmcif.js +8 -5
- package/lib/commonjs/mol-model/structure/model/properties/common.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/structure/element/stats.js +8 -0
- package/lib/commonjs/mol-model/structure/structure/properties.d.ts +1 -0
- package/lib/commonjs/mol-model/structure/structure/properties.js +2 -1
- package/lib/commonjs/mol-model/structure/structure/symmetry.js +1 -3
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.js +11 -2
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +20 -10
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +21 -11
- package/lib/commonjs/mol-model/structure/structure/util/superposition-db-mapping.js +10 -5
- package/lib/commonjs/mol-model-formats/shape/ply.d.ts +20 -0
- package/lib/commonjs/mol-model-formats/structure/basic/atomic.d.ts +2 -2
- package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +6 -6
- package/lib/commonjs/mol-model-formats/structure/basic/coarse.d.ts +1 -1
- package/lib/commonjs/mol-model-formats/structure/basic/coarse.js +3 -3
- package/lib/commonjs/mol-model-formats/structure/basic/entities.d.ts +2 -1
- package/lib/commonjs/mol-model-formats/structure/basic/entities.js +28 -24
- package/lib/commonjs/mol-model-formats/structure/basic/parser.js +17 -8
- package/lib/commonjs/mol-model-formats/structure/basic/properties.d.ts +6 -1
- package/lib/commonjs/mol-model-formats/structure/basic/properties.js +12 -22
- package/lib/commonjs/mol-model-formats/structure/mol.d.ts +2 -1
- package/lib/commonjs/mol-model-formats/structure/mol.js +19 -5
- package/lib/commonjs/mol-model-formats/structure/mol2.d.ts +1 -1
- package/lib/commonjs/mol-model-formats/structure/mol2.js +37 -7
- package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
- package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
- package/lib/commonjs/mol-model-props/common/custom-property.d.ts +1 -1
- package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +11 -1
- package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +25 -10
- package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +30 -0
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
- package/lib/commonjs/mol-model-props/sequence/best-database-mapping.js +15 -15
- package/lib/commonjs/mol-plugin/animation-loop.d.ts +2 -0
- package/lib/commonjs/mol-plugin/animation-loop.js +1 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +4 -6
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
- package/lib/commonjs/mol-plugin/commands.d.ts +7 -6
- package/lib/commonjs/mol-plugin/config.d.ts +1 -2
- package/lib/commonjs/mol-plugin/config.js +4 -25
- package/lib/commonjs/mol-plugin/features.d.ts +9 -0
- package/lib/commonjs/mol-plugin/features.js +38 -0
- package/lib/commonjs/mol-plugin/spec.d.ts +1 -1
- package/lib/commonjs/mol-plugin/spec.js +4 -1
- package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +12 -0
- package/lib/commonjs/mol-plugin-state/actions/file.d.ts +3 -2
- package/lib/commonjs/mol-plugin-state/actions/file.js +67 -31
- package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +1 -0
- package/lib/commonjs/mol-plugin-state/actions/structure.js +41 -8
- package/lib/commonjs/mol-plugin-state/animation/built-in/camera-rock.d.ts +16 -0
- package/lib/commonjs/mol-plugin-state/animation/built-in/camera-rock.js +62 -0
- package/lib/commonjs/mol-plugin-state/animation/built-in/camera-spin.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/animation/built-in/camera-spin.js +9 -8
- package/lib/commonjs/mol-plugin-state/animation/model.d.ts +4 -0
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +6 -6
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +149 -5
- package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.js +74 -2
- package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -1
- package/lib/commonjs/mol-plugin-state/manager/animation.d.ts +5 -1
- package/lib/commonjs/mol-plugin-state/manager/animation.js +5 -5
- package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +13 -1
- package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
- package/lib/commonjs/mol-plugin-state/manager/structure/selection.js +3 -1
- package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +32 -0
- package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
- package/lib/commonjs/mol-plugin-ui/structure/superposition.js +2 -2
- package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.d.ts +1 -1
- package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +6 -14
- package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/common.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/label.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/complex-representation.js +1 -1
- package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +61 -19
- package/lib/commonjs/mol-repr/structure/params.d.ts +81 -19
- package/lib/commonjs/mol-repr/structure/registry.d.ts +141 -19
- package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +1 -1
- package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
- package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +2 -7
- package/lib/commonjs/mol-repr/structure/representation/label.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/label.js +1 -1
- package/lib/commonjs/mol-repr/structure/representation/line.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +1 -1
- package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/point.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/units-representation.js +1 -1
- package/lib/commonjs/mol-repr/structure/units-visual.d.ts +81 -19
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +11 -1
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.js +8 -4
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +11 -1
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +10 -6
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +11 -1
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +8 -4
- package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/label-text.js +1 -2
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/util/common.d.ts +3 -2
- package/lib/commonjs/mol-repr/structure/visual/util/common.js +2 -5
- package/lib/commonjs/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
- package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +12 -12
- package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
- package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +4 -4
- package/lib/commonjs/mol-repr/visual.d.ts +1 -1
- package/lib/commonjs/mol-repr/visual.js +13 -8
- package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +33 -57
- package/lib/commonjs/mol-repr/volume/direct-volume.js +8 -12
- package/lib/commonjs/mol-repr/volume/isosurface.d.ts +60 -0
- package/lib/commonjs/mol-repr/volume/isosurface.js +11 -2
- package/lib/commonjs/mol-repr/volume/registry.d.ts +31 -19
- package/lib/commonjs/mol-repr/volume/representation.d.ts +10 -0
- package/lib/commonjs/mol-repr/volume/slice.d.ts +30 -0
- package/lib/commonjs/mol-repr/volume/slice.js +2 -2
- package/lib/commonjs/mol-repr/volume/util.js +2 -2
- package/lib/commonjs/mol-state/tree/immutable.d.ts +18 -0
- package/lib/commonjs/mol-state/tree/transient.d.ts +3 -4
- package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
- package/lib/commonjs/mol-theme/clipping.js +5 -12
- package/lib/commonjs/mol-theme/color/element-symbol.d.ts +243 -1
- package/lib/commonjs/mol-theme/color/element-symbol.js +10 -5
- package/lib/commonjs/mol-theme/color/entity-id.d.ts +1 -1
- package/lib/commonjs/mol-theme/color/entity-id.js +26 -5
- package/lib/commonjs/mol-theme/color/illustrative.d.ts +100 -29
- package/lib/commonjs/mol-theme/color/illustrative.js +26 -7
- package/lib/commonjs/mol-theme/color/molecule-type.d.ts +19 -1
- package/lib/commonjs/mol-theme/color/molecule-type.js +10 -5
- package/lib/commonjs/mol-theme/color/residue-name.d.ts +77 -1
- package/lib/commonjs/mol-theme/color/residue-name.js +10 -5
- package/lib/commonjs/mol-theme/color/secondary-structure.d.ts +27 -1
- package/lib/commonjs/mol-theme/color/secondary-structure.js +10 -5
- package/lib/commonjs/mol-theme/color/volume-value.d.ts +17 -0
- package/lib/commonjs/mol-theme/color/volume-value.js +57 -0
- package/lib/commonjs/mol-theme/color.d.ts +233 -14
- package/lib/commonjs/mol-theme/color.js +2 -0
- package/lib/commonjs/mol-util/clip.d.ts +49 -0
- package/lib/commonjs/mol-util/clip.js +97 -0
- package/lib/commonjs/mol-util/color/color.d.ts +1 -1
- package/lib/commonjs/mol-util/color/color.js +1 -1
- package/lib/commonjs/mol-util/color/params.d.ts +10 -0
- package/lib/commonjs/mol-util/color/params.js +19 -0
- package/lib/commonjs/mol-util/number-packing.d.ts +11 -0
- package/lib/commonjs/mol-util/{float-packing.js → number-packing.js} +10 -19
- package/lib/examples/alpha-orbitals/index.js +1 -1
- package/lib/examples/basic-wrapper/index.js +7 -3
- package/lib/examples/proteopedia-wrapper/index.js +7 -1
- package/lib/extensions/anvil/behavior.d.ts +4 -0
- package/lib/extensions/anvil/representation.d.ts +50 -0
- package/lib/extensions/anvil/representation.js +1 -1
- package/lib/extensions/cellpack/representation.d.ts +10 -0
- package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
- package/lib/extensions/geo-export/mesh-exporter.js +4 -4
- package/lib/extensions/model-export/export.d.ts +9 -0
- package/lib/extensions/model-export/export.js +125 -0
- package/lib/extensions/model-export/index.d.ts +7 -0
- package/lib/extensions/model-export/index.js +33 -0
- package/lib/extensions/model-export/ui.d.ts +11 -0
- package/lib/extensions/model-export/ui.js +74 -0
- package/lib/extensions/mp4-export/encoder.js +1 -1
- package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
- package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
- package/lib/extensions/rcsb/graphql/types.d.ts +2 -2
- package/lib/extensions/rcsb/validation-report/representation.d.ts +50 -0
- package/lib/mol-canvas3d/canvas3d.d.ts +15 -13
- package/lib/mol-canvas3d/canvas3d.js +34 -29
- package/lib/mol-canvas3d/controls/trackball.d.ts +9 -4
- package/lib/mol-canvas3d/controls/trackball.js +51 -12
- package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
- package/lib/mol-canvas3d/helper/camera-helper.d.ts +4 -0
- package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
- package/lib/mol-canvas3d/helper/handle-helper.d.ts +4 -0
- package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
- package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
- package/lib/mol-canvas3d/passes/draw.d.ts +13 -1
- package/lib/mol-canvas3d/passes/draw.js +16 -15
- package/lib/mol-canvas3d/passes/image.d.ts +1 -0
- package/lib/mol-canvas3d/passes/image.js +3 -2
- package/lib/mol-canvas3d/passes/marking.js +1 -1
- package/lib/mol-canvas3d/passes/multi-sample.d.ts +9 -2
- package/lib/mol-canvas3d/passes/multi-sample.js +14 -12
- package/lib/mol-canvas3d/passes/pick.js +11 -11
- package/lib/mol-canvas3d/passes/postprocessing.js +3 -3
- package/lib/mol-canvas3d/passes/smaa.js +1 -1
- package/lib/mol-geo/geometry/base.d.ts +18 -0
- package/lib/mol-geo/geometry/base.js +18 -1
- package/lib/mol-geo/geometry/clipping-data.d.ts +1 -3
- package/lib/mol-geo/geometry/clipping-data.js +3 -8
- package/lib/mol-geo/geometry/color-data.d.ts +1 -1
- package/lib/mol-geo/geometry/color-data.js +22 -0
- package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +10 -0
- package/lib/mol-geo/geometry/cylinders/cylinders.js +2 -2
- package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
- package/lib/mol-geo/geometry/direct-volume/direct-volume.js +22 -67
- package/lib/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
- package/lib/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
- package/lib/mol-geo/geometry/image/image.d.ts +10 -0
- package/lib/mol-geo/geometry/image/image.js +1 -1
- package/lib/mol-geo/geometry/lines/lines.d.ts +10 -0
- package/lib/mol-geo/geometry/lines/lines.js +1 -1
- package/lib/mol-geo/geometry/marker-data.d.ts +0 -1
- package/lib/mol-geo/geometry/marker-data.js +13 -9
- package/lib/mol-geo/geometry/mesh/mesh.d.ts +10 -0
- package/lib/mol-geo/geometry/mesh/mesh.js +2 -2
- package/lib/mol-geo/geometry/points/points.d.ts +10 -0
- package/lib/mol-geo/geometry/points/points.js +1 -1
- package/lib/mol-geo/geometry/size-data.js +5 -5
- package/lib/mol-geo/geometry/spheres/spheres.d.ts +10 -0
- package/lib/mol-geo/geometry/spheres/spheres.js +2 -2
- package/lib/mol-geo/geometry/text/text.d.ts +10 -0
- package/lib/mol-geo/geometry/text/text.js +1 -1
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
- package/lib/mol-gl/compute/histogram-pyramid/sum.js +2 -2
- package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
- package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -9
- package/lib/mol-gl/render-object.d.ts +2 -1
- package/lib/mol-gl/render-object.js +10 -10
- package/lib/mol-gl/renderable/cylinders.d.ts +11 -5
- package/lib/mol-gl/renderable/cylinders.js +3 -3
- package/lib/mol-gl/renderable/direct-volume.d.ts +15 -14
- package/lib/mol-gl/renderable/direct-volume.js +3 -3
- package/lib/mol-gl/renderable/image.d.ts +10 -4
- package/lib/mol-gl/renderable/image.js +2 -2
- package/lib/mol-gl/renderable/lines.d.ts +39 -33
- package/lib/mol-gl/renderable/lines.js +4 -4
- package/lib/mol-gl/renderable/mesh.d.ts +11 -5
- package/lib/mol-gl/renderable/mesh.js +3 -3
- package/lib/mol-gl/renderable/points.d.ts +10 -4
- package/lib/mol-gl/renderable/points.js +2 -2
- package/lib/mol-gl/renderable/schema.d.ts +10 -11
- package/lib/mol-gl/renderable/schema.js +4 -10
- package/lib/mol-gl/renderable/spheres.d.ts +11 -5
- package/lib/mol-gl/renderable/spheres.js +3 -3
- package/lib/mol-gl/renderable/text.d.ts +10 -4
- package/lib/mol-gl/renderable/text.js +2 -2
- package/lib/mol-gl/renderable/texture-mesh.d.ts +11 -6
- package/lib/mol-gl/renderable/texture-mesh.js +3 -3
- package/lib/mol-gl/renderable.d.ts +0 -1
- package/lib/mol-gl/renderer.d.ts +12 -12
- package/lib/mol-gl/renderer.js +24 -93
- package/lib/mol-gl/scene.d.ts +2 -2
- package/lib/mol-gl/scene.js +7 -5
- 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-group.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-marker-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/assign-position.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-size.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-vert-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/common-vert-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/wboit-write.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
- package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
- package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.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/direct-volume.frag.d.ts +1 -1
- package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
- package/lib/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
- package/lib/mol-gl/shader/gaussian-density.frag.js +1 -1
- package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
- package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
- package/lib/mol-gl/shader/image.frag.d.ts +1 -1
- package/lib/mol-gl/shader/image.frag.js +1 -1
- package/lib/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
- package/lib/mol-gl/shader/marching-cubes/isosurface.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/mesh.vert.d.ts +1 -1
- package/lib/mol-gl/shader/mesh.vert.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-gl/shader-code.d.ts +3 -1
- package/lib/mol-gl/shader-code.js +43 -14
- package/lib/mol-gl/webgl/render-item.d.ts +7 -6
- package/lib/mol-gl/webgl/render-item.js +8 -6
- package/lib/mol-gl/webgl/resources.js +8 -1
- package/lib/mol-io/reader/cif/schema/bird.d.ts +1 -1
- package/lib/mol-io/reader/cif/schema/bird.js +1 -1
- package/lib/mol-io/reader/cif/schema/ccd.d.ts +1 -1
- package/lib/mol-io/reader/cif/schema/ccd.js +1 -1
- package/lib/mol-io/reader/cif/schema/mmcif.d.ts +2 -2
- package/lib/mol-io/reader/cif/schema/mmcif.js +1 -1
- package/lib/mol-io/reader/mol/parser.d.ts +23 -1
- package/lib/mol-io/reader/mol/parser.js +112 -3
- package/lib/mol-io/reader/mol2/parser.d.ts +1 -1
- package/lib/mol-io/reader/mol2/parser.js +33 -3
- package/lib/mol-io/reader/mol2/schema.d.ts +12 -1
- package/lib/mol-io/reader/mol2/schema.js +1 -1
- package/lib/mol-io/reader/sdf/parser-v3-util.d.ts +6 -0
- package/lib/mol-io/reader/sdf/parser-v3-util.js +9 -0
- package/lib/mol-io/reader/sdf/parser.d.ts +3 -1
- package/lib/mol-io/reader/sdf/parser.js +12 -3
- package/lib/mol-io/writer/cif/encoder/binary.js +9 -2
- package/lib/mol-math/geometry/gaussian-density/gpu.js +2 -2
- package/lib/mol-math/geometry/symmetry-operator.d.ts +1 -1
- package/lib/mol-math/geometry/symmetry-operator.js +10 -4
- package/lib/mol-math/linear-algebra/3d/quat.d.ts +9 -1
- package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
- package/lib/mol-model/structure/export/mmcif.d.ts +1 -1
- package/lib/mol-model/structure/export/mmcif.js +8 -5
- package/lib/mol-model/structure/model/properties/common.d.ts +1 -1
- package/lib/mol-model/structure/structure/element/stats.js +8 -0
- package/lib/mol-model/structure/structure/properties.d.ts +1 -0
- package/lib/mol-model/structure/structure/properties.js +2 -1
- package/lib/mol-model/structure/structure/symmetry.js +1 -3
- package/lib/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
- package/lib/mol-model/structure/structure/unit/bonds/common.js +9 -1
- package/lib/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
- package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +21 -11
- package/lib/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
- package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +22 -12
- package/lib/mol-model/structure/structure/util/superposition-db-mapping.js +10 -5
- package/lib/mol-model-formats/shape/ply.d.ts +20 -0
- package/lib/mol-model-formats/structure/basic/atomic.d.ts +2 -2
- package/lib/mol-model-formats/structure/basic/atomic.js +6 -6
- package/lib/mol-model-formats/structure/basic/coarse.d.ts +1 -1
- package/lib/mol-model-formats/structure/basic/coarse.js +3 -3
- package/lib/mol-model-formats/structure/basic/entities.d.ts +2 -1
- package/lib/mol-model-formats/structure/basic/entities.js +25 -22
- package/lib/mol-model-formats/structure/basic/parser.js +19 -10
- package/lib/mol-model-formats/structure/basic/properties.d.ts +6 -1
- package/lib/mol-model-formats/structure/basic/properties.js +12 -25
- package/lib/mol-model-formats/structure/mol.d.ts +2 -1
- package/lib/mol-model-formats/structure/mol.js +17 -3
- package/lib/mol-model-formats/structure/mol2.d.ts +1 -1
- package/lib/mol-model-formats/structure/mol2.js +37 -7
- package/lib/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
- package/lib/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
- package/lib/mol-model-props/common/custom-property.d.ts +1 -1
- package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
- package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +11 -1
- package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +25 -10
- package/lib/mol-model-props/computed/representations/interactions.d.ts +30 -0
- package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
- package/lib/mol-model-props/sequence/best-database-mapping.js +15 -15
- package/lib/mol-plugin/animation-loop.d.ts +2 -0
- package/lib/mol-plugin/animation-loop.js +1 -1
- package/lib/mol-plugin/behavior/dynamic/representation.js +4 -6
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
- package/lib/mol-plugin/commands.d.ts +7 -6
- package/lib/mol-plugin/config.d.ts +1 -2
- package/lib/mol-plugin/config.js +3 -23
- package/lib/mol-plugin/features.d.ts +9 -0
- package/lib/mol-plugin/features.js +35 -0
- package/lib/mol-plugin/spec.d.ts +1 -1
- package/lib/mol-plugin/spec.js +4 -1
- package/lib/mol-plugin/util/viewport-screenshot.d.ts +12 -0
- package/lib/mol-plugin/version.js +2 -2
- package/lib/mol-plugin-state/actions/file.d.ts +3 -2
- package/lib/mol-plugin-state/actions/file.js +67 -31
- package/lib/mol-plugin-state/actions/structure.d.ts +1 -0
- package/lib/mol-plugin-state/actions/structure.js +41 -8
- package/lib/mol-plugin-state/animation/built-in/camera-rock.d.ts +16 -0
- package/lib/mol-plugin-state/animation/built-in/camera-rock.js +59 -0
- package/lib/mol-plugin-state/animation/built-in/camera-spin.d.ts +1 -1
- package/lib/mol-plugin-state/animation/built-in/camera-spin.js +9 -8
- package/lib/mol-plugin-state/animation/model.d.ts +4 -0
- package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +6 -6
- package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -1
- package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +149 -5
- package/lib/mol-plugin-state/builder/structure/representation-preset.js +74 -2
- package/lib/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
- package/lib/mol-plugin-state/helpers/structure-clipping.js +1 -1
- package/lib/mol-plugin-state/manager/animation.d.ts +5 -1
- package/lib/mol-plugin-state/manager/animation.js +5 -5
- package/lib/mol-plugin-state/manager/structure/component.d.ts +13 -1
- package/lib/mol-plugin-state/manager/structure/component.js +13 -8
- package/lib/mol-plugin-state/manager/structure/selection.js +3 -1
- package/lib/mol-plugin-state/transforms/representation.d.ts +32 -0
- package/lib/mol-plugin-state/transforms/representation.js +2 -2
- package/lib/mol-plugin-ui/structure/superposition.js +2 -2
- package/lib/mol-plugin-ui/viewport/simple-settings.d.ts +1 -1
- package/lib/mol-plugin-ui/viewport/simple-settings.js +6 -14
- package/lib/mol-repr/shape/loci/angle.d.ts +10 -0
- package/lib/mol-repr/shape/loci/common.d.ts +10 -0
- package/lib/mol-repr/shape/loci/dihedral.d.ts +10 -0
- package/lib/mol-repr/shape/loci/distance.d.ts +10 -0
- package/lib/mol-repr/shape/loci/label.d.ts +10 -0
- package/lib/mol-repr/shape/loci/orientation.d.ts +10 -0
- package/lib/mol-repr/shape/loci/plane.d.ts +10 -0
- package/lib/mol-repr/shape/model/unitcell.d.ts +10 -0
- package/lib/mol-repr/structure/complex-representation.js +1 -1
- package/lib/mol-repr/structure/complex-visual.d.ts +61 -19
- package/lib/mol-repr/structure/params.d.ts +81 -19
- package/lib/mol-repr/structure/registry.d.ts +141 -19
- package/lib/mol-repr/structure/representation/backbone.d.ts +30 -0
- package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
- package/lib/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
- package/lib/mol-repr/structure/representation/cartoon.d.ts +30 -0
- package/lib/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
- package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
- package/lib/mol-repr/structure/representation/gaussian-surface.js +1 -1
- package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
- package/lib/mol-repr/structure/representation/gaussian-volume.js +2 -7
- package/lib/mol-repr/structure/representation/label.d.ts +30 -0
- package/lib/mol-repr/structure/representation/label.js +1 -1
- package/lib/mol-repr/structure/representation/line.d.ts +30 -0
- package/lib/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
- package/lib/mol-repr/structure/representation/molecular-surface.js +1 -1
- package/lib/mol-repr/structure/representation/orientation.d.ts +30 -0
- package/lib/mol-repr/structure/representation/point.d.ts +30 -0
- package/lib/mol-repr/structure/representation/putty.d.ts +30 -0
- package/lib/mol-repr/structure/representation/spacefill.d.ts +30 -0
- package/lib/mol-repr/structure/units-representation.js +1 -1
- package/lib/mol-repr/structure/units-visual.d.ts +81 -19
- package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
- package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +11 -1
- package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.js +8 -4
- package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +11 -1
- package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +10 -6
- package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +11 -1
- package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +8 -4
- package/lib/mol-repr/structure/visual/element-cross.d.ts +10 -0
- package/lib/mol-repr/structure/visual/element-point.d.ts +10 -0
- package/lib/mol-repr/structure/visual/element-sphere.d.ts +20 -0
- package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
- package/lib/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
- package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
- package/lib/mol-repr/structure/visual/label-text.d.ts +10 -0
- package/lib/mol-repr/structure/visual/label-text.js +1 -2
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
- package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
- package/lib/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
- package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
- package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/util/common.d.ts +3 -2
- package/lib/mol-repr/structure/visual/util/common.js +2 -5
- package/lib/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
- package/lib/mol-repr/structure/visual/util/gaussian.js +12 -12
- package/lib/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
- package/lib/mol-repr/structure/visual/util/molecular-surface.js +4 -4
- package/lib/mol-repr/visual.d.ts +1 -1
- package/lib/mol-repr/visual.js +13 -8
- package/lib/mol-repr/volume/direct-volume.d.ts +33 -57
- package/lib/mol-repr/volume/direct-volume.js +8 -12
- package/lib/mol-repr/volume/isosurface.d.ts +60 -0
- package/lib/mol-repr/volume/isosurface.js +11 -2
- package/lib/mol-repr/volume/registry.d.ts +31 -19
- package/lib/mol-repr/volume/representation.d.ts +10 -0
- package/lib/mol-repr/volume/slice.d.ts +30 -0
- package/lib/mol-repr/volume/slice.js +2 -2
- package/lib/mol-repr/volume/util.js +2 -2
- package/lib/mol-state/tree/immutable.d.ts +18 -0
- package/lib/mol-state/tree/transient.d.ts +3 -4
- package/lib/mol-theme/clipping.d.ts +7 -15
- package/lib/mol-theme/clipping.js +5 -12
- package/lib/mol-theme/color/element-symbol.d.ts +243 -1
- package/lib/mol-theme/color/element-symbol.js +10 -5
- package/lib/mol-theme/color/entity-id.d.ts +1 -1
- package/lib/mol-theme/color/entity-id.js +26 -5
- package/lib/mol-theme/color/illustrative.d.ts +100 -29
- package/lib/mol-theme/color/illustrative.js +26 -7
- package/lib/mol-theme/color/molecule-type.d.ts +19 -1
- package/lib/mol-theme/color/molecule-type.js +10 -5
- package/lib/mol-theme/color/residue-name.d.ts +77 -1
- package/lib/mol-theme/color/residue-name.js +10 -5
- package/lib/mol-theme/color/secondary-structure.d.ts +27 -1
- package/lib/mol-theme/color/secondary-structure.js +10 -5
- package/lib/mol-theme/color/volume-value.d.ts +17 -0
- package/lib/mol-theme/color/volume-value.js +52 -0
- package/lib/mol-theme/color.d.ts +233 -14
- package/lib/mol-theme/color.js +2 -0
- package/lib/mol-util/clip.d.ts +49 -0
- package/lib/mol-util/clip.js +93 -0
- package/lib/mol-util/color/color.d.ts +1 -1
- package/lib/mol-util/color/color.js +1 -1
- package/lib/mol-util/color/params.d.ts +10 -0
- package/lib/mol-util/color/params.js +15 -0
- package/lib/mol-util/number-packing.d.ts +11 -0
- package/lib/mol-util/{float-packing.js → number-packing.js} +7 -14
- package/package.json +36 -35
- package/lib/commonjs/mol-util/float-packing.d.ts +0 -15
- package/lib/mol-util/float-packing.d.ts +0 -15
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* @author David Sehnal <david.sehnal@gmail.com>
|
|
5
5
|
*/
|
|
6
6
|
import { Segmentation } from '../../../../mol-data/int';
|
|
7
|
+
import { Mat4 } from '../../../../mol-math/linear-algebra';
|
|
7
8
|
import { MinimizeRmsd } from '../../../../mol-math/linear-algebra/3d/minimize-rmsd';
|
|
8
9
|
import { BestDatabaseSequenceMapping } from '../../../../mol-model-props/sequence/best-database-mapping';
|
|
9
10
|
export function alignAndSuperposeWithBestDatabaseMapping(structures) {
|
|
@@ -19,6 +20,7 @@ export function alignAndSuperposeWithBestDatabaseMapping(structures) {
|
|
|
19
20
|
var p = pairs_1[_i];
|
|
20
21
|
var _a = getPositionTables(index, p.i, p.j, p.count), a = _a[0], b = _a[1];
|
|
21
22
|
var transform = MinimizeRmsd.compute({ a: a, b: b });
|
|
23
|
+
console.log(Mat4.makeTable(transform.bTransform), transform.rmsd);
|
|
22
24
|
ret.push({ transform: transform, pivot: p.i, other: p.j });
|
|
23
25
|
}
|
|
24
26
|
return ret;
|
|
@@ -34,6 +36,8 @@ function getPositionTables(index, pivot, other, N) {
|
|
|
34
36
|
if (!a || !b)
|
|
35
37
|
continue;
|
|
36
38
|
var l = Math.min(a[2] - a[1], b[2] - b[1]);
|
|
39
|
+
// TODO: allow to use just backbone atoms?
|
|
40
|
+
// TODO: check if residue types match?
|
|
37
41
|
for (var i = 0; i < l; i++) {
|
|
38
42
|
var eI = (a[1] + i);
|
|
39
43
|
xs.x[o] = a[0].conformation.x(eI);
|
|
@@ -93,7 +97,6 @@ function buildIndex(structure, index, sI) {
|
|
|
93
97
|
if (unit.kind !== 0 /* Atomic */)
|
|
94
98
|
continue;
|
|
95
99
|
var elements = unit.elements, model = unit.model;
|
|
96
|
-
var residueOffset = model.atomicHierarchy.residueAtomSegments.offsets;
|
|
97
100
|
var map = BestDatabaseSequenceMapping.Provider.get(model).value;
|
|
98
101
|
if (!map)
|
|
99
102
|
return;
|
|
@@ -105,22 +108,24 @@ function buildIndex(structure, index, sI) {
|
|
|
105
108
|
residuesIt.setSegment(chainSegment);
|
|
106
109
|
while (residuesIt.hasNext) {
|
|
107
110
|
var residueSegment = residuesIt.move();
|
|
108
|
-
var
|
|
109
|
-
var rI = residueOffset[eI];
|
|
111
|
+
var rI = residueSegment.index;
|
|
110
112
|
if (!dbName[rI])
|
|
111
113
|
continue;
|
|
114
|
+
var start = elements[residueSegment.start];
|
|
115
|
+
var end = elements[residueSegment.end - 1] + 1;
|
|
112
116
|
var key = "".concat(dbName[rI], "-").concat(accession[rI], "-").concat(num[rI]);
|
|
113
117
|
if (!index.has(key)) {
|
|
114
|
-
index.set(key, { key: key, pivots: (_a = {}, _a[sI] = [unit,
|
|
118
|
+
index.set(key, { key: key, pivots: (_a = {}, _a[sI] = [unit, start, end], _a) });
|
|
115
119
|
}
|
|
116
120
|
else {
|
|
117
121
|
var entry = index.get(key);
|
|
118
122
|
if (!entry.pivots[sI]) {
|
|
119
|
-
entry.pivots[sI] = [unit,
|
|
123
|
+
entry.pivots[sI] = [unit, start, end];
|
|
120
124
|
}
|
|
121
125
|
}
|
|
122
126
|
}
|
|
123
127
|
}
|
|
124
128
|
}
|
|
129
|
+
console.log(index);
|
|
125
130
|
}
|
|
126
131
|
//# sourceMappingURL=superposition-db-mapping.js.map
|
|
@@ -39,6 +39,16 @@ export declare const PlyShapeParams: {
|
|
|
39
39
|
roughness: number;
|
|
40
40
|
bumpiness: number;
|
|
41
41
|
}>>;
|
|
42
|
+
clip: PD.Group<PD.Normalize<{
|
|
43
|
+
variant: import("../../mol-util/clip").Clip.Variant;
|
|
44
|
+
objects: PD.Normalize<{
|
|
45
|
+
type: any;
|
|
46
|
+
invert: any;
|
|
47
|
+
position: any;
|
|
48
|
+
rotation: any;
|
|
49
|
+
scale: any;
|
|
50
|
+
}>[];
|
|
51
|
+
}>>;
|
|
42
52
|
};
|
|
43
53
|
export declare type PlyShapeParams = typeof PlyShapeParams;
|
|
44
54
|
export declare function shapeFromPly(source: PlyFile, params?: {}): Task<ShapeProvider<PlyFile, Mesh, {
|
|
@@ -70,4 +80,14 @@ export declare function shapeFromPly(source: PlyFile, params?: {}): Task<ShapePr
|
|
|
70
80
|
roughness: number;
|
|
71
81
|
bumpiness: number;
|
|
72
82
|
}>>;
|
|
83
|
+
clip: PD.Group<PD.Normalize<{
|
|
84
|
+
variant: import("../../mol-util/clip").Clip.Variant;
|
|
85
|
+
objects: PD.Normalize<{
|
|
86
|
+
type: any;
|
|
87
|
+
invert: any;
|
|
88
|
+
position: any;
|
|
89
|
+
rotation: any;
|
|
90
|
+
scale: any;
|
|
91
|
+
}>[];
|
|
92
|
+
}>>;
|
|
73
93
|
}>>;
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
6
|
*/
|
|
7
7
|
import { Column } from '../../../mol-data/db';
|
|
8
|
+
import { SymmetryOperator } from '../../../mol-math/geometry';
|
|
8
9
|
import { ChainIndex } from '../../../mol-model/structure';
|
|
9
10
|
import { Model } from '../../../mol-model/structure/model/model';
|
|
10
11
|
import { AtomicConformation, AtomicHierarchy } from '../../../mol-model/structure/model/properties/atomic';
|
|
11
12
|
import { Entities } from '../../../mol-model/structure/model/properties/common';
|
|
12
|
-
import { AtomSite } from './schema';
|
|
13
13
|
import { ModelFormat } from '../../format';
|
|
14
|
-
import {
|
|
14
|
+
import { AtomSite } from './schema';
|
|
15
15
|
export declare function getAtomicHierarchyAndConformation(atom_site: AtomSite, sourceIndex: Column<number>, entities: Entities, chemicalComponentMap: Model['properties']['chemicalComponentMap'], format: ModelFormat, previous?: Model): {
|
|
16
16
|
sameAsPrevious: boolean;
|
|
17
17
|
hierarchy: AtomicHierarchy;
|
|
@@ -7,16 +7,16 @@
|
|
|
7
7
|
import { __assign } from "tslib";
|
|
8
8
|
import { Column, Table } from '../../../mol-data/db';
|
|
9
9
|
import { Interval, Segmentation } from '../../../mol-data/int';
|
|
10
|
-
import {
|
|
10
|
+
import { toDatabase } from '../../../mol-io/reader/cif/schema';
|
|
11
|
+
import { SymmetryOperator } from '../../../mol-math/geometry';
|
|
12
|
+
import { Mat4, Vec3 } from '../../../mol-math/linear-algebra';
|
|
13
|
+
import { AtomSiteOperatorMappingSchema } from '../../../mol-model/structure/export/categories/atom_site_operator_mapping';
|
|
11
14
|
import { AtomsSchema, ChainsSchema, ResiduesSchema } from '../../../mol-model/structure/model/properties/atomic';
|
|
15
|
+
import { getAtomicDerivedData } from '../../../mol-model/structure/model/properties/utils/atomic-derived';
|
|
12
16
|
import { getAtomicIndex } from '../../../mol-model/structure/model/properties/utils/atomic-index';
|
|
13
17
|
import { ElementSymbol } from '../../../mol-model/structure/model/types';
|
|
14
|
-
import {
|
|
15
|
-
import { SymmetryOperator } from '../../../mol-math/geometry';
|
|
18
|
+
import { UUID } from '../../../mol-util/uuid';
|
|
16
19
|
import { MmcifFormat } from '../mmcif';
|
|
17
|
-
import { AtomSiteOperatorMappingSchema } from '../../../mol-model/structure/export/categories/atom_site_operator_mapping';
|
|
18
|
-
import { toDatabase } from '../../../mol-io/reader/cif/schema';
|
|
19
|
-
import { Mat4, Vec3 } from '../../../mol-math/linear-algebra';
|
|
20
20
|
function findHierarchyOffsets(atom_site) {
|
|
21
21
|
if (atom_site._rowCount === 0)
|
|
22
22
|
return { residues: [], chains: [] };
|
|
@@ -23,7 +23,7 @@ export declare const EmptyCoarse: {
|
|
|
23
23
|
hierarchy: CoarseHierarchy;
|
|
24
24
|
conformation: any;
|
|
25
25
|
};
|
|
26
|
-
export declare function getCoarse(data: CoarseData,
|
|
26
|
+
export declare function getCoarse(data: CoarseData, chemicalComponentMap: Model['properties']['chemicalComponentMap']): {
|
|
27
27
|
hierarchy: CoarseHierarchy;
|
|
28
28
|
conformation: CoarseConformation;
|
|
29
29
|
};
|
|
@@ -13,18 +13,18 @@ import { Mat3, Tensor } from '../../../mol-math/linear-algebra';
|
|
|
13
13
|
import { getCoarseRanges } from '../../../mol-model/structure/model/properties/utils/coarse-ranges';
|
|
14
14
|
import { BasicSchema } from './schema';
|
|
15
15
|
export var EmptyCoarse = { hierarchy: CoarseHierarchy.Empty, conformation: void 0 };
|
|
16
|
-
export function getCoarse(data,
|
|
16
|
+
export function getCoarse(data, chemicalComponentMap) {
|
|
17
17
|
var ihm_sphere_obj_site = data.ihm_sphere_obj_site, ihm_gaussian_obj_site = data.ihm_gaussian_obj_site;
|
|
18
18
|
if (ihm_sphere_obj_site._rowCount === 0 && ihm_gaussian_obj_site._rowCount === 0)
|
|
19
19
|
return EmptyCoarse;
|
|
20
20
|
var sphereData = getData(ihm_sphere_obj_site);
|
|
21
21
|
var sphereConformation = getSphereConformation(ihm_sphere_obj_site);
|
|
22
22
|
var sphereKeys = getCoarseKeys(sphereData, data.entities);
|
|
23
|
-
var sphereRanges = getCoarseRanges(sphereData,
|
|
23
|
+
var sphereRanges = getCoarseRanges(sphereData, chemicalComponentMap);
|
|
24
24
|
var gaussianData = getData(ihm_gaussian_obj_site);
|
|
25
25
|
var gaussianConformation = getGaussianConformation(ihm_gaussian_obj_site);
|
|
26
26
|
var gaussianKeys = getCoarseKeys(gaussianData, data.entities);
|
|
27
|
-
var gaussianRanges = getCoarseRanges(gaussianData,
|
|
27
|
+
var gaussianRanges = getCoarseRanges(gaussianData, chemicalComponentMap);
|
|
28
28
|
return {
|
|
29
29
|
hierarchy: {
|
|
30
30
|
isDefined: true,
|
|
@@ -7,4 +7,5 @@
|
|
|
7
7
|
import { Entities } from '../../../mol-model/structure/model/properties/common';
|
|
8
8
|
import { Model } from '../../../mol-model/structure/model';
|
|
9
9
|
import { BasicData } from './schema';
|
|
10
|
-
export declare function
|
|
10
|
+
export declare function getEntityData(data: BasicData): Entities;
|
|
11
|
+
export declare function getEntitiesWithPRD(data: BasicData, entities: Entities, structAsymMap: Model['properties']['structAsymMap']): Entities;
|
|
@@ -4,18 +4,18 @@
|
|
|
4
4
|
* @author David Sehnal <david.sehnal@gmail.com>
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
6
|
*/
|
|
7
|
+
import { __assign } from "tslib";
|
|
7
8
|
import { Column, Table } from '../../../mol-data/db';
|
|
8
9
|
import { EntitySubtype } from '../../../mol-model/structure/model/properties/common';
|
|
9
10
|
import { getEntityType, getEntitySubtype } from '../../../mol-model/structure/model/types';
|
|
10
11
|
import { BasicSchema } from './schema';
|
|
11
|
-
export function
|
|
12
|
-
var _a;
|
|
12
|
+
export function getEntityData(data) {
|
|
13
13
|
var entityData;
|
|
14
14
|
if (!data.entity.id.isDefined) {
|
|
15
15
|
var entityIds_1 = new Set();
|
|
16
16
|
var ids = [];
|
|
17
17
|
var types = [];
|
|
18
|
-
var
|
|
18
|
+
var _a = data.atom_site, label_entity_id = _a.label_entity_id, label_comp_id = _a.label_comp_id;
|
|
19
19
|
for (var i = 0, il = data.atom_site._rowCount; i < il; i++) {
|
|
20
20
|
var entityId = label_entity_id.value(i);
|
|
21
21
|
if (!entityIds_1.has(entityId)) {
|
|
@@ -57,7 +57,7 @@ export function getEntities(data, properties) {
|
|
|
57
57
|
var entityIds = new Set();
|
|
58
58
|
var assignSubtype = false;
|
|
59
59
|
if (data.entity_poly && data.entity_poly.type.isDefined) {
|
|
60
|
-
var
|
|
60
|
+
var _b = data.entity_poly, entity_id = _b.entity_id, type = _b.type, _rowCount = _b._rowCount;
|
|
61
61
|
for (var i = 0; i < _rowCount; ++i) {
|
|
62
62
|
var entityId = entity_id.value(i);
|
|
63
63
|
subtypes[getEntityIndex(entityId)] = type.value(i);
|
|
@@ -68,7 +68,7 @@ export function getEntities(data, properties) {
|
|
|
68
68
|
assignSubtype = true;
|
|
69
69
|
}
|
|
70
70
|
if (data.pdbx_entity_branch && data.pdbx_entity_branch.entity_id.isDefined) {
|
|
71
|
-
var
|
|
71
|
+
var _c = data.pdbx_entity_branch, entity_id = _c.entity_id, type = _c.type, _rowCount = _c._rowCount;
|
|
72
72
|
for (var i = 0; i < _rowCount; ++i) {
|
|
73
73
|
var entityId = entity_id.value(i);
|
|
74
74
|
subtypes[getEntityIndex(entityId)] = type.value(i);
|
|
@@ -85,13 +85,13 @@ export function getEntities(data, properties) {
|
|
|
85
85
|
if (assignSubtype) {
|
|
86
86
|
var chemCompType = new Map();
|
|
87
87
|
if (data.chem_comp) {
|
|
88
|
-
var
|
|
88
|
+
var _d = data.chem_comp, id = _d.id, type = _d.type;
|
|
89
89
|
for (var i = 0, il = data.chem_comp._rowCount; i < il; i++) {
|
|
90
90
|
chemCompType.set(id.value(i), type.value(i));
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
if (data.atom_site) {
|
|
94
|
-
var
|
|
94
|
+
var _e = data.atom_site, label_entity_id = _e.label_entity_id, label_comp_id = _e.label_comp_id;
|
|
95
95
|
for (var i = 0, il = data.atom_site._rowCount; i < il; i++) {
|
|
96
96
|
var entityId = label_entity_id.value(i);
|
|
97
97
|
if (!entityIds.has(entityId)) {
|
|
@@ -105,25 +105,28 @@ export function getEntities(data, properties) {
|
|
|
105
105
|
// TODO how to handle coarse?
|
|
106
106
|
}
|
|
107
107
|
var subtypeColumn = Column.ofArray({ array: subtypes, schema: EntitySubtype });
|
|
108
|
-
//
|
|
109
|
-
var prdIds = new Array(entityData._rowCount);
|
|
110
|
-
prdIds.fill('');
|
|
111
|
-
if (data.pdbx_molecule && data.pdbx_molecule.prd_id.isDefined) {
|
|
112
|
-
var _g = data.pdbx_molecule, asym_id = _g.asym_id, prd_id = _g.prd_id, _rowCount = _g._rowCount;
|
|
113
|
-
for (var i = 0; i < _rowCount; ++i) {
|
|
114
|
-
var asymId = asym_id.value(i);
|
|
115
|
-
var entityId = (_a = properties.structAsymMap.get(asymId)) === null || _a === void 0 ? void 0 : _a.entity_id;
|
|
116
|
-
if (entityId !== undefined) {
|
|
117
|
-
prdIds[getEntityIndex(entityId)] = prd_id.value(i);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
var prdIdColumn = Column.ofArray({ array: prdIds, schema: Column.Schema.str });
|
|
122
108
|
return {
|
|
123
109
|
data: entityData,
|
|
124
110
|
subtype: subtypeColumn,
|
|
125
|
-
prd_id: prdIdColumn,
|
|
126
111
|
getEntityIndex: getEntityIndex
|
|
127
112
|
};
|
|
128
113
|
}
|
|
114
|
+
export function getEntitiesWithPRD(data, entities, structAsymMap) {
|
|
115
|
+
var _a;
|
|
116
|
+
if (!data.pdbx_molecule || !data.pdbx_molecule.prd_id.isDefined) {
|
|
117
|
+
return entities;
|
|
118
|
+
}
|
|
119
|
+
var prdIds = new Array(entities.data._rowCount);
|
|
120
|
+
prdIds.fill('');
|
|
121
|
+
var _b = data.pdbx_molecule, asym_id = _b.asym_id, prd_id = _b.prd_id, _rowCount = _b._rowCount;
|
|
122
|
+
for (var i = 0; i < _rowCount; ++i) {
|
|
123
|
+
var asymId = asym_id.value(i);
|
|
124
|
+
var entityId = (_a = structAsymMap.get(asymId)) === null || _a === void 0 ? void 0 : _a.entity_id;
|
|
125
|
+
if (entityId !== undefined) {
|
|
126
|
+
prdIds[entities.getEntityIndex(entityId)] = prd_id.value(i);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
var prdIdColumn = Column.ofArray({ array: prdIds, schema: Column.Schema.str });
|
|
130
|
+
return __assign(__assign({}, entities), { prd_id: prdIdColumn });
|
|
131
|
+
}
|
|
129
132
|
//# sourceMappingURL=entities.js.map
|
|
@@ -14,8 +14,8 @@ import { getCoarse, EmptyCoarse } from './coarse';
|
|
|
14
14
|
import { getSequence } from './sequence';
|
|
15
15
|
import { sortAtomSite } from './sort';
|
|
16
16
|
import { getAtomicRanges } from '../../../mol-model/structure/model/properties/utils/atomic-ranges';
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
17
|
+
import { getChemicalComponentMap, getMissingResidues, getSaccharideComponentMap, getStructAsymMap } from './properties';
|
|
18
|
+
import { getEntitiesWithPRD, getEntityData } from './entities';
|
|
19
19
|
import { getModelGroupName } from './util';
|
|
20
20
|
import { ArrayTrajectory } from '../../../mol-model/structure/trajectory';
|
|
21
21
|
export function createModels(data, format, ctx) {
|
|
@@ -24,7 +24,7 @@ export function createModels(data, format, ctx) {
|
|
|
24
24
|
return __generator(this, function (_b) {
|
|
25
25
|
switch (_b.label) {
|
|
26
26
|
case 0:
|
|
27
|
-
properties =
|
|
27
|
+
properties = getCommonProperties(data, format);
|
|
28
28
|
if (!(data.ihm_model_list._rowCount > 0)) return [3 /*break*/, 2];
|
|
29
29
|
return [4 /*yield*/, readIntegrative(ctx, data, properties, format)];
|
|
30
30
|
case 1:
|
|
@@ -44,6 +44,13 @@ export function createModels(data, format, ctx) {
|
|
|
44
44
|
});
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
|
+
function getCommonProperties(data, format) {
|
|
48
|
+
return {
|
|
49
|
+
missingResidues: getMissingResidues(data),
|
|
50
|
+
chemicalComponentMap: getChemicalComponentMap(data),
|
|
51
|
+
saccharideComponentMap: getSaccharideComponentMap(data)
|
|
52
|
+
};
|
|
53
|
+
}
|
|
47
54
|
/** Standard atomic model */
|
|
48
55
|
function createStandardModel(data, atom_site, sourceIndex, entities, properties, format, previous) {
|
|
49
56
|
var atomic = getAtomicHierarchyAndConformation(atom_site, sourceIndex, entities, properties.chemicalComponentMap, format, previous);
|
|
@@ -54,6 +61,7 @@ function createStandardModel(data, atom_site, sourceIndex, entities, properties,
|
|
|
54
61
|
var coarse = EmptyCoarse;
|
|
55
62
|
var sequence = getSequence(data, entities, atomic.hierarchy, coarse.hierarchy);
|
|
56
63
|
var atomicRanges = getAtomicRanges(atomic.hierarchy, entities, atomic.conformation, sequence);
|
|
64
|
+
var structAsymMap = getStructAsymMap(atomic.hierarchy);
|
|
57
65
|
var entry = data.entry.id.valueKind(0) === 0 /* Present */
|
|
58
66
|
? data.entry.id.value(0) : format.name;
|
|
59
67
|
var label = [];
|
|
@@ -69,7 +77,7 @@ function createStandardModel(data, atom_site, sourceIndex, entities, properties,
|
|
|
69
77
|
sourceData: format,
|
|
70
78
|
modelNum: modelNum,
|
|
71
79
|
parent: undefined,
|
|
72
|
-
entities: entities,
|
|
80
|
+
entities: getEntitiesWithPRD(data, entities, structAsymMap),
|
|
73
81
|
sequence: sequence,
|
|
74
82
|
atomicHierarchy: atomic.hierarchy,
|
|
75
83
|
atomicConformation: atomic.conformation,
|
|
@@ -77,7 +85,7 @@ function createStandardModel(data, atom_site, sourceIndex, entities, properties,
|
|
|
77
85
|
atomicChainOperatorMappinng: atomic.chainOperatorMapping,
|
|
78
86
|
coarseHierarchy: coarse.hierarchy,
|
|
79
87
|
coarseConformation: coarse.conformation,
|
|
80
|
-
properties: properties,
|
|
88
|
+
properties: __assign(__assign({}, properties), { structAsymMap: structAsymMap }),
|
|
81
89
|
customProperties: new CustomProperties(),
|
|
82
90
|
_staticPropertyData: Object.create(null),
|
|
83
91
|
_dynamicPropertyData: Object.create(null)
|
|
@@ -86,7 +94,7 @@ function createStandardModel(data, atom_site, sourceIndex, entities, properties,
|
|
|
86
94
|
/** Integrative model with atomic/coarse parts */
|
|
87
95
|
function createIntegrativeModel(data, ihm, properties, format) {
|
|
88
96
|
var atomic = getAtomicHierarchyAndConformation(ihm.atom_site, ihm.atom_site_sourceIndex, ihm.entities, properties.chemicalComponentMap, format);
|
|
89
|
-
var coarse = getCoarse(ihm, properties);
|
|
97
|
+
var coarse = getCoarse(ihm, properties.chemicalComponentMap);
|
|
90
98
|
var sequence = getSequence(data, ihm.entities, atomic.hierarchy, coarse.hierarchy);
|
|
91
99
|
var atomicRanges = getAtomicRanges(atomic.hierarchy, ihm.entities, atomic.conformation, sequence);
|
|
92
100
|
var entry = data.entry.id.valueKind(0) === 0 /* Present */
|
|
@@ -100,6 +108,7 @@ function createIntegrativeModel(data, ihm, properties, format) {
|
|
|
100
108
|
label.push(ihm.model_name);
|
|
101
109
|
if (ihm.model_group_name)
|
|
102
110
|
label.push(ihm.model_group_name);
|
|
111
|
+
var structAsymMap = getStructAsymMap(atomic.hierarchy, data);
|
|
103
112
|
return {
|
|
104
113
|
id: UUID.create22(),
|
|
105
114
|
entryId: entry,
|
|
@@ -108,7 +117,7 @@ function createIntegrativeModel(data, ihm, properties, format) {
|
|
|
108
117
|
sourceData: format,
|
|
109
118
|
modelNum: ihm.model_id,
|
|
110
119
|
parent: undefined,
|
|
111
|
-
entities: ihm.entities,
|
|
120
|
+
entities: getEntitiesWithPRD(data, ihm.entities, structAsymMap),
|
|
112
121
|
sequence: sequence,
|
|
113
122
|
atomicHierarchy: atomic.hierarchy,
|
|
114
123
|
atomicConformation: atomic.conformation,
|
|
@@ -116,7 +125,7 @@ function createIntegrativeModel(data, ihm, properties, format) {
|
|
|
116
125
|
atomicChainOperatorMappinng: atomic.chainOperatorMapping,
|
|
117
126
|
coarseHierarchy: coarse.hierarchy,
|
|
118
127
|
coarseConformation: coarse.conformation,
|
|
119
|
-
properties: properties,
|
|
128
|
+
properties: __assign(__assign({}, properties), { structAsymMap: structAsymMap }),
|
|
120
129
|
customProperties: new CustomProperties(),
|
|
121
130
|
_staticPropertyData: Object.create(null),
|
|
122
131
|
_dynamicPropertyData: Object.create(null)
|
|
@@ -140,7 +149,7 @@ function readStandard(ctx, data, properties, format) {
|
|
|
140
149
|
models = [];
|
|
141
150
|
if (!data.atom_site) return [3 /*break*/, 3];
|
|
142
151
|
atomCount = data.atom_site.id.rowCount;
|
|
143
|
-
entities =
|
|
152
|
+
entities = getEntityData(data);
|
|
144
153
|
modelStart = 0;
|
|
145
154
|
_b.label = 1;
|
|
146
155
|
case 1:
|
|
@@ -180,7 +189,7 @@ function readIntegrative(ctx, data, properties, format) {
|
|
|
180
189
|
return __generator(this, function (_c) {
|
|
181
190
|
switch (_c.label) {
|
|
182
191
|
case 0:
|
|
183
|
-
entities =
|
|
192
|
+
entities = getEntityData(data);
|
|
184
193
|
atom_sites_modelColumn = data.atom_site.ihm_model_id.isDefined
|
|
185
194
|
? data.atom_site.ihm_model_id : data.atom_site.pdbx_PDB_model_num;
|
|
186
195
|
atom_sites = splitTable(data.atom_site, atom_sites_modelColumn);
|
|
@@ -5,5 +5,10 @@
|
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
6
|
*/
|
|
7
7
|
import { Model } from '../../../mol-model/structure/model/model';
|
|
8
|
+
import { AtomicHierarchy } from '../../../mol-model/structure/model/properties/atomic';
|
|
9
|
+
import { SaccharideComponentMap } from '../../../mol-model/structure/structure/carbohydrates/constants';
|
|
8
10
|
import { BasicData } from './schema';
|
|
9
|
-
export declare function
|
|
11
|
+
export declare function getMissingResidues(data: BasicData): Model['properties']['missingResidues'];
|
|
12
|
+
export declare function getChemicalComponentMap(data: BasicData): Model['properties']['chemicalComponentMap'];
|
|
13
|
+
export declare function getSaccharideComponentMap(data: BasicData): SaccharideComponentMap;
|
|
14
|
+
export declare function getStructAsymMap(atomic: AtomicHierarchy, data?: BasicData): Model['properties']['structAsymMap'];
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* @author David Sehnal <david.sehnal@gmail.com>
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
6
|
*/
|
|
7
|
-
import { getMoleculeType, getDefaultChemicalComponent } from '../../../mol-model/structure/model/types';
|
|
8
|
-
import { SaccharidesSnfgMap, SaccharideCompIdMap, UnknownSaccharideComponent } from '../../../mol-model/structure/structure/carbohydrates/constants';
|
|
9
|
-
import { memoize1 } from '../../../mol-util/memoize';
|
|
10
7
|
import { Table } from '../../../mol-data/db';
|
|
11
|
-
|
|
8
|
+
import { getDefaultChemicalComponent, getMoleculeType } from '../../../mol-model/structure/model/types';
|
|
9
|
+
import { SaccharideCompIdMap, SaccharidesSnfgMap, UnknownSaccharideComponent } from '../../../mol-model/structure/structure/carbohydrates/constants';
|
|
10
|
+
import { memoize1 } from '../../../mol-util/memoize';
|
|
11
|
+
export function getMissingResidues(data) {
|
|
12
12
|
var map = new Map();
|
|
13
13
|
var getKey = function (model_num, asym_id, seq_id) {
|
|
14
14
|
return "".concat(model_num, "|").concat(asym_id, "|").concat(seq_id);
|
|
@@ -28,7 +28,7 @@ function getMissingResidues(data) {
|
|
|
28
28
|
size: map.size
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
function getChemicalComponentMap(data) {
|
|
31
|
+
export function getChemicalComponentMap(data) {
|
|
32
32
|
var map = new Map();
|
|
33
33
|
if (data.chem_comp._rowCount > 0) {
|
|
34
34
|
var id = data.chem_comp.id;
|
|
@@ -44,7 +44,7 @@ function getChemicalComponentMap(data) {
|
|
|
44
44
|
}
|
|
45
45
|
return map;
|
|
46
46
|
}
|
|
47
|
-
function getSaccharideComponentMap(data) {
|
|
47
|
+
export function getSaccharideComponentMap(data) {
|
|
48
48
|
var map = new Map();
|
|
49
49
|
if (data.pdbx_chem_comp_identifier._rowCount > 0) {
|
|
50
50
|
// note that `pdbx_chem_comp_identifier` does not contain
|
|
@@ -99,20 +99,15 @@ var getUniqueComponentNames = memoize1(function (data) {
|
|
|
99
99
|
}
|
|
100
100
|
return uniqueNames;
|
|
101
101
|
});
|
|
102
|
-
function getStructAsymMap(data) {
|
|
102
|
+
export function getStructAsymMap(atomic, data) {
|
|
103
103
|
var map = new Map();
|
|
104
|
-
var _a =
|
|
105
|
-
for (var i = 0,
|
|
104
|
+
var _a = atomic.chains, auth_asym_id = _a.auth_asym_id, label_asym_id = _a.label_asym_id, label_entity_id = _a.label_entity_id;
|
|
105
|
+
for (var i = 0, _i = atomic.chains._rowCount; i < _i; i++) {
|
|
106
106
|
var id = label_asym_id.value(i);
|
|
107
|
-
|
|
108
|
-
map.set(id, {
|
|
109
|
-
id: id,
|
|
110
|
-
auth_id: auth_asym_id.value(i),
|
|
111
|
-
entity_id: label_entity_id.value(i)
|
|
112
|
-
});
|
|
113
|
-
}
|
|
107
|
+
map.set(id, { id: id, auth_id: auth_asym_id.value(i), entity_id: label_entity_id.value(i) });
|
|
114
108
|
}
|
|
115
|
-
|
|
109
|
+
// to get asym mapping for coarse/ihm data
|
|
110
|
+
if (data === null || data === void 0 ? void 0 : data.struct_asym._rowCount) {
|
|
116
111
|
var _b = data.struct_asym, id = _b.id, entity_id = _b.entity_id;
|
|
117
112
|
for (var i = 0, il = id.rowCount; i < il; ++i) {
|
|
118
113
|
var _id = id.value(i);
|
|
@@ -127,12 +122,4 @@ function getStructAsymMap(data) {
|
|
|
127
122
|
}
|
|
128
123
|
return map;
|
|
129
124
|
}
|
|
130
|
-
export function getProperties(data) {
|
|
131
|
-
return {
|
|
132
|
-
missingResidues: getMissingResidues(data),
|
|
133
|
-
chemicalComponentMap: getChemicalComponentMap(data),
|
|
134
|
-
saccharideComponentMap: getSaccharideComponentMap(data),
|
|
135
|
-
structAsymMap: getStructAsymMap(data)
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
125
|
//# sourceMappingURL=properties.js.map
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author David Sehnal <david.sehnal@gmail.com>
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
|
+
* @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
|
|
6
7
|
*/
|
|
7
8
|
import { MolFile } from '../../mol-io/reader/mol/parser';
|
|
8
9
|
import { RuntimeContext, Task } from '../../mol-task';
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author David Sehnal <david.sehnal@gmail.com>
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
|
+
* @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
|
|
6
7
|
*/
|
|
7
8
|
import { __awaiter, __generator } from "tslib";
|
|
8
9
|
import { Column, Table } from '../../mol-data/db';
|
|
10
|
+
import { formalChargeMapper } from '../../mol-io/reader/mol/parser';
|
|
9
11
|
import { Task } from '../../mol-task';
|
|
10
12
|
import { createModels } from './basic/parser';
|
|
11
13
|
import { BasicSchema, createBasic } from './basic/schema';
|
|
@@ -14,15 +16,26 @@ import { EntityBuilder } from './common/entity';
|
|
|
14
16
|
import { IndexPairBonds } from './property/bonds/index-pair';
|
|
15
17
|
export function getMolModels(mol, format, ctx) {
|
|
16
18
|
return __awaiter(this, void 0, void 0, function () {
|
|
17
|
-
var atoms, bonds, MOL, A, type_symbol, seq_id, atom_site, entityBuilder, componentBuilder, basics, models, indexA, indexB, order, pairBonds;
|
|
19
|
+
var atoms, bonds, formalCharges, MOL, A, type_symbol, seq_id, computedFormalCharges, i, i, atom_site, entityBuilder, componentBuilder, basics, models, indexA, indexB, order, pairBonds;
|
|
18
20
|
return __generator(this, function (_a) {
|
|
19
21
|
switch (_a.label) {
|
|
20
22
|
case 0:
|
|
21
|
-
atoms = mol.atoms, bonds = mol.bonds;
|
|
23
|
+
atoms = mol.atoms, bonds = mol.bonds, formalCharges = mol.formalCharges;
|
|
22
24
|
MOL = Column.ofConst('MOL', mol.atoms.count, Column.Schema.str);
|
|
23
25
|
A = Column.ofConst('A', mol.atoms.count, Column.Schema.str);
|
|
24
26
|
type_symbol = Column.asArrayColumn(atoms.type_symbol);
|
|
25
27
|
seq_id = Column.ofConst(1, atoms.count, Column.Schema.int);
|
|
28
|
+
computedFormalCharges = new Int32Array(mol.atoms.count);
|
|
29
|
+
if (formalCharges.atomIdx.rowCount > 0) {
|
|
30
|
+
for (i = 0; i < formalCharges.atomIdx.rowCount; i++) {
|
|
31
|
+
computedFormalCharges[formalCharges.atomIdx.value(i) - 1] = formalCharges.charge.value(i);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
for (i = 0; i < mol.atoms.count; i++) {
|
|
36
|
+
computedFormalCharges[i] = formalChargeMapper(atoms.formal_charge.value(i));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
26
39
|
atom_site = Table.ofPartialColumns(BasicSchema.atom_site, {
|
|
27
40
|
auth_asym_id: A,
|
|
28
41
|
auth_atom_id: type_symbol,
|
|
@@ -40,6 +53,7 @@ export function getMolModels(mol, format, ctx) {
|
|
|
40
53
|
occupancy: Column.ofConst(1, atoms.count, Column.Schema.float),
|
|
41
54
|
type_symbol: type_symbol,
|
|
42
55
|
pdbx_PDB_model_num: Column.ofConst(1, atoms.count, Column.Schema.int),
|
|
56
|
+
pdbx_formal_charge: Column.ofIntArray(computedFormalCharges)
|
|
43
57
|
}, atoms.count);
|
|
44
58
|
entityBuilder = new EntityBuilder();
|
|
45
59
|
entityBuilder.setNames([['MOL', 'Unknown Entity']]);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
2
|
+
* Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
*/
|
|
@@ -14,9 +14,12 @@ import { IndexPairBonds } from './property/bonds/index-pair';
|
|
|
14
14
|
import { AtomPartialCharge } from './property/partial-charge';
|
|
15
15
|
import { ArrayTrajectory } from '../../mol-model/structure';
|
|
16
16
|
import { guessElementSymbolString } from './util';
|
|
17
|
+
import { ModelSymmetry } from './property/symmetry';
|
|
18
|
+
import { Spacegroup, SpacegroupCell } from '../../mol-math/geometry';
|
|
19
|
+
import { Vec3 } from '../../mol-math/linear-algebra';
|
|
17
20
|
function getModels(mol2, ctx) {
|
|
18
21
|
return __awaiter(this, void 0, void 0, function () {
|
|
19
|
-
var models, i, il, _a, atoms, bonds,
|
|
22
|
+
var models, i, il, _a, molecule, atoms, bonds, crysin, A, type_symbol, hasAtomType, i_1, i_2, atom_site, entityBuilder, componentBuilder, i_3, il_1, basics, _models, indexA, indexB, key, order, flag, pairBonds, first, symmetry;
|
|
20
23
|
return __generator(this, function (_b) {
|
|
21
24
|
switch (_b.label) {
|
|
22
25
|
case 0:
|
|
@@ -25,11 +28,20 @@ function getModels(mol2, ctx) {
|
|
|
25
28
|
_b.label = 1;
|
|
26
29
|
case 1:
|
|
27
30
|
if (!(i < il)) return [3 /*break*/, 4];
|
|
28
|
-
_a = mol2.structures[i], atoms = _a.atoms, bonds = _a.bonds,
|
|
31
|
+
_a = mol2.structures[i], molecule = _a.molecule, atoms = _a.atoms, bonds = _a.bonds, crysin = _a.crysin;
|
|
29
32
|
A = Column.ofConst('A', atoms.count, Column.Schema.str);
|
|
30
33
|
type_symbol = new Array(atoms.count);
|
|
34
|
+
hasAtomType = false;
|
|
31
35
|
for (i_1 = 0; i_1 < atoms.count; ++i_1) {
|
|
32
|
-
|
|
36
|
+
if (atoms.atom_type.value(i_1).includes('.')) {
|
|
37
|
+
hasAtomType = true;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
for (i_2 = 0; i_2 < atoms.count; ++i_2) {
|
|
42
|
+
type_symbol[i_2] = hasAtomType
|
|
43
|
+
? atoms.atom_type.value(i_2).split('.')[0].toUpperCase()
|
|
44
|
+
: guessElementSymbolString(atoms.atom_name.value(i_2));
|
|
33
45
|
}
|
|
34
46
|
atom_site = Table.ofPartialColumns(BasicSchema.atom_site, {
|
|
35
47
|
auth_asym_id: A,
|
|
@@ -53,8 +65,8 @@ function getModels(mol2, ctx) {
|
|
|
53
65
|
entityBuilder.setNames([['MOL', molecule.mol_name || 'Unknown Entity']]);
|
|
54
66
|
entityBuilder.getEntityId('MOL', 0 /* Unknown */, 'A');
|
|
55
67
|
componentBuilder = new ComponentBuilder(atoms.subst_id, atoms.atom_name);
|
|
56
|
-
for (
|
|
57
|
-
componentBuilder.add(atoms.subst_name.value(
|
|
68
|
+
for (i_3 = 0, il_1 = atoms.subst_name.rowCount; i_3 < il_1; ++i_3) {
|
|
69
|
+
componentBuilder.add(atoms.subst_name.value(i_3), i_3);
|
|
58
70
|
}
|
|
59
71
|
basics = createBasic({
|
|
60
72
|
entity: entityBuilder.getEntityTable(),
|
|
@@ -67,6 +79,7 @@ function getModels(mol2, ctx) {
|
|
|
67
79
|
if (_models.frameCount > 0) {
|
|
68
80
|
indexA = Column.ofIntArray(Column.mapToArray(bonds.origin_atom_id, function (x) { return x - 1; }, Int32Array));
|
|
69
81
|
indexB = Column.ofIntArray(Column.mapToArray(bonds.target_atom_id, function (x) { return x - 1; }, Int32Array));
|
|
82
|
+
key = bonds.bond_id;
|
|
70
83
|
order = Column.ofIntArray(Column.mapToArray(bonds.bond_type, function (x) {
|
|
71
84
|
switch (x) {
|
|
72
85
|
case 'ar': // aromatic
|
|
@@ -93,13 +106,18 @@ function getModels(mol2, ctx) {
|
|
|
93
106
|
return 1 /* Covalent */;
|
|
94
107
|
}
|
|
95
108
|
}, Int8Array));
|
|
96
|
-
pairBonds = IndexPairBonds.fromData({ pairs: { indexA: indexA, indexB: indexB, order: order, flag: flag }, count: atoms.count });
|
|
109
|
+
pairBonds = IndexPairBonds.fromData({ pairs: { key: key, indexA: indexA, indexB: indexB, order: order, flag: flag }, count: atoms.count });
|
|
97
110
|
first = _models.representative;
|
|
98
111
|
IndexPairBonds.Provider.set(first, pairBonds);
|
|
99
112
|
AtomPartialCharge.Provider.set(first, {
|
|
100
113
|
data: atoms.charge,
|
|
101
114
|
type: molecule.charge_type
|
|
102
115
|
});
|
|
116
|
+
if (crysin) {
|
|
117
|
+
symmetry = getSymmetry(crysin);
|
|
118
|
+
if (symmetry)
|
|
119
|
+
ModelSymmetry.Provider.set(first, symmetry);
|
|
120
|
+
}
|
|
103
121
|
models.push(first);
|
|
104
122
|
}
|
|
105
123
|
_b.label = 3;
|
|
@@ -111,6 +129,18 @@ function getModels(mol2, ctx) {
|
|
|
111
129
|
});
|
|
112
130
|
});
|
|
113
131
|
}
|
|
132
|
+
function getSymmetry(crysin) {
|
|
133
|
+
// TODO handle `crysin.setting`
|
|
134
|
+
if (crysin.setting !== 1)
|
|
135
|
+
return;
|
|
136
|
+
var spaceCell = SpacegroupCell.create(crysin.spaceGroup, Vec3.create(crysin.a, crysin.b, crysin.c), Vec3.scale(Vec3(), Vec3.create(crysin.alpha, crysin.beta, crysin.gamma), Math.PI / 180));
|
|
137
|
+
return {
|
|
138
|
+
spacegroup: Spacegroup.create(spaceCell),
|
|
139
|
+
assemblies: [],
|
|
140
|
+
isNonStandardCrystalFrame: false,
|
|
141
|
+
ncsOperators: []
|
|
142
|
+
};
|
|
143
|
+
}
|
|
114
144
|
//
|
|
115
145
|
export { Mol2Format };
|
|
116
146
|
var Mol2Format;
|