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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2017-
|
|
2
|
+
* Copyright (c) 2017-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Zepei Xu <xuzepei19950617@gmail.com>
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
@@ -241,9 +241,38 @@ function handleBonds(state) {
|
|
|
241
241
|
});
|
|
242
242
|
});
|
|
243
243
|
}
|
|
244
|
+
function handleCrysin(state) {
|
|
245
|
+
var tokenizer = state.tokenizer;
|
|
246
|
+
while (tokenizer.position < tokenizer.data.length) {
|
|
247
|
+
var l = getTokenString(tokenizer);
|
|
248
|
+
if (l === '@<TRIPOS>MOLECULE') {
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
else if (l === '@<TRIPOS>CRYSIN') {
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
markLine(tokenizer);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
if (tokenizer.position >= tokenizer.data.length)
|
|
259
|
+
return;
|
|
260
|
+
markLine(tokenizer);
|
|
261
|
+
var values = getTokenString(tokenizer).trim().split(reWhitespace);
|
|
262
|
+
return {
|
|
263
|
+
a: parseFloat(values[0]),
|
|
264
|
+
b: parseFloat(values[1]),
|
|
265
|
+
c: parseFloat(values[2]),
|
|
266
|
+
alpha: parseFloat(values[3]),
|
|
267
|
+
beta: parseFloat(values[4]),
|
|
268
|
+
gamma: parseFloat(values[5]),
|
|
269
|
+
spaceGroup: parseInt(values[6], 10),
|
|
270
|
+
setting: parseInt(values[7], 10),
|
|
271
|
+
};
|
|
272
|
+
}
|
|
244
273
|
function parseInternal(ctx, data, name) {
|
|
245
274
|
return __awaiter(this, void 0, void 0, function () {
|
|
246
|
-
var tokenizer, structures, state, atoms, bonds, result;
|
|
275
|
+
var tokenizer, structures, state, atoms, bonds, crysin, result;
|
|
247
276
|
return __generator(this, function (_a) {
|
|
248
277
|
switch (_a.label) {
|
|
249
278
|
case 0:
|
|
@@ -261,7 +290,8 @@ function parseInternal(ctx, data, name) {
|
|
|
261
290
|
return [4 /*yield*/, handleBonds(state)];
|
|
262
291
|
case 3:
|
|
263
292
|
bonds = _a.sent();
|
|
264
|
-
|
|
293
|
+
crysin = handleCrysin(state);
|
|
294
|
+
structures.push({ molecule: state.molecule, atoms: atoms, bonds: bonds, crysin: crysin });
|
|
265
295
|
skipWhitespace(tokenizer);
|
|
266
296
|
while (getTokenString(tokenizer) !== '@<TRIPOS>MOLECULE' && tokenizer.position < tokenizer.data.length) {
|
|
267
297
|
markLine(tokenizer);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2017 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
2
|
+
* Copyright (c) 2017-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
|
*/
|
|
@@ -37,10 +37,21 @@ export interface Mol2Bonds {
|
|
|
37
37
|
bond_type: Column<string>;
|
|
38
38
|
status_bits: Column<string>;
|
|
39
39
|
}
|
|
40
|
+
export interface Mol2Crysin {
|
|
41
|
+
a: number;
|
|
42
|
+
b: number;
|
|
43
|
+
c: number;
|
|
44
|
+
alpha: number;
|
|
45
|
+
beta: number;
|
|
46
|
+
gamma: number;
|
|
47
|
+
spaceGroup: number;
|
|
48
|
+
setting: number;
|
|
49
|
+
}
|
|
40
50
|
export interface Mol2Structure {
|
|
41
51
|
molecule: Readonly<Mol2Molecule>;
|
|
42
52
|
atoms: Readonly<Mol2Atoms>;
|
|
43
53
|
bonds: Readonly<Mol2Bonds>;
|
|
54
|
+
crysin?: Readonly<Mol2Crysin>;
|
|
44
55
|
}
|
|
45
56
|
export interface Mol2File {
|
|
46
57
|
name: string;
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2021-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
|
+
*
|
|
4
|
+
* @author Jason Pattle <jpattle@exscientia.co.uk>
|
|
5
|
+
* @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
|
|
6
|
+
*/
|
|
1
7
|
import { MolFile } from '../mol/parser';
|
|
2
8
|
import { Tokenizer } from '../common/text/tokenizer';
|
|
3
9
|
export declare function isV3(versionLine: string): boolean;
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2021-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
|
+
*
|
|
4
|
+
* @author Jason Pattle <jpattle@exscientia.co.uk>
|
|
5
|
+
* @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
|
|
6
|
+
*/
|
|
1
7
|
import { Column } from '../../../mol-data/db';
|
|
2
8
|
import { Tokenizer, TokenBuilder } from '../common/text/tokenizer';
|
|
3
9
|
import { TokenColumnProvider as TokenColumn } from '../common/text/column/token';
|
|
@@ -44,6 +50,9 @@ export function handleAtomsV3(tokenizer, atomCount) {
|
|
|
44
50
|
y: TokenColumn(y)(Column.Schema.float),
|
|
45
51
|
z: TokenColumn(z)(Column.Schema.float),
|
|
46
52
|
type_symbol: TokenColumn(type_symbol)(Column.Schema.str),
|
|
53
|
+
/* No support for formal charge parsing in V3000 molfiles at the moment,
|
|
54
|
+
so all charges default to 0.*/
|
|
55
|
+
formal_charge: Column.ofConst(0, atomCount, Column.Schema.int)
|
|
47
56
|
};
|
|
48
57
|
}
|
|
49
58
|
export function handleBondsV3(tokenizer, bondCount) {
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2020-
|
|
2
|
+
* Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Sebastian Bittrich <sebastian.bittrich@rcsb.org>
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
|
+
* @author Jason Pattle <jpattle@exscientia.co.uk>
|
|
7
|
+
* @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
|
|
6
8
|
*/
|
|
7
9
|
import { Column } from '../../../mol-data/db';
|
|
8
10
|
import { MolFile } from '../mol/parser';
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2020-
|
|
2
|
+
* Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Sebastian Bittrich <sebastian.bittrich@rcsb.org>
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
|
+
* @author Jason Pattle <jpattle@exscientia.co.uk>
|
|
7
|
+
* @author Panagiotis Tourlas <panagiot_tourlov@hotmail.com>
|
|
6
8
|
*/
|
|
7
9
|
import { __awaiter, __generator } from "tslib";
|
|
8
10
|
import { Column } from '../../../mol-data/db';
|
|
9
|
-
import { handleAtoms, handleBonds } from '../mol/parser';
|
|
11
|
+
import { handleAtoms, handleBonds, handlePropertiesBlock } from '../mol/parser';
|
|
10
12
|
import { Task } from '../../../mol-task';
|
|
11
13
|
import { ReaderResult as Result } from '../result';
|
|
12
14
|
import { Tokenizer, TokenBuilder } from '../common/text/tokenizer';
|
|
@@ -69,11 +71,18 @@ function handleMolFile(tokenizer) {
|
|
|
69
71
|
}
|
|
70
72
|
return;
|
|
71
73
|
}
|
|
74
|
+
/* No support for formal charge parsing in V3000 molfiles at the moment,
|
|
75
|
+
so all charges default to 0.*/
|
|
76
|
+
var nullFormalCharges = {
|
|
77
|
+
atomIdx: Column.ofConst(0, atomCount, Column.Schema.int),
|
|
78
|
+
charge: Column.ofConst(0, atomCount, Column.Schema.int)
|
|
79
|
+
};
|
|
72
80
|
var atoms = molIsV3 ? handleAtomsV3(tokenizer, atomCount) : handleAtoms(tokenizer, atomCount);
|
|
73
81
|
var bonds = molIsV3 ? handleBondsV3(tokenizer, bondCount) : handleBonds(tokenizer, bondCount);
|
|
82
|
+
var formalCharges = molIsV3 ? nullFormalCharges : handlePropertiesBlock(tokenizer);
|
|
74
83
|
var dataItems = handleDataItems(tokenizer);
|
|
75
84
|
return {
|
|
76
|
-
molFile: { title: title, program: program, comment: comment, atoms: atoms, bonds: bonds },
|
|
85
|
+
molFile: { title: title, program: program, comment: comment, atoms: atoms, bonds: bonds, formalCharges: formalCharges },
|
|
77
86
|
dataItems: dataItems
|
|
78
87
|
};
|
|
79
88
|
}
|
|
@@ -170,8 +170,15 @@ function getFieldData(field, arrayCtor, totalCount, data) {
|
|
|
170
170
|
allPresent = false;
|
|
171
171
|
}
|
|
172
172
|
else {
|
|
173
|
-
|
|
174
|
-
|
|
173
|
+
var value = getter(key, d, offset);
|
|
174
|
+
if (typeof value === 'string' && !value) {
|
|
175
|
+
mask[offset] = 1 /* NotPresent */;
|
|
176
|
+
allPresent = false;
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
mask[offset] = 0 /* Present */;
|
|
180
|
+
}
|
|
181
|
+
array[offset] = value;
|
|
175
182
|
}
|
|
176
183
|
offset++;
|
|
177
184
|
}
|
|
@@ -10,7 +10,7 @@ import { OrderedSet } from '../../../mol-data/int';
|
|
|
10
10
|
import { Vec3, Tensor, Mat4, Vec2 } from '../../linear-algebra';
|
|
11
11
|
import { ValueCell } from '../../../mol-util';
|
|
12
12
|
import { createComputeRenderable } from '../../../mol-gl/renderable';
|
|
13
|
-
import {
|
|
13
|
+
import { unpackRGBToInt } from '../../../mol-util/number-packing';
|
|
14
14
|
import { ShaderCode } from '../../../mol-gl/shader-code';
|
|
15
15
|
import { createComputeRenderItem } from '../../../mol-gl/webgl/render-item';
|
|
16
16
|
import { ValueSpec, AttributeSpec, UniformSpec, TextureSpec, DefineSpec } from '../../../mol-gl/renderable/schema';
|
|
@@ -371,7 +371,7 @@ function fieldFromTexture2d(ctx, texture, dim, texDim) {
|
|
|
371
371
|
for (var ix = 0; ix < dx; ++ix) {
|
|
372
372
|
var idx = 4 * (tmpCol * dx + (iy + tmpRow) * width + ix);
|
|
373
373
|
data[j] = image[idx + 3] / 255;
|
|
374
|
-
idData[j] =
|
|
374
|
+
idData[j] = unpackRGBToInt(image[idx], image[idx + 1], image[idx + 2]);
|
|
375
375
|
j++;
|
|
376
376
|
}
|
|
377
377
|
}
|
|
@@ -42,7 +42,7 @@ declare namespace SymmetryOperator {
|
|
|
42
42
|
hkl?: Vec3;
|
|
43
43
|
spgrOp?: number;
|
|
44
44
|
};
|
|
45
|
-
function create(name: string, matrix: Mat4, info?: CreateInfo): SymmetryOperator;
|
|
45
|
+
function create(name: string, matrix: Mat4, info?: CreateInfo | SymmetryOperator): SymmetryOperator;
|
|
46
46
|
function checkIfRotationAndTranslation(rot: Mat3, offset: Vec3): boolean;
|
|
47
47
|
function ofRotationAndOffset(name: string, rot: Mat3, offset: Vec3, ncsId?: number): SymmetryOperator;
|
|
48
48
|
function lerpFromIdentity(out: Mat4, op: SymmetryOperator, t: number): Mat4;
|
|
@@ -19,8 +19,9 @@ var SymmetryOperator;
|
|
|
19
19
|
var _hkl = hkl ? Vec3.clone(hkl) : Vec3();
|
|
20
20
|
spgrOp = defaults(spgrOp, -1);
|
|
21
21
|
ncsId = ncsId || -1;
|
|
22
|
-
var
|
|
23
|
-
|
|
22
|
+
var isIdentity = Mat4.isIdentity(matrix);
|
|
23
|
+
var suffix = getSuffix(info, isIdentity);
|
|
24
|
+
if (isIdentity)
|
|
24
25
|
return { name: name, assembly: assembly, matrix: matrix, inverse: Mat4.identity(), isIdentity: true, hkl: _hkl, spgrOp: spgrOp, ncsId: ncsId, suffix: suffix };
|
|
25
26
|
if (!Mat4.isRotationAndTranslation(matrix, SymmetryOperator.RotationTranslationEpsilon)) {
|
|
26
27
|
console.warn("Symmetry operator (".concat(name, ") should be a composition of rotation and translation."));
|
|
@@ -28,11 +29,16 @@ var SymmetryOperator;
|
|
|
28
29
|
return { name: name, assembly: assembly, matrix: matrix, inverse: Mat4.invert(Mat4(), matrix), isIdentity: false, hkl: _hkl, spgrOp: spgrOp, ncsId: ncsId, suffix: suffix };
|
|
29
30
|
}
|
|
30
31
|
SymmetryOperator.create = create;
|
|
31
|
-
function
|
|
32
|
+
function isSymmetryOperator(x) {
|
|
33
|
+
return !!x && !!x.matrix && !!x.inverse && typeof x.name === 'string';
|
|
34
|
+
}
|
|
35
|
+
function getSuffix(info, isIdentity) {
|
|
32
36
|
if (!info)
|
|
33
37
|
return '';
|
|
34
38
|
if (info.assembly) {
|
|
35
|
-
|
|
39
|
+
if (isSymmetryOperator(info))
|
|
40
|
+
return info.suffix;
|
|
41
|
+
return isIdentity ? '' : "_".concat(info.assembly.operId);
|
|
36
42
|
}
|
|
37
43
|
if (typeof info.spgrOp !== 'undefined' && typeof info.hkl !== 'undefined' && info.spgrOp !== -1) {
|
|
38
44
|
var _a = info.hkl, i = _a[0], j = _a[1], k = _a[2];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2017-
|
|
2
|
+
* Copyright (c) 2017-2021 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>
|
|
@@ -70,6 +70,14 @@ declare namespace Quat {
|
|
|
70
70
|
function fromArray(a: Quat, array: NumberArray, offset: number): Quat;
|
|
71
71
|
function copy(out: Quat, a: Quat): Quat;
|
|
72
72
|
function set(out: Quat, x: number, y: number, z: number, w: number): Quat;
|
|
73
|
+
/**
|
|
74
|
+
* Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===)
|
|
75
|
+
*/
|
|
76
|
+
function exactEquals(a: Quat, b: Quat): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Returns whether or not the quaternions have approximately the same elements in the same position.
|
|
79
|
+
*/
|
|
80
|
+
function equals(a: Quat, b: Quat): boolean;
|
|
73
81
|
function add(out: Quat, a: Quat, b: Quat): Quat;
|
|
74
82
|
function normalize(out: Quat, a: Quat): Quat;
|
|
75
83
|
function rotationTo(out: Quat, a: Vec3, b: Vec3): Quat;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2017-
|
|
2
|
+
* Copyright (c) 2017-2021 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>
|
|
@@ -311,6 +311,25 @@ function Quat() {
|
|
|
311
311
|
return out;
|
|
312
312
|
}
|
|
313
313
|
Quat.set = set;
|
|
314
|
+
/**
|
|
315
|
+
* Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===)
|
|
316
|
+
*/
|
|
317
|
+
function exactEquals(a, b) {
|
|
318
|
+
return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];
|
|
319
|
+
}
|
|
320
|
+
Quat.exactEquals = exactEquals;
|
|
321
|
+
/**
|
|
322
|
+
* Returns whether or not the quaternions have approximately the same elements in the same position.
|
|
323
|
+
*/
|
|
324
|
+
function equals(a, b) {
|
|
325
|
+
var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3];
|
|
326
|
+
var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3];
|
|
327
|
+
return (Math.abs(a0 - b0) <= EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) &&
|
|
328
|
+
Math.abs(a1 - b1) <= EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) &&
|
|
329
|
+
Math.abs(a2 - b2) <= EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) &&
|
|
330
|
+
Math.abs(a3 - b3) <= EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)));
|
|
331
|
+
}
|
|
332
|
+
Quat.equals = equals;
|
|
314
333
|
function add(out, a, b) {
|
|
315
334
|
out[0] = a[0] + b[0];
|
|
316
335
|
out[1] = a[1] + b[1];
|
|
@@ -28,5 +28,5 @@ declare type encode_mmCIF_categories_Params = {
|
|
|
28
28
|
};
|
|
29
29
|
/** Doesn't start a data block */
|
|
30
30
|
export declare function encode_mmCIF_categories(encoder: CifWriter.Encoder, structures: Structure | Structure[], params?: encode_mmCIF_categories_Params): void;
|
|
31
|
-
declare function to_mmCIF(name: string, structure: Structure, asBinary?: boolean): string | Uint8Array;
|
|
31
|
+
declare function to_mmCIF(name: string, structure: Structure, asBinary?: boolean, params?: encode_mmCIF_categories_Params): string | Uint8Array;
|
|
32
32
|
export { to_mmCIF };
|
|
@@ -37,6 +37,9 @@ var _entity = {
|
|
|
37
37
|
function isWithoutSymmetry(structure) {
|
|
38
38
|
return structure.units.every(function (u) { return u.conformation.operator.isIdentity; });
|
|
39
39
|
}
|
|
40
|
+
function isWithoutOperator(structure) {
|
|
41
|
+
return isWithoutSymmetry(structure) && structure.units.every(function (u) { return !u.conformation.operator.assembly && !u.conformation.operator.suffix; });
|
|
42
|
+
}
|
|
40
43
|
var Categories = [
|
|
41
44
|
// Basics
|
|
42
45
|
copy_mmCif_category('entry'),
|
|
@@ -46,9 +49,9 @@ var Categories = [
|
|
|
46
49
|
copy_mmCif_category('cell', isWithoutSymmetry),
|
|
47
50
|
copy_mmCif_category('symmetry', isWithoutSymmetry),
|
|
48
51
|
// Assemblies
|
|
49
|
-
copy_mmCif_category('pdbx_struct_assembly',
|
|
50
|
-
copy_mmCif_category('pdbx_struct_assembly_gen',
|
|
51
|
-
copy_mmCif_category('pdbx_struct_oper_list',
|
|
52
|
+
copy_mmCif_category('pdbx_struct_assembly', isWithoutOperator),
|
|
53
|
+
copy_mmCif_category('pdbx_struct_assembly_gen', isWithoutOperator),
|
|
54
|
+
copy_mmCif_category('pdbx_struct_oper_list', isWithoutOperator),
|
|
52
55
|
// Secondary structure
|
|
53
56
|
_struct_conf,
|
|
54
57
|
_struct_sheet_range,
|
|
@@ -229,11 +232,11 @@ function encode_mmCIF_categories_copyAll(encoder, ctx, params) {
|
|
|
229
232
|
encoder.writeCategory(info[0], info[1], info[2]);
|
|
230
233
|
});
|
|
231
234
|
}
|
|
232
|
-
function to_mmCIF(name, structure, asBinary) {
|
|
235
|
+
function to_mmCIF(name, structure, asBinary, params) {
|
|
233
236
|
if (asBinary === void 0) { asBinary = false; }
|
|
234
237
|
var enc = CifWriter.createEncoder({ binary: asBinary });
|
|
235
238
|
enc.startDataBlock(name);
|
|
236
|
-
encode_mmCIF_categories(enc, structure);
|
|
239
|
+
encode_mmCIF_categories(enc, structure, params);
|
|
237
240
|
return enc.getData();
|
|
238
241
|
}
|
|
239
242
|
export { to_mmCIF };
|
|
@@ -13,7 +13,7 @@ export declare const EntitySubtype: Column.Schema.Aliased<EntitySubtype>;
|
|
|
13
13
|
export interface Entities {
|
|
14
14
|
data: mmCIF_Database['entity'];
|
|
15
15
|
subtype: Column<EntitySubtype>;
|
|
16
|
-
prd_id
|
|
16
|
+
prd_id?: Column<string>;
|
|
17
17
|
getEntityIndex(id: string): EntityIndex;
|
|
18
18
|
}
|
|
19
19
|
export declare type ChemicalComponent = Table.Row<mmCIF_chemComp_schema>;
|
|
@@ -49,6 +49,7 @@ export var Stats;
|
|
|
49
49
|
}
|
|
50
50
|
else if (size === 1) {
|
|
51
51
|
if (Unit.Traits.is(unit.traits, 1 /* MultiChain */)) {
|
|
52
|
+
// handled in `handleUnitChainsSimple`
|
|
52
53
|
return;
|
|
53
54
|
}
|
|
54
55
|
else {
|
|
@@ -174,6 +175,13 @@ export var Stats;
|
|
|
174
175
|
Location.set(stats.firstChainLoc, structure, unit, offsets[cI]);
|
|
175
176
|
}
|
|
176
177
|
}
|
|
178
|
+
else if (size === 1) {
|
|
179
|
+
// need to handle here, skipped in `handleElement`
|
|
180
|
+
stats.elementCount += 1;
|
|
181
|
+
if (stats.elementCount === 1) {
|
|
182
|
+
Location.set(stats.firstElementLoc, structure, unit, eI);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
177
185
|
}
|
|
178
186
|
}
|
|
179
187
|
function handleUnitChainsPartitioned(stats, structure, lociElements, start, end) {
|
|
@@ -87,6 +87,7 @@ declare const StructureProperties: {
|
|
|
87
87
|
y: StructureElement.Property<number>;
|
|
88
88
|
z: StructureElement.Property<number>;
|
|
89
89
|
asym_id: StructureElement.Property<string>;
|
|
90
|
+
entity_id: StructureElement.Property<string>;
|
|
90
91
|
seq_id_begin: StructureElement.Property<number>;
|
|
91
92
|
seq_id_end: StructureElement.Property<number>;
|
|
92
93
|
sphere_radius: StructureElement.Property<number>;
|
|
@@ -111,6 +111,7 @@ var coarse = {
|
|
|
111
111
|
y: atom.y,
|
|
112
112
|
z: atom.z,
|
|
113
113
|
asym_id: p(function (l) { return !Unit.isCoarse(l.unit) ? notCoarse() : l.unit.coarseElements.asym_id.value(l.element); }),
|
|
114
|
+
entity_id: p(function (l) { return !Unit.isCoarse(l.unit) ? notCoarse() : l.unit.coarseElements.entity_id.value(l.element); }),
|
|
114
115
|
seq_id_begin: p(function (l) { return !Unit.isCoarse(l.unit) ? notCoarse() : l.unit.coarseElements.seq_id_begin.value(l.element); }),
|
|
115
116
|
seq_id_end: p(function (l) { return !Unit.isCoarse(l.unit) ? notCoarse() : l.unit.coarseElements.seq_id_end.value(l.element); }),
|
|
116
117
|
sphere_radius: p(function (l) { return !Unit.isSpheres(l.unit) ? notCoarse('spheres') : l.unit.coarseConformation.radius[l.element]; }),
|
|
@@ -141,7 +142,7 @@ var entity = {
|
|
|
141
142
|
pdbx_fragment: p(function (l) { return l.unit.model.entities.data.pdbx_fragment.value(eK(l)); }),
|
|
142
143
|
pdbx_ec: p(function (l) { return l.unit.model.entities.data.pdbx_ec.value(eK(l)); }),
|
|
143
144
|
subtype: p(function (l) { return l.unit.model.entities.subtype.value(eK(l)); }),
|
|
144
|
-
prd_id: p(function (l) { return l.unit.model.entities.prd_id.value(eK(l)); }),
|
|
145
|
+
prd_id: p(function (l) { var _a, _b; return (_b = (_a = l.unit.model.entities.prd_id) === null || _a === void 0 ? void 0 : _a.value(eK(l))) !== null && _b !== void 0 ? _b : ''; }),
|
|
145
146
|
};
|
|
146
147
|
var _emptyList = [];
|
|
147
148
|
var unit = {
|
|
@@ -187,8 +187,6 @@ function getOperatorsForRange(symmetry, ijkMin, ijkMax, modelCenter) {
|
|
|
187
187
|
ijkMin[2] <= 0 && ijkMax[2] >= 0) {
|
|
188
188
|
operators[0] = Spacegroup.getSymmetryOperator(spacegroup, 0, 0, 0, 0);
|
|
189
189
|
}
|
|
190
|
-
var toFractional = spacegroup.cell.toFractional;
|
|
191
|
-
var ref = Vec3.transformMat4(Vec3(), modelCenter, toFractional);
|
|
192
190
|
for (var op = 0; op < spacegroup.operators.length; op++) {
|
|
193
191
|
for (var i = ijkMin[0]; i <= ijkMax[0]; i++) {
|
|
194
192
|
for (var j = ijkMin[1]; j <= ijkMax[1]; j++) {
|
|
@@ -196,7 +194,7 @@ function getOperatorsForRange(symmetry, ijkMin, ijkMax, modelCenter) {
|
|
|
196
194
|
// check if we have added identity as the 1st operator.
|
|
197
195
|
if (!ncsCount && op === 0 && i === 0 && j === 0 && k === 0)
|
|
198
196
|
continue;
|
|
199
|
-
operators.push.apply(operators, getOperatorsForIndex(symmetry, op, i, j, k,
|
|
197
|
+
operators.push.apply(operators, getOperatorsForIndex(symmetry, op, i, j, k, modelCenter));
|
|
200
198
|
}
|
|
201
199
|
}
|
|
202
200
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2017-
|
|
2
|
+
* Copyright (c) 2017-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>
|
|
@@ -17,4 +17,5 @@ export declare const MetalsSet: Set<number>;
|
|
|
17
17
|
export declare function getElementIdx(e: ElementSymbol): number;
|
|
18
18
|
export declare function getElementPairThreshold(i: number, j: number): number;
|
|
19
19
|
export declare function getElementThreshold(i: number): number;
|
|
20
|
+
export declare function getPairingThreshold(elementIndexA: number, elementIndexB: number, thresholdA: number, thresholdB: number): number;
|
|
20
21
|
export declare function isHydrogen(i: number): boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2017-
|
|
2
|
+
* Copyright (c) 2017-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>
|
|
@@ -99,6 +99,14 @@ export function getElementThreshold(i) {
|
|
|
99
99
|
return __DefaultBondingRadius;
|
|
100
100
|
return r;
|
|
101
101
|
}
|
|
102
|
+
export function getPairingThreshold(elementIndexA, elementIndexB, thresholdA, thresholdB) {
|
|
103
|
+
var thresholdAB = getElementPairThreshold(elementIndexA, elementIndexB);
|
|
104
|
+
return thresholdAB > 0
|
|
105
|
+
? thresholdAB
|
|
106
|
+
: elementIndexB < 0
|
|
107
|
+
? thresholdA
|
|
108
|
+
: (thresholdA + thresholdB) / 1.95; // not sure if avg or min but max is too big
|
|
109
|
+
}
|
|
102
110
|
var H_ID = __ElementIndex['H'];
|
|
103
111
|
export function isHydrogen(i) {
|
|
104
112
|
return i === H_ID;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2017-
|
|
2
|
+
* Copyright (c) 2017-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>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2017-
|
|
2
|
+
* Copyright (c) 2017-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>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { __assign } from "tslib";
|
|
8
8
|
import { Structure } from '../../structure';
|
|
9
9
|
import { Unit } from '../../unit';
|
|
10
|
-
import { getElementIdx,
|
|
10
|
+
import { getElementIdx, getElementThreshold, isHydrogen, MetalsSet, DefaultBondComputationProps, getPairingThreshold } from './common';
|
|
11
11
|
import { InterUnitBonds } from './data';
|
|
12
12
|
import { SortedArray } from '../../../../../mol-data/int';
|
|
13
13
|
import { Vec3, Mat4 } from '../../../../../mol-math/linear-algebra';
|
|
@@ -67,11 +67,26 @@ function findPairBonds(unitA, unitB, props, builder) {
|
|
|
67
67
|
var _bI = SortedArray.indexOf(unitB.elements, bI);
|
|
68
68
|
if (_bI < 0)
|
|
69
69
|
continue;
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
var aeI_1 = getElementIdx(type_symbolA.value(aI));
|
|
71
|
+
var beI = getElementIdx(type_symbolA.value(bI));
|
|
72
72
|
var d = distance[i];
|
|
73
73
|
var dist = getDistance(unitA, aI, unitB, bI);
|
|
74
|
-
|
|
74
|
+
var add = false;
|
|
75
|
+
if (d >= 0) {
|
|
76
|
+
add = equalEps(dist, d, 0.3);
|
|
77
|
+
}
|
|
78
|
+
else if (maxDistance >= 0) {
|
|
79
|
+
add = dist < maxDistance;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
var pairingThreshold = getPairingThreshold(aeI_1, beI, getElementThreshold(aeI_1), getElementThreshold(beI));
|
|
83
|
+
add = dist < pairingThreshold;
|
|
84
|
+
if (isHydrogen(aeI_1) && isHydrogen(beI)) {
|
|
85
|
+
// TODO handle molecular hydrogen
|
|
86
|
+
add = false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (add) {
|
|
75
90
|
builder.add(_aI, _bI, { order: order[i], flag: flag[i] });
|
|
76
91
|
}
|
|
77
92
|
}
|
|
@@ -135,12 +150,7 @@ function findPairBonds(unitA, unitB, props, builder) {
|
|
|
135
150
|
var dist = Math.sqrt(squaredDistances[ni]);
|
|
136
151
|
if (dist === 0)
|
|
137
152
|
continue;
|
|
138
|
-
var
|
|
139
|
-
var pairingThreshold = thresholdAB > 0
|
|
140
|
-
? thresholdAB
|
|
141
|
-
: beI < 0
|
|
142
|
-
? thresholdA
|
|
143
|
-
: (thresholdA + getElementThreshold(beI)) / 1.95; // not sure if avg or min but max is too big
|
|
153
|
+
var pairingThreshold = getPairingThreshold(aeI, beI, thresholdA, getElementThreshold(beI));
|
|
144
154
|
if (dist <= pairingThreshold) {
|
|
145
155
|
var atomIdB = label_atom_idB.value(bI);
|
|
146
156
|
var compIdB = label_comp_idB.value(residueIndexB[bI]);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2017-
|
|
2
|
+
* Copyright (c) 2017-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>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2017-
|
|
2
|
+
* Copyright (c) 2017-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>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { __assign } from "tslib";
|
|
8
8
|
import { IntraUnitBonds } from './data';
|
|
9
9
|
import { IntAdjacencyGraph } from '../../../../../mol-math/graph';
|
|
10
|
-
import { getElementIdx, MetalsSet, getElementThreshold, isHydrogen,
|
|
10
|
+
import { getElementIdx, MetalsSet, getElementThreshold, isHydrogen, DefaultBondComputationProps, getPairingThreshold } from './common';
|
|
11
11
|
import { SortedArray } from '../../../../../mol-data/int';
|
|
12
12
|
import { getIntraBondOrderFromTable } from '../../../model/properties/atomic/bonds';
|
|
13
13
|
import { IndexPairBonds } from '../../../../../mol-model-formats/structure/property/bonds/index-pair';
|
|
@@ -50,7 +50,8 @@ function findIndexPairBonds(unit) {
|
|
|
50
50
|
var orders = [];
|
|
51
51
|
for (var _aI = 0; _aI < atomCount; _aI++) {
|
|
52
52
|
var aI = atoms[_aI];
|
|
53
|
-
var
|
|
53
|
+
var aeI = getElementIdx(type_symbol.value(aI));
|
|
54
|
+
var isHa = isHydrogen(aeI);
|
|
54
55
|
var srcA = sourceIndex.value(aI);
|
|
55
56
|
for (var i = offset[srcA], il = offset[srcA + 1]; i < il; ++i) {
|
|
56
57
|
var bI = invertedIndex[b[i]];
|
|
@@ -59,11 +60,25 @@ function findIndexPairBonds(unit) {
|
|
|
59
60
|
var _bI = SortedArray.indexOf(unit.elements, bI);
|
|
60
61
|
if (_bI < 0)
|
|
61
62
|
continue;
|
|
62
|
-
|
|
63
|
-
continue;
|
|
63
|
+
var beI = getElementIdx(type_symbol.value(bI));
|
|
64
64
|
var d = distance[i];
|
|
65
65
|
var dist = getDistance(unit, aI, bI);
|
|
66
|
-
|
|
66
|
+
var add = false;
|
|
67
|
+
if (d >= 0) {
|
|
68
|
+
add = equalEps(dist, d, 0.3);
|
|
69
|
+
}
|
|
70
|
+
else if (maxDistance >= 0) {
|
|
71
|
+
add = dist < maxDistance;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
var pairingThreshold = getPairingThreshold(aeI, beI, getElementThreshold(aeI), getElementThreshold(beI));
|
|
75
|
+
add = dist < pairingThreshold;
|
|
76
|
+
if (isHa && isHydrogen(beI)) {
|
|
77
|
+
// TODO handle molecular hydrogen
|
|
78
|
+
add = false;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (add) {
|
|
67
82
|
atomA[atomA.length] = _aI;
|
|
68
83
|
atomB[atomB.length] = _bI;
|
|
69
84
|
orders[orders.length] = order[i];
|
|
@@ -187,12 +202,7 @@ function findBonds(unit, props) {
|
|
|
187
202
|
var dist = Math.sqrt(squaredDistances[ni]);
|
|
188
203
|
if (dist === 0)
|
|
189
204
|
continue;
|
|
190
|
-
var
|
|
191
|
-
var pairingThreshold = thresholdAB > 0
|
|
192
|
-
? thresholdAB
|
|
193
|
-
: beI < 0
|
|
194
|
-
? thresholdA
|
|
195
|
-
: (thresholdA + getElementThreshold(beI)) / 1.95; // not sure if avg or min but max is too big
|
|
205
|
+
var pairingThreshold = getPairingThreshold(aeI, beI, thresholdA, getElementThreshold(beI));
|
|
196
206
|
if (dist <= pairingThreshold) {
|
|
197
207
|
atomA[atomA.length] = _aI;
|
|
198
208
|
atomB[atomB.length] = _bI;
|