molstar 3.8.2 → 3.9.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/build/viewer/index.html +4 -1
- package/build/viewer/molstar.js +1 -1
- package/lib/apps/viewer/app.d.ts +1 -1
- package/lib/apps/viewer/app.js +1 -1
- package/lib/apps/viewer/index.html +4 -1
- package/lib/cli/cif2bcif/converter.js +1 -1
- package/lib/commonjs/apps/viewer/app.d.ts +1 -1
- package/lib/commonjs/apps/viewer/app.js +2 -1
- package/lib/commonjs/cli/cif2bcif/converter.js +1 -1
- package/lib/commonjs/examples/alpha-orbitals/index.d.ts +1 -1
- package/lib/commonjs/examples/alpha-orbitals/index.js +4 -1
- package/lib/commonjs/examples/basic-wrapper/custom-theme.js +1 -1
- package/lib/commonjs/examples/proteopedia-wrapper/coloring.js +3 -3
- package/lib/commonjs/extensions/alpha-orbitals/density.d.ts +1 -1
- package/lib/commonjs/extensions/alpha-orbitals/density.js +6 -2
- package/lib/commonjs/extensions/alpha-orbitals/orbitals.d.ts +1 -1
- package/lib/commonjs/extensions/alpha-orbitals/orbitals.js +6 -3
- package/lib/commonjs/extensions/anvil/algorithm.js +1 -1
- package/lib/commonjs/extensions/cellpack/color/generate.js +1 -1
- package/lib/commonjs/extensions/cellpack/color/provided.js +1 -1
- package/lib/commonjs/extensions/cellpack/state.js +1 -1
- package/lib/commonjs/extensions/dnatco/confal-pyramids/color.js +1 -1
- package/lib/commonjs/extensions/g3d/model.js +1 -1
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
- package/lib/commonjs/extensions/pdbe/structure-quality-report/color.js +1 -1
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/color.js +4 -4
- package/lib/commonjs/extensions/rcsb/validation-report/color/density-fit.js +1 -1
- package/lib/commonjs/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
- package/lib/commonjs/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
- package/lib/commonjs/extensions/rcsb/validation-report/representation.js +2 -2
- package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
- package/lib/commonjs/mol-canvas3d/controls/trackball.js +7 -7
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +14 -14
- package/lib/commonjs/mol-canvas3d/helper/interaction-events.js +5 -5
- package/lib/commonjs/mol-canvas3d/passes/draw.js +34 -5
- package/lib/commonjs/mol-canvas3d/passes/fxaa.js +5 -0
- package/lib/commonjs/mol-canvas3d/passes/marking.js +5 -0
- package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +9 -0
- package/lib/commonjs/mol-canvas3d/passes/pick.d.ts +18 -5
- package/lib/commonjs/mol-canvas3d/passes/pick.js +125 -24
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +5 -0
- package/lib/commonjs/mol-canvas3d/passes/smaa.js +4 -0
- package/lib/commonjs/mol-canvas3d/passes/wboit.js +4 -0
- package/lib/commonjs/mol-data/db/column.js +5 -5
- package/lib/commonjs/mol-data/db/table.js +2 -2
- package/lib/commonjs/mol-data/util/array.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
- package/lib/commonjs/mol-gl/compute/grid3d.d.ts +2 -2
- package/lib/commonjs/mol-gl/compute/grid3d.js +30 -8
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +6 -1
- package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
- package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
- package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
- package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -10
- package/lib/commonjs/mol-gl/renderer.js +77 -32
- package/lib/commonjs/mol-gl/scene.js +2 -0
- package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/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/image.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/lines.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/lines.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/points.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/points.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/text.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/text.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader-code.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader-code.js +41 -9
- package/lib/commonjs/mol-gl/webgl/compat.d.ts +34 -1
- package/lib/commonjs/mol-gl/webgl/compat.js +50 -2
- package/lib/commonjs/mol-gl/webgl/context.d.ts +2 -0
- package/lib/commonjs/mol-gl/webgl/context.js +3 -0
- package/lib/commonjs/mol-gl/webgl/extensions.d.ts +3 -2
- package/lib/commonjs/mol-gl/webgl/extensions.js +6 -1
- package/lib/commonjs/mol-gl/webgl/timer.d.ts +22 -0
- package/lib/commonjs/mol-gl/webgl/timer.js +169 -0
- package/lib/commonjs/mol-io/common/binary-cif/array-encoder.js +18 -18
- package/lib/commonjs/mol-io/common/binary-cif/decoder.js +16 -16
- package/lib/commonjs/mol-io/common/binary-cif/encoding.js +9 -9
- package/lib/commonjs/mol-io/reader/cif/binary/field.js +3 -3
- package/lib/commonjs/mol-io/reader/cif/data-model.js +14 -14
- package/lib/commonjs/mol-io/reader/cif/schema.js +1 -1
- package/lib/commonjs/mol-io/reader/cif/text/parser.js +23 -23
- package/lib/commonjs/mol-io/reader/common/text/column/fixed.js +1 -1
- package/lib/commonjs/mol-io/reader/common/text/column/token.js +1 -1
- package/lib/commonjs/mol-io/reader/common/text/number-parser.js +6 -6
- package/lib/commonjs/mol-io/reader/csv/parser.js +8 -8
- package/lib/commonjs/mol-io/writer/cif/encoder/binary.js +10 -10
- package/lib/commonjs/mol-io/writer/cif/encoder/text.js +7 -7
- package/lib/commonjs/mol-io/writer/cif/encoder.js +8 -8
- package/lib/commonjs/mol-io/writer/mol2/encoder.js +4 -4
- package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +13 -2
- package/lib/commonjs/mol-model/sequence/alignment/sequence.js +3 -3
- package/lib/commonjs/mol-model/sequence/sequence.js +9 -9
- package/lib/commonjs/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
- package/lib/commonjs/mol-model/structure/export/categories/secondary-structure.js +2 -2
- package/lib/commonjs/mol-model/structure/export/categories/utils.js +1 -1
- package/lib/commonjs/mol-model/structure/model/model.js +2 -2
- package/lib/commonjs/mol-model/structure/model/properties/custom/indexed.js +6 -6
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
- package/lib/commonjs/mol-model/structure/model/types.js +116 -116
- package/lib/commonjs/mol-model/structure/query/context.js +1 -1
- package/lib/commonjs/mol-model/structure/query/queries/generators.js +5 -5
- package/lib/commonjs/mol-model/structure/query/queries/internal.js +4 -4
- package/lib/commonjs/mol-model/structure/query/queries/modifiers.js +4 -4
- package/lib/commonjs/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
- package/lib/commonjs/mol-model/structure/query/utils/structure-distance.js +9 -9
- package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.js +106 -106
- package/lib/commonjs/mol-model/structure/structure/element/loci.js +5 -5
- package/lib/commonjs/mol-model/structure/structure/element/stats.js +5 -5
- package/lib/commonjs/mol-model/structure/structure/properties.js +5 -5
- package/lib/commonjs/mol-model/structure/structure/structure.js +11 -11
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
- package/lib/commonjs/mol-model/structure/structure/unit/bonds.js +2 -2
- package/lib/commonjs/mol-model/structure/structure/unit/resonance.js +1 -1
- package/lib/commonjs/mol-model/structure/structure/unit/rings/compute.js +6 -6
- package/lib/commonjs/mol-model/structure/structure/unit/rings.js +6 -6
- package/lib/commonjs/mol-model/structure/structure/unit.js +16 -16
- package/lib/commonjs/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
- package/lib/commonjs/mol-model/structure/util.js +4 -4
- package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +2 -2
- package/lib/commonjs/mol-model-formats/structure/basic/parser.js +4 -4
- package/lib/commonjs/mol-model-formats/structure/basic/properties.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/basic/sort.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/basic/util.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/cif-core.js +6 -6
- package/lib/commonjs/mol-model-formats/structure/common/entity.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/cube.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/gro.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/mol.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/mol2.js +4 -4
- package/lib/commonjs/mol-model-formats/structure/prmtop.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
- package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
- package/lib/commonjs/mol-model-formats/structure/property/secondary-structure.js +8 -8
- package/lib/commonjs/mol-model-formats/structure/psf.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/top.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/xyz.js +1 -1
- package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
- package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
- package/lib/commonjs/mol-model-props/computed/accessible-surface-area.js +2 -2
- package/lib/commonjs/mol-model-props/computed/chemistry/functional-group.js +31 -31
- package/lib/commonjs/mol-model-props/computed/chemistry/geometry.js +22 -22
- package/lib/commonjs/mol-model-props/computed/chemistry/valence-model.js +32 -32
- package/lib/commonjs/mol-model-props/computed/interactions/charged.js +39 -39
- package/lib/commonjs/mol-model-props/computed/interactions/common.js +34 -34
- package/lib/commonjs/mol-model-props/computed/interactions/contacts-builder.js +1 -1
- package/lib/commonjs/mol-model-props/computed/interactions/contacts.js +1 -1
- package/lib/commonjs/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
- package/lib/commonjs/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
- package/lib/commonjs/mol-model-props/computed/interactions/hydrophobic.js +9 -9
- package/lib/commonjs/mol-model-props/computed/interactions/metal.js +26 -26
- package/lib/commonjs/mol-model-props/computed/interactions/refine.js +20 -20
- package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
- package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp.js +30 -30
- package/lib/commonjs/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
- package/lib/commonjs/mol-model-props/computed/themes/interaction-type.js +10 -10
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
- package/lib/commonjs/mol-model-props/sequence/sifts-mapping.js +1 -1
- package/lib/commonjs/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
- package/lib/commonjs/mol-plugin/animation-loop.d.ts +2 -1
- package/lib/commonjs/mol-plugin/animation-loop.js +18 -5
- package/lib/commonjs/mol-plugin/behavior/dynamic/camera.js +12 -12
- package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +7 -7
- package/lib/commonjs/mol-plugin/context.d.ts +2 -2
- package/lib/commonjs/mol-plugin/state.d.ts +1 -14
- package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +12 -11
- package/lib/commonjs/mol-plugin-state/formats/volume.js +20 -13
- package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +5 -5
- package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
- package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +1 -1
- package/lib/commonjs/mol-plugin-ui/sequence/polymer.js +1 -1
- package/lib/commonjs/mol-plugin-ui/sequence/sequence.js +1 -1
- package/lib/commonjs/mol-plugin-ui/structure/focus.js +1 -1
- package/lib/commonjs/mol-plugin-ui/viewport.d.ts +2 -2
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -12
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +12 -12
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
- package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
- package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/util/bond.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/util/common.js +3 -3
- package/lib/commonjs/mol-repr/structure/visual/util/link.js +30 -30
- package/lib/commonjs/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
- package/lib/commonjs/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
- package/lib/commonjs/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
- package/lib/commonjs/mol-repr/structure/visual/util/polymer.js +6 -6
- package/lib/commonjs/mol-script/language/symbol-table/core.d.ts +2 -2
- package/lib/commonjs/mol-script/runtime/query/table.js +13 -13
- package/lib/commonjs/mol-state/object.d.ts +3 -3
- package/lib/commonjs/mol-task/util/user-timing.js +1 -1
- package/lib/commonjs/mol-theme/clipping.js +19 -19
- package/lib/commonjs/mol-theme/color/atom-id.js +1 -1
- package/lib/commonjs/mol-theme/color/carbohydrate-symbol.js +1 -1
- package/lib/commonjs/mol-theme/color/chain-id.js +4 -4
- package/lib/commonjs/mol-theme/color/element-index.js +1 -1
- package/lib/commonjs/mol-theme/color/element-symbol.js +1 -1
- package/lib/commonjs/mol-theme/color/entity-id.js +4 -4
- package/lib/commonjs/mol-theme/color/entity-source.js +5 -4
- package/lib/commonjs/mol-theme/color/hydrophobicity.js +1 -1
- package/lib/commonjs/mol-theme/color/illustrative.js +1 -1
- package/lib/commonjs/mol-theme/color/model-index.js +1 -1
- package/lib/commonjs/mol-theme/color/molecule-type.js +8 -8
- package/lib/commonjs/mol-theme/color/occupancy.js +1 -1
- package/lib/commonjs/mol-theme/color/operator-hkl.js +1 -1
- package/lib/commonjs/mol-theme/color/operator-name.js +1 -1
- package/lib/commonjs/mol-theme/color/partial-charge.js +1 -1
- package/lib/commonjs/mol-theme/color/polymer-id.js +4 -4
- package/lib/commonjs/mol-theme/color/polymer-index.js +1 -1
- package/lib/commonjs/mol-theme/color/residue-name.js +1 -1
- package/lib/commonjs/mol-theme/color/secondary-structure.js +12 -12
- package/lib/commonjs/mol-theme/color/sequence-id.js +7 -7
- package/lib/commonjs/mol-theme/color/shape-group.js +1 -1
- package/lib/commonjs/mol-theme/color/uncertainty.js +1 -1
- package/lib/commonjs/mol-theme/color/uniform.js +1 -1
- package/lib/commonjs/mol-theme/color/unit-index.js +1 -1
- package/lib/commonjs/mol-theme/color/volume-value.js +1 -1
- package/lib/commonjs/mol-theme/label.js +3 -3
- package/lib/commonjs/mol-util/binding.js +4 -4
- package/lib/commonjs/mol-util/debug.d.ts +6 -1
- package/lib/commonjs/mol-util/debug.js +11 -1
- package/lib/commonjs/mol-util/input/input-observer.js +20 -20
- package/lib/commonjs/mol-util/string-builder.js +1 -1
- package/lib/commonjs/servers/model/preprocess/converter.js +1 -1
- package/lib/commonjs/servers/model/server/query.js +1 -1
- package/lib/commonjs/servers/model/utils/fetch-retry.js +3 -2
- package/lib/commonjs/servers/volume/server/algebra/coordinate.js +6 -6
- package/lib/commonjs/servers/volume/server/query/encode.js +1 -1
- package/lib/examples/alpha-orbitals/index.d.ts +1 -1
- package/lib/examples/alpha-orbitals/index.html +11 -0
- package/lib/examples/alpha-orbitals/index.js +4 -1
- package/lib/examples/basic-wrapper/custom-theme.js +1 -1
- package/lib/examples/proteopedia-wrapper/coloring.js +3 -3
- package/lib/extensions/alpha-orbitals/density.d.ts +1 -1
- package/lib/extensions/alpha-orbitals/density.js +6 -2
- package/lib/extensions/alpha-orbitals/orbitals.d.ts +1 -1
- package/lib/extensions/alpha-orbitals/orbitals.js +6 -3
- package/lib/extensions/anvil/algorithm.js +1 -1
- package/lib/extensions/cellpack/color/generate.js +1 -1
- package/lib/extensions/cellpack/color/provided.js +1 -1
- package/lib/extensions/cellpack/state.js +1 -1
- package/lib/extensions/dnatco/confal-pyramids/color.js +1 -1
- package/lib/extensions/g3d/model.js +1 -1
- package/lib/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
- package/lib/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
- package/lib/extensions/pdbe/structure-quality-report/color.js +1 -1
- package/lib/extensions/rcsb/assembly-symmetry/color.js +4 -4
- package/lib/extensions/rcsb/validation-report/color/density-fit.js +1 -1
- package/lib/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
- package/lib/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
- package/lib/extensions/rcsb/validation-report/representation.js +2 -2
- package/lib/mol-canvas3d/canvas3d.js +5 -1
- package/lib/mol-canvas3d/controls/trackball.js +7 -7
- package/lib/mol-canvas3d/helper/camera-helper.js +14 -14
- package/lib/mol-canvas3d/helper/interaction-events.js +5 -5
- package/lib/mol-canvas3d/passes/draw.js +34 -5
- package/lib/mol-canvas3d/passes/fxaa.js +5 -0
- package/lib/mol-canvas3d/passes/marking.js +5 -0
- package/lib/mol-canvas3d/passes/multi-sample.js +9 -0
- package/lib/mol-canvas3d/passes/pick.d.ts +18 -5
- package/lib/mol-canvas3d/passes/pick.js +125 -24
- package/lib/mol-canvas3d/passes/postprocessing.js +5 -0
- package/lib/mol-canvas3d/passes/smaa.js +5 -1
- package/lib/mol-canvas3d/passes/wboit.js +5 -1
- package/lib/mol-data/db/column.js +5 -5
- package/lib/mol-data/db/table.js +2 -2
- package/lib/mol-data/util/array.d.ts +1 -1
- package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
- package/lib/mol-gl/compute/grid3d.d.ts +2 -2
- package/lib/mol-gl/compute/grid3d.js +30 -8
- package/lib/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
- package/lib/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
- package/lib/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
- package/lib/mol-gl/compute/histogram-pyramid/sum.js +6 -1
- package/lib/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
- package/lib/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
- package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
- package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -10
- package/lib/mol-gl/renderer.js +77 -32
- package/lib/mol-gl/scene.js +2 -0
- package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
- package/lib/mol-gl/shader/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/image.frag.d.ts +1 -1
- package/lib/mol-gl/shader/image.frag.js +1 -1
- package/lib/mol-gl/shader/lines.frag.d.ts +1 -1
- package/lib/mol-gl/shader/lines.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/points.frag.d.ts +1 -1
- package/lib/mol-gl/shader/points.frag.js +1 -1
- package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
- package/lib/mol-gl/shader/spheres.frag.js +1 -1
- package/lib/mol-gl/shader/text.frag.d.ts +1 -1
- package/lib/mol-gl/shader/text.frag.js +1 -1
- package/lib/mol-gl/shader-code.d.ts +1 -1
- package/lib/mol-gl/shader-code.js +41 -9
- package/lib/mol-gl/webgl/compat.d.ts +34 -1
- package/lib/mol-gl/webgl/compat.js +48 -1
- package/lib/mol-gl/webgl/context.d.ts +2 -0
- package/lib/mol-gl/webgl/context.js +3 -0
- package/lib/mol-gl/webgl/extensions.d.ts +3 -2
- package/lib/mol-gl/webgl/extensions.js +7 -2
- package/lib/mol-gl/webgl/timer.d.ts +22 -0
- package/lib/mol-gl/webgl/timer.js +164 -0
- package/lib/mol-io/common/binary-cif/array-encoder.js +18 -18
- package/lib/mol-io/common/binary-cif/decoder.js +16 -16
- package/lib/mol-io/common/binary-cif/encoding.js +9 -9
- package/lib/mol-io/reader/cif/binary/field.js +3 -3
- package/lib/mol-io/reader/cif/data-model.js +14 -14
- package/lib/mol-io/reader/cif/schema.js +1 -1
- package/lib/mol-io/reader/cif/text/parser.js +23 -23
- package/lib/mol-io/reader/common/text/column/fixed.js +1 -1
- package/lib/mol-io/reader/common/text/column/token.js +1 -1
- package/lib/mol-io/reader/common/text/number-parser.js +6 -6
- package/lib/mol-io/reader/csv/parser.js +8 -8
- package/lib/mol-io/writer/cif/encoder/binary.js +10 -10
- package/lib/mol-io/writer/cif/encoder/text.js +7 -7
- package/lib/mol-io/writer/cif/encoder.js +8 -8
- package/lib/mol-io/writer/mol2/encoder.js +4 -4
- package/lib/mol-math/geometry/gaussian-density/gpu.js +13 -2
- package/lib/mol-model/sequence/alignment/sequence.js +3 -3
- package/lib/mol-model/sequence/sequence.js +9 -9
- package/lib/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
- package/lib/mol-model/structure/export/categories/secondary-structure.js +2 -2
- package/lib/mol-model/structure/export/categories/utils.js +1 -1
- package/lib/mol-model/structure/model/model.js +2 -2
- package/lib/mol-model/structure/model/properties/custom/indexed.js +6 -6
- package/lib/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
- package/lib/mol-model/structure/model/types.js +116 -116
- package/lib/mol-model/structure/query/context.js +1 -1
- package/lib/mol-model/structure/query/queries/generators.js +5 -5
- package/lib/mol-model/structure/query/queries/internal.js +4 -4
- package/lib/mol-model/structure/query/queries/modifiers.js +4 -4
- package/lib/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
- package/lib/mol-model/structure/query/utils/structure-distance.js +9 -9
- package/lib/mol-model/structure/structure/carbohydrates/constants.js +106 -106
- package/lib/mol-model/structure/structure/element/loci.js +5 -5
- package/lib/mol-model/structure/structure/element/stats.js +5 -5
- package/lib/mol-model/structure/structure/properties.js +5 -5
- package/lib/mol-model/structure/structure/structure.js +11 -11
- package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
- package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
- package/lib/mol-model/structure/structure/unit/bonds.js +2 -2
- package/lib/mol-model/structure/structure/unit/resonance.js +1 -1
- package/lib/mol-model/structure/structure/unit/rings/compute.js +6 -6
- package/lib/mol-model/structure/structure/unit/rings.js +6 -6
- package/lib/mol-model/structure/structure/unit.js +16 -16
- package/lib/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
- package/lib/mol-model/structure/util.js +4 -4
- package/lib/mol-model-formats/structure/basic/atomic.js +2 -2
- package/lib/mol-model-formats/structure/basic/parser.js +4 -4
- package/lib/mol-model-formats/structure/basic/properties.js +1 -1
- package/lib/mol-model-formats/structure/basic/sort.js +1 -1
- package/lib/mol-model-formats/structure/basic/util.js +1 -1
- package/lib/mol-model-formats/structure/cif-core.js +6 -6
- package/lib/mol-model-formats/structure/common/entity.js +1 -1
- package/lib/mol-model-formats/structure/cube.js +1 -1
- package/lib/mol-model-formats/structure/gro.js +1 -1
- package/lib/mol-model-formats/structure/mol.js +1 -1
- package/lib/mol-model-formats/structure/mol2.js +4 -4
- package/lib/mol-model-formats/structure/prmtop.js +1 -1
- package/lib/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
- package/lib/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
- package/lib/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
- package/lib/mol-model-formats/structure/property/secondary-structure.js +8 -8
- package/lib/mol-model-formats/structure/psf.js +1 -1
- package/lib/mol-model-formats/structure/top.js +1 -1
- package/lib/mol-model-formats/structure/xyz.js +1 -1
- package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
- package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
- package/lib/mol-model-props/computed/accessible-surface-area.js +2 -2
- package/lib/mol-model-props/computed/chemistry/functional-group.js +31 -31
- package/lib/mol-model-props/computed/chemistry/geometry.js +22 -22
- package/lib/mol-model-props/computed/chemistry/valence-model.js +32 -32
- package/lib/mol-model-props/computed/interactions/charged.js +39 -39
- package/lib/mol-model-props/computed/interactions/common.js +34 -34
- package/lib/mol-model-props/computed/interactions/contacts-builder.js +1 -1
- package/lib/mol-model-props/computed/interactions/contacts.js +1 -1
- package/lib/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
- package/lib/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
- package/lib/mol-model-props/computed/interactions/hydrophobic.js +9 -9
- package/lib/mol-model-props/computed/interactions/metal.js +26 -26
- package/lib/mol-model-props/computed/interactions/refine.js +20 -20
- package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
- package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
- package/lib/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
- package/lib/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
- package/lib/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
- package/lib/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
- package/lib/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
- package/lib/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
- package/lib/mol-model-props/computed/secondary-structure/dssp.js +30 -30
- package/lib/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
- package/lib/mol-model-props/computed/themes/interaction-type.js +10 -10
- package/lib/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
- package/lib/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
- package/lib/mol-model-props/sequence/sifts-mapping.js +1 -1
- package/lib/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
- package/lib/mol-plugin/animation-loop.d.ts +2 -1
- package/lib/mol-plugin/animation-loop.js +18 -5
- package/lib/mol-plugin/behavior/dynamic/camera.js +12 -12
- package/lib/mol-plugin/behavior/dynamic/representation.js +7 -7
- package/lib/mol-plugin/context.d.ts +2 -2
- package/lib/mol-plugin/state.d.ts +1 -14
- package/lib/mol-plugin/version.js +2 -2
- package/lib/mol-plugin-state/formats/volume.d.ts +12 -11
- package/lib/mol-plugin-state/formats/volume.js +20 -13
- package/lib/mol-plugin-state/helpers/structure-selection-query.js +5 -5
- package/lib/mol-plugin-state/transforms/representation.js +2 -2
- package/lib/mol-plugin-ui/controls/parameters.d.ts +1 -1
- package/lib/mol-plugin-ui/sequence/polymer.js +1 -1
- package/lib/mol-plugin-ui/sequence/sequence.js +1 -1
- package/lib/mol-plugin-ui/structure/focus.js +1 -1
- package/lib/mol-plugin-ui/viewport.d.ts +2 -2
- package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
- package/lib/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -12
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +12 -12
- package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
- package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
- package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
- package/lib/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
- package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
- package/lib/mol-repr/structure/visual/util/bond.js +2 -2
- package/lib/mol-repr/structure/visual/util/common.js +3 -3
- package/lib/mol-repr/structure/visual/util/link.js +30 -30
- package/lib/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
- package/lib/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
- package/lib/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
- package/lib/mol-repr/structure/visual/util/polymer.js +6 -6
- package/lib/mol-script/language/symbol-table/core.d.ts +2 -2
- package/lib/mol-script/runtime/query/table.js +13 -13
- package/lib/mol-state/object.d.ts +3 -3
- package/lib/mol-task/util/user-timing.js +1 -1
- package/lib/mol-theme/clipping.js +19 -19
- package/lib/mol-theme/color/atom-id.js +1 -1
- package/lib/mol-theme/color/carbohydrate-symbol.js +1 -1
- package/lib/mol-theme/color/chain-id.js +4 -4
- package/lib/mol-theme/color/element-index.js +1 -1
- package/lib/mol-theme/color/element-symbol.js +1 -1
- package/lib/mol-theme/color/entity-id.js +4 -4
- package/lib/mol-theme/color/entity-source.js +5 -4
- package/lib/mol-theme/color/hydrophobicity.js +1 -1
- package/lib/mol-theme/color/illustrative.js +1 -1
- package/lib/mol-theme/color/model-index.js +1 -1
- package/lib/mol-theme/color/molecule-type.js +8 -8
- package/lib/mol-theme/color/occupancy.js +1 -1
- package/lib/mol-theme/color/operator-hkl.js +1 -1
- package/lib/mol-theme/color/operator-name.js +1 -1
- package/lib/mol-theme/color/partial-charge.js +1 -1
- package/lib/mol-theme/color/polymer-id.js +4 -4
- package/lib/mol-theme/color/polymer-index.js +1 -1
- package/lib/mol-theme/color/residue-name.js +1 -1
- package/lib/mol-theme/color/secondary-structure.js +12 -12
- package/lib/mol-theme/color/sequence-id.js +7 -7
- package/lib/mol-theme/color/shape-group.js +1 -1
- package/lib/mol-theme/color/uncertainty.js +1 -1
- package/lib/mol-theme/color/uniform.js +1 -1
- package/lib/mol-theme/color/unit-index.js +1 -1
- package/lib/mol-theme/color/volume-value.js +1 -1
- package/lib/mol-theme/label.js +3 -3
- package/lib/mol-util/binding.js +4 -4
- package/lib/mol-util/debug.d.ts +6 -1
- package/lib/mol-util/debug.js +9 -1
- package/lib/mol-util/input/input-observer.js +20 -20
- package/lib/mol-util/string-builder.js +1 -1
- package/lib/servers/model/preprocess/converter.js +1 -1
- package/lib/servers/model/server/query.js +1 -1
- package/lib/servers/model/utils/fetch-retry.js +3 -2
- package/lib/servers/volume/server/algebra/coordinate.js +6 -6
- package/lib/servers/volume/server/query/encode.js +1 -1
- package/package.json +8 -8
|
@@ -55,36 +55,36 @@ function addUnitPositiveCharges(structure, unit, builder) {
|
|
|
55
55
|
if (PositvelyCharged.includes(compId)) {
|
|
56
56
|
builder.startState();
|
|
57
57
|
for (var j = start; j < end; ++j) {
|
|
58
|
-
if ((0, util_1.typeSymbol)(unit, j) === "N" /* N */ && !types_1.ProteinBackboneAtoms.has((0, util_1.atomId)(unit, j))) {
|
|
58
|
+
if ((0, util_1.typeSymbol)(unit, j) === "N" /* Elements.N */ && !types_1.ProteinBackboneAtoms.has((0, util_1.atomId)(unit, j))) {
|
|
59
59
|
builder.pushMember(x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
builder.finishState(1 /* PositiveCharge */, 0 /* None */);
|
|
62
|
+
builder.finishState(1 /* FeatureType.PositiveCharge */, 0 /* FeatureGroup.None */);
|
|
63
63
|
}
|
|
64
64
|
else if (!types_1.PolymerNames.has(compId)) {
|
|
65
65
|
addedElements.clear();
|
|
66
66
|
for (var j = start; j < end; ++j) {
|
|
67
|
-
var group = 0 /* None */;
|
|
67
|
+
var group = 0 /* FeatureGroup.None */;
|
|
68
68
|
if ((0, functional_group_1.isGuanidine)(structure, unit, j)) {
|
|
69
|
-
group = 8 /* Guanidine */;
|
|
69
|
+
group = 8 /* FeatureGroup.Guanidine */;
|
|
70
70
|
}
|
|
71
71
|
else if ((0, functional_group_1.isAcetamidine)(structure, unit, j)) {
|
|
72
|
-
group = 9 /* Acetamidine */;
|
|
72
|
+
group = 9 /* FeatureGroup.Acetamidine */;
|
|
73
73
|
}
|
|
74
74
|
if (group) {
|
|
75
75
|
builder.startState();
|
|
76
76
|
(0, util_1.eachBondedAtom)(structure, unit, j, function (_, k) {
|
|
77
|
-
if ((0, util_1.typeSymbol)(unit, k) === "N" /* N */) {
|
|
77
|
+
if ((0, util_1.typeSymbol)(unit, k) === "N" /* Elements.N */) {
|
|
78
78
|
addedElements.add(k);
|
|
79
79
|
builder.pushMember(x[elements[k]], y[elements[k]], z[elements[k]], k);
|
|
80
80
|
}
|
|
81
81
|
});
|
|
82
|
-
builder.finishState(1 /* PositiveCharge */, group);
|
|
82
|
+
builder.finishState(1 /* FeatureType.PositiveCharge */, group);
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
for (var j = start; j < end; ++j) {
|
|
86
86
|
if (charge[j] > 0 && !addedElements.has(j)) {
|
|
87
|
-
builder.add(1 /* PositiveCharge */, 0 /* None */, x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
87
|
+
builder.add(1 /* FeatureType.PositiveCharge */, 0 /* FeatureGroup.None */, x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
@@ -103,59 +103,59 @@ function addUnitNegativeCharges(structure, unit, builder) {
|
|
|
103
103
|
if (NegativelyCharged.includes(compId)) {
|
|
104
104
|
builder.startState();
|
|
105
105
|
for (var j = start; j < end; ++j) {
|
|
106
|
-
if ((0, util_1.typeSymbol)(unit, j) === "O" /* O */ && !types_1.ProteinBackboneAtoms.has((0, util_1.atomId)(unit, j))) {
|
|
106
|
+
if ((0, util_1.typeSymbol)(unit, j) === "O" /* Elements.O */ && !types_1.ProteinBackboneAtoms.has((0, util_1.atomId)(unit, j))) {
|
|
107
107
|
builder.pushMember(x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
-
builder.finishState(2 /* NegativeCharge */, 0 /* None */);
|
|
110
|
+
builder.finishState(2 /* FeatureType.NegativeCharge */, 0 /* FeatureGroup.None */);
|
|
111
111
|
}
|
|
112
112
|
else if (types_1.BaseNames.has(compId)) {
|
|
113
113
|
for (var j = start; j < end; ++j) {
|
|
114
114
|
if ((0, functional_group_1.isPhosphate)(structure, unit, j)) {
|
|
115
115
|
builder.startState();
|
|
116
116
|
(0, util_1.eachBondedAtom)(structure, unit, j, function (_, k) {
|
|
117
|
-
if ((0, util_1.typeSymbol)(unit, k) === "O" /* O */) {
|
|
117
|
+
if ((0, util_1.typeSymbol)(unit, k) === "O" /* Elements.O */) {
|
|
118
118
|
builder.pushMember(x[elements[k]], y[elements[k]], z[elements[k]], k);
|
|
119
119
|
}
|
|
120
120
|
});
|
|
121
|
-
builder.finishState(2 /* NegativeCharge */, 6 /* Phosphate */);
|
|
121
|
+
builder.finishState(2 /* FeatureType.NegativeCharge */, 6 /* FeatureGroup.Phosphate */);
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
else if (!types_1.PolymerNames.has(compId)) {
|
|
126
126
|
for (var j = start; j < end; ++j) {
|
|
127
127
|
builder.startState();
|
|
128
|
-
if ((0, util_1.typeSymbol)(unit, j) === "N" /* N */ && !types_1.ProteinBackboneAtoms.has((0, util_1.atomId)(unit, j))) {
|
|
128
|
+
if ((0, util_1.typeSymbol)(unit, j) === "N" /* Elements.N */ && !types_1.ProteinBackboneAtoms.has((0, util_1.atomId)(unit, j))) {
|
|
129
129
|
builder.pushMember(x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
130
130
|
}
|
|
131
|
-
builder.finishState(2 /* NegativeCharge */, 0 /* None */);
|
|
132
|
-
var group = 0 /* None */;
|
|
131
|
+
builder.finishState(2 /* FeatureType.NegativeCharge */, 0 /* FeatureGroup.None */);
|
|
132
|
+
var group = 0 /* FeatureGroup.None */;
|
|
133
133
|
if ((0, functional_group_1.isSulfonicAcid)(structure, unit, j)) {
|
|
134
|
-
group = 4 /* SulfonicAcid */;
|
|
134
|
+
group = 4 /* FeatureGroup.SulfonicAcid */;
|
|
135
135
|
}
|
|
136
136
|
else if ((0, functional_group_1.isPhosphate)(structure, unit, j)) {
|
|
137
|
-
group = 6 /* Phosphate */;
|
|
137
|
+
group = 6 /* FeatureGroup.Phosphate */;
|
|
138
138
|
}
|
|
139
139
|
else if ((0, functional_group_1.isSulfate)(structure, unit, j)) {
|
|
140
|
-
group = 5 /* Sulfate */;
|
|
140
|
+
group = 5 /* FeatureGroup.Sulfate */;
|
|
141
141
|
}
|
|
142
142
|
else if ((0, functional_group_1.isCarboxylate)(structure, unit, j)) {
|
|
143
|
-
group = 10 /* Carboxylate */;
|
|
143
|
+
group = 10 /* FeatureGroup.Carboxylate */;
|
|
144
144
|
}
|
|
145
145
|
if (group) {
|
|
146
146
|
builder.startState();
|
|
147
147
|
(0, util_1.eachBondedAtom)(structure, unit, j, function (_, k) {
|
|
148
|
-
if ((0, util_1.typeSymbol)(unit, k) === "O" /* O */) {
|
|
148
|
+
if ((0, util_1.typeSymbol)(unit, k) === "O" /* Elements.O */) {
|
|
149
149
|
addedElements.add(k);
|
|
150
150
|
builder.pushMember(x[elements[k]], y[elements[k]], z[elements[k]], k);
|
|
151
151
|
}
|
|
152
152
|
});
|
|
153
|
-
builder.finishState(2 /* NegativeCharge */, group);
|
|
153
|
+
builder.finishState(2 /* FeatureType.NegativeCharge */, group);
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
for (var j = start; j < end; ++j) {
|
|
157
157
|
if (charge[j] < 0 && !addedElements.has(j)) {
|
|
158
|
-
builder.add(2 /* NegativeCharge */, 0 /* None */, x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
158
|
+
builder.add(2 /* FeatureType.NegativeCharge */, 0 /* FeatureGroup.None */, x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
}
|
|
@@ -172,19 +172,19 @@ function addUnitAromaticRings(structure, unit, builder) {
|
|
|
172
172
|
var j = ring[i];
|
|
173
173
|
builder.pushMember(x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
174
174
|
}
|
|
175
|
-
builder.finishState(3 /* AromaticRing */, 0 /* None */);
|
|
175
|
+
builder.finishState(3 /* FeatureType.AromaticRing */, 0 /* FeatureGroup.None */);
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
function isIonic(ti, tj) {
|
|
179
|
-
return ((ti === 2 /* NegativeCharge */ && tj === 1 /* PositiveCharge */) ||
|
|
180
|
-
(ti === 1 /* PositiveCharge */ && tj === 2 /* NegativeCharge */));
|
|
179
|
+
return ((ti === 2 /* FeatureType.NegativeCharge */ && tj === 1 /* FeatureType.PositiveCharge */) ||
|
|
180
|
+
(ti === 1 /* FeatureType.PositiveCharge */ && tj === 2 /* FeatureType.NegativeCharge */));
|
|
181
181
|
}
|
|
182
182
|
function isPiStacking(ti, tj) {
|
|
183
|
-
return ti === 3 /* AromaticRing */ && tj === 3 /* AromaticRing */;
|
|
183
|
+
return ti === 3 /* FeatureType.AromaticRing */ && tj === 3 /* FeatureType.AromaticRing */;
|
|
184
184
|
}
|
|
185
185
|
function isCationPi(ti, tj) {
|
|
186
|
-
return ((ti === 3 /* AromaticRing */ && tj === 1 /* PositiveCharge */) ||
|
|
187
|
-
(ti === 1 /* PositiveCharge */ && tj === 3 /* AromaticRing */));
|
|
186
|
+
return ((ti === 3 /* FeatureType.AromaticRing */ && tj === 1 /* FeatureType.PositiveCharge */) ||
|
|
187
|
+
(ti === 1 /* FeatureType.PositiveCharge */ && tj === 3 /* FeatureType.AromaticRing */));
|
|
188
188
|
}
|
|
189
189
|
var tmpPointA = (0, linear_algebra_1.Vec3)();
|
|
190
190
|
var tmpPointB = (0, linear_algebra_1.Vec3)();
|
|
@@ -249,7 +249,7 @@ function testIonic(structure, infoA, infoB, distanceSq, opts) {
|
|
|
249
249
|
var typeB = infoB.types[infoB.feature];
|
|
250
250
|
if (isIonic(typeA, typeB)) {
|
|
251
251
|
if (areFeaturesWithinDistanceSq(infoA, infoB, opts.distanceMaxSq)) {
|
|
252
|
-
return 1 /* Ionic */;
|
|
252
|
+
return 1 /* InteractionType.Ionic */;
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
255
|
}
|
|
@@ -263,10 +263,10 @@ function testPiStacking(structure, infoA, infoB, distanceSq, opts) {
|
|
|
263
263
|
var offset = Math.min(getOffset(infoA, infoB, tmpNormalB), getOffset(infoB, infoA, tmpNormalA));
|
|
264
264
|
if (offset <= opts.offsetMax) {
|
|
265
265
|
if (angle <= opts.angleDevMax || angle >= deg180InRad - opts.angleDevMax) {
|
|
266
|
-
return 3 /* PiStacking */; // parallel
|
|
266
|
+
return 3 /* InteractionType.PiStacking */; // parallel
|
|
267
267
|
}
|
|
268
268
|
else if (angle <= opts.angleDevMax + deg90InRad && angle >= deg90InRad - opts.angleDevMax) {
|
|
269
|
-
return 3 /* PiStacking */; // t-shaped
|
|
269
|
+
return 3 /* InteractionType.PiStacking */; // t-shaped
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
272
|
}
|
|
@@ -275,18 +275,18 @@ function testCationPi(structure, infoA, infoB, distanceSq, opts) {
|
|
|
275
275
|
var typeA = infoA.types[infoA.feature];
|
|
276
276
|
var typeB = infoB.types[infoB.feature];
|
|
277
277
|
if (isCationPi(typeA, typeB)) {
|
|
278
|
-
var _a = typeA === 3 /* AromaticRing */ ? [infoA, infoB] : [infoB, infoA], infoR = _a[0], infoC = _a[1];
|
|
278
|
+
var _a = typeA === 3 /* FeatureType.AromaticRing */ ? [infoA, infoB] : [infoB, infoA], infoR = _a[0], infoC = _a[1];
|
|
279
279
|
getNormal(tmpNormalA, infoR);
|
|
280
280
|
var offset = getOffset(infoC, infoR, tmpNormalA);
|
|
281
281
|
if (offset <= opts.offsetMax) {
|
|
282
|
-
return 2 /* CationPi */;
|
|
282
|
+
return 2 /* InteractionType.CationPi */;
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
285
|
}
|
|
286
286
|
//
|
|
287
|
-
exports.NegativChargeProvider = features_1.Features.Provider([2 /* NegativeCharge */], addUnitNegativeCharges);
|
|
288
|
-
exports.PositiveChargeProvider = features_1.Features.Provider([1 /* PositiveCharge */], addUnitPositiveCharges);
|
|
289
|
-
exports.AromaticRingProvider = features_1.Features.Provider([3 /* AromaticRing */], addUnitAromaticRings);
|
|
287
|
+
exports.NegativChargeProvider = features_1.Features.Provider([2 /* FeatureType.NegativeCharge */], addUnitNegativeCharges);
|
|
288
|
+
exports.PositiveChargeProvider = features_1.Features.Provider([1 /* FeatureType.PositiveCharge */], addUnitPositiveCharges);
|
|
289
|
+
exports.AromaticRingProvider = features_1.Features.Provider([3 /* FeatureType.AromaticRing */], addUnitAromaticRings);
|
|
290
290
|
exports.IonicProvider = {
|
|
291
291
|
name: 'ionic',
|
|
292
292
|
params: IonicParams,
|
|
@@ -294,7 +294,7 @@ exports.IonicProvider = {
|
|
|
294
294
|
var opts = getIonicOptions(props);
|
|
295
295
|
return {
|
|
296
296
|
maxDistance: props.distanceMax,
|
|
297
|
-
requiredFeatures: new Set([2 /* NegativeCharge */, 1 /* PositiveCharge */]),
|
|
297
|
+
requiredFeatures: new Set([2 /* FeatureType.NegativeCharge */, 1 /* FeatureType.PositiveCharge */]),
|
|
298
298
|
getType: function (structure, infoA, infoB, distanceSq) { return testIonic(structure, infoA, infoB, distanceSq, opts); }
|
|
299
299
|
};
|
|
300
300
|
}
|
|
@@ -306,7 +306,7 @@ exports.PiStackingProvider = {
|
|
|
306
306
|
var opts = getPiStackingOptions(props);
|
|
307
307
|
return {
|
|
308
308
|
maxDistance: props.distanceMax,
|
|
309
|
-
requiredFeatures: new Set([3 /* AromaticRing */]),
|
|
309
|
+
requiredFeatures: new Set([3 /* FeatureType.AromaticRing */]),
|
|
310
310
|
getType: function (structure, infoA, infoB, distanceSq) { return testPiStacking(structure, infoA, infoB, distanceSq, opts); }
|
|
311
311
|
};
|
|
312
312
|
}
|
|
@@ -318,7 +318,7 @@ exports.CationPiProvider = {
|
|
|
318
318
|
var opts = getCationPiOptions(props);
|
|
319
319
|
return {
|
|
320
320
|
maxDistance: props.distanceMax,
|
|
321
|
-
requiredFeatures: new Set([3 /* AromaticRing */, 1 /* PositiveCharge */]),
|
|
321
|
+
requiredFeatures: new Set([3 /* FeatureType.AromaticRing */, 1 /* FeatureType.PositiveCharge */]),
|
|
322
322
|
getType: function (structure, infoA, infoB, distanceSq) { return testCationPi(structure, infoA, infoB, distanceSq, opts); }
|
|
323
323
|
};
|
|
324
324
|
}
|
|
@@ -92,83 +92,83 @@ var InteractionsInterContacts = /** @class */ (function (_super) {
|
|
|
92
92
|
exports.InteractionsInterContacts = InteractionsInterContacts;
|
|
93
93
|
function interactionTypeLabel(type) {
|
|
94
94
|
switch (type) {
|
|
95
|
-
case 4 /* HydrogenBond */:
|
|
95
|
+
case 4 /* InteractionType.HydrogenBond */:
|
|
96
96
|
return 'Hydrogen Bond';
|
|
97
|
-
case 6 /* Hydrophobic */:
|
|
97
|
+
case 6 /* InteractionType.Hydrophobic */:
|
|
98
98
|
return 'Hydrophobic Contact';
|
|
99
|
-
case 5 /* HalogenBond */:
|
|
99
|
+
case 5 /* InteractionType.HalogenBond */:
|
|
100
100
|
return 'Halogen Bond';
|
|
101
|
-
case 1 /* Ionic */:
|
|
101
|
+
case 1 /* InteractionType.Ionic */:
|
|
102
102
|
return 'Ionic Interaction';
|
|
103
|
-
case 7 /* MetalCoordination */:
|
|
103
|
+
case 7 /* InteractionType.MetalCoordination */:
|
|
104
104
|
return 'Metal Coordination';
|
|
105
|
-
case 2 /* CationPi */:
|
|
105
|
+
case 2 /* InteractionType.CationPi */:
|
|
106
106
|
return 'Cation-Pi Interaction';
|
|
107
|
-
case 3 /* PiStacking */:
|
|
107
|
+
case 3 /* InteractionType.PiStacking */:
|
|
108
108
|
return 'Pi Stacking';
|
|
109
|
-
case 8 /* WeakHydrogenBond */:
|
|
109
|
+
case 8 /* InteractionType.WeakHydrogenBond */:
|
|
110
110
|
return 'Weak Hydrogen Bond';
|
|
111
|
-
case 0 /* Unknown */:
|
|
111
|
+
case 0 /* InteractionType.Unknown */:
|
|
112
112
|
return 'Unknown Interaction';
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
exports.interactionTypeLabel = interactionTypeLabel;
|
|
116
116
|
function featureTypeLabel(type) {
|
|
117
117
|
switch (type) {
|
|
118
|
-
case 0 /* None */:
|
|
118
|
+
case 0 /* FeatureType.None */:
|
|
119
119
|
return 'None';
|
|
120
|
-
case 1 /* PositiveCharge */:
|
|
120
|
+
case 1 /* FeatureType.PositiveCharge */:
|
|
121
121
|
return 'Positive Charge';
|
|
122
|
-
case 2 /* NegativeCharge */:
|
|
122
|
+
case 2 /* FeatureType.NegativeCharge */:
|
|
123
123
|
return 'Negative Charge';
|
|
124
|
-
case 3 /* AromaticRing */:
|
|
124
|
+
case 3 /* FeatureType.AromaticRing */:
|
|
125
125
|
return 'Aromatic Ring';
|
|
126
|
-
case 4 /* HydrogenDonor */:
|
|
126
|
+
case 4 /* FeatureType.HydrogenDonor */:
|
|
127
127
|
return 'Hydrogen Donor';
|
|
128
|
-
case 5 /* HydrogenAcceptor */:
|
|
128
|
+
case 5 /* FeatureType.HydrogenAcceptor */:
|
|
129
129
|
return 'Hydrogen Acceptor';
|
|
130
|
-
case 6 /* HalogenDonor */:
|
|
130
|
+
case 6 /* FeatureType.HalogenDonor */:
|
|
131
131
|
return 'Halogen Donor';
|
|
132
|
-
case 7 /* HalogenAcceptor */:
|
|
132
|
+
case 7 /* FeatureType.HalogenAcceptor */:
|
|
133
133
|
return 'Halogen Acceptor';
|
|
134
|
-
case 8 /* HydrophobicAtom */:
|
|
134
|
+
case 8 /* FeatureType.HydrophobicAtom */:
|
|
135
135
|
return 'HydrophobicAtom';
|
|
136
|
-
case 9 /* WeakHydrogenDonor */:
|
|
136
|
+
case 9 /* FeatureType.WeakHydrogenDonor */:
|
|
137
137
|
return 'Weak Hydrogen Donor';
|
|
138
|
-
case 10 /* IonicTypePartner */:
|
|
138
|
+
case 10 /* FeatureType.IonicTypePartner */:
|
|
139
139
|
return 'Ionic Type Partner';
|
|
140
|
-
case 11 /* DativeBondPartner */:
|
|
140
|
+
case 11 /* FeatureType.DativeBondPartner */:
|
|
141
141
|
return 'Dative Bond Partner';
|
|
142
|
-
case 12 /* TransitionMetal */:
|
|
142
|
+
case 12 /* FeatureType.TransitionMetal */:
|
|
143
143
|
return 'Transition Metal';
|
|
144
|
-
case 13 /* IonicTypeMetal */:
|
|
144
|
+
case 13 /* FeatureType.IonicTypeMetal */:
|
|
145
145
|
return 'Ionic Type Metal';
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
exports.featureTypeLabel = featureTypeLabel;
|
|
149
149
|
function featureGroupLabel(group) {
|
|
150
150
|
switch (group) {
|
|
151
|
-
case 0 /* None */:
|
|
151
|
+
case 0 /* FeatureGroup.None */:
|
|
152
152
|
return 'None';
|
|
153
|
-
case 1 /* QuaternaryAmine */:
|
|
153
|
+
case 1 /* FeatureGroup.QuaternaryAmine */:
|
|
154
154
|
return 'Quaternary Amine';
|
|
155
|
-
case 2 /* TertiaryAmine */:
|
|
155
|
+
case 2 /* FeatureGroup.TertiaryAmine */:
|
|
156
156
|
return 'Tertiary Amine';
|
|
157
|
-
case 3 /* Sulfonium */:
|
|
157
|
+
case 3 /* FeatureGroup.Sulfonium */:
|
|
158
158
|
return 'Sulfonium';
|
|
159
|
-
case 4 /* SulfonicAcid */:
|
|
159
|
+
case 4 /* FeatureGroup.SulfonicAcid */:
|
|
160
160
|
return 'Sulfonic Acid';
|
|
161
|
-
case 5 /* Sulfate */:
|
|
161
|
+
case 5 /* FeatureGroup.Sulfate */:
|
|
162
162
|
return 'Sulfate';
|
|
163
|
-
case 6 /* Phosphate */:
|
|
163
|
+
case 6 /* FeatureGroup.Phosphate */:
|
|
164
164
|
return 'Phosphate';
|
|
165
|
-
case 7 /* Halocarbon */:
|
|
165
|
+
case 7 /* FeatureGroup.Halocarbon */:
|
|
166
166
|
return 'Halocarbon';
|
|
167
|
-
case 8 /* Guanidine */:
|
|
167
|
+
case 8 /* FeatureGroup.Guanidine */:
|
|
168
168
|
return 'Guanidine';
|
|
169
|
-
case 9 /* Acetamidine */:
|
|
169
|
+
case 9 /* FeatureGroup.Acetamidine */:
|
|
170
170
|
return 'Acetamidine';
|
|
171
|
-
case 10 /* Carboxylate */:
|
|
171
|
+
case 10 /* FeatureGroup.Carboxylate */:
|
|
172
172
|
return 'Carboxylate';
|
|
173
173
|
}
|
|
174
174
|
}
|
|
@@ -55,7 +55,7 @@ var InterContactsBuilder;
|
|
|
55
55
|
builder.finishUnitPair();
|
|
56
56
|
},
|
|
57
57
|
add: function (indexA, indexB, type) {
|
|
58
|
-
builder.add(indexA, indexB, { type: type, flag: 0 /* None */ });
|
|
58
|
+
builder.add(indexA, indexB, { type: type, flag: 0 /* InteractionFlag.None */ });
|
|
59
59
|
},
|
|
60
60
|
getContacts: function (unitsFeatures) {
|
|
61
61
|
return new common_1.InteractionsInterContacts(builder.getMap(), unitsFeatures);
|
|
@@ -73,7 +73,7 @@ function checkLineOfSight(structure, infoA, infoB, distFactor) {
|
|
|
73
73
|
continue;
|
|
74
74
|
var element = (0, util_1.typeSymbol)(unit, i);
|
|
75
75
|
// allow hydrogens
|
|
76
|
-
if (element === "H" /* H */)
|
|
76
|
+
if (element === "H" /* Elements.H */)
|
|
77
77
|
continue;
|
|
78
78
|
var vdw = (0, atomic_1.VdwRadius)(element);
|
|
79
79
|
// check distance
|
|
@@ -18,7 +18,7 @@ var HalogenBondsParams = {
|
|
|
18
18
|
distanceMax: param_definition_1.ParamDefinition.Numeric(4.0, { min: 1, max: 5, step: 0.1 }),
|
|
19
19
|
angleMax: param_definition_1.ParamDefinition.Numeric(30, { min: 0, max: 60, step: 1 }),
|
|
20
20
|
};
|
|
21
|
-
var halBondElements = ["CL" /* CL */, "BR" /* BR */, "I" /* I */, "AT" /* AT */];
|
|
21
|
+
var halBondElements = ["CL" /* Elements.CL */, "BR" /* Elements.BR */, "I" /* Elements.I */, "AT" /* Elements.AT */];
|
|
22
22
|
/**
|
|
23
23
|
* Halogen bond donors (X-C, with X one of Cl, Br, I or At) not F!
|
|
24
24
|
*/
|
|
@@ -28,12 +28,12 @@ function addUnitHalogenDonors(structure, unit, builder) {
|
|
|
28
28
|
for (var i = 0, il = elements.length; i < il; ++i) {
|
|
29
29
|
var element = (0, util_1.typeSymbol)(unit, i);
|
|
30
30
|
if (halBondElements.includes(element)) {
|
|
31
|
-
builder.add(6 /* HalogenDonor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
31
|
+
builder.add(6 /* FeatureType.HalogenDonor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
var X = ["N" /* N */, "O" /* O */, "S" /* S */];
|
|
36
|
-
var Y = ["C" /* C */, "N" /* N */, "P" /* P */, "S" /* S */];
|
|
35
|
+
var X = ["N" /* Elements.N */, "O" /* Elements.O */, "S" /* Elements.S */];
|
|
36
|
+
var Y = ["C" /* Elements.C */, "N" /* Elements.N */, "P" /* Elements.P */, "S" /* Elements.S */];
|
|
37
37
|
/**
|
|
38
38
|
* Halogen bond acceptors (Y-{O|N|S}, with Y=C,P,N,S)
|
|
39
39
|
*/
|
|
@@ -50,7 +50,7 @@ function addUnitHalogenAcceptors(structure, unit, builder) {
|
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
52
|
if (flag_1) {
|
|
53
|
-
builder.add(7 /* HalogenAcceptor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
53
|
+
builder.add(7 /* FeatureType.HalogenAcceptor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
};
|
|
@@ -59,8 +59,8 @@ function addUnitHalogenAcceptors(structure, unit, builder) {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
function isHalogenBond(ti, tj) {
|
|
62
|
-
return ((ti === 7 /* HalogenAcceptor */ && tj === 6 /* HalogenDonor */) ||
|
|
63
|
-
(ti === 6 /* HalogenDonor */ && tj === 7 /* HalogenAcceptor */));
|
|
62
|
+
return ((ti === 7 /* FeatureType.HalogenAcceptor */ && tj === 6 /* FeatureType.HalogenDonor */) ||
|
|
63
|
+
(ti === 6 /* FeatureType.HalogenDonor */ && tj === 7 /* FeatureType.HalogenAcceptor */));
|
|
64
64
|
}
|
|
65
65
|
// http://www.pnas.org/content/101/48/16789.full
|
|
66
66
|
var OptimalHalogenAngle = (0, misc_1.degToRad)(180); // adjusted from 165 to account for spherical statistics
|
|
@@ -75,7 +75,7 @@ function testHalogenBond(structure, infoA, infoB, opts) {
|
|
|
75
75
|
var typeB = infoB.types[infoB.feature];
|
|
76
76
|
if (!isHalogenBond(typeA, typeB))
|
|
77
77
|
return;
|
|
78
|
-
var _a = typeA === 6 /* HalogenDonor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
|
|
78
|
+
var _a = typeA === 6 /* FeatureType.HalogenDonor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
|
|
79
79
|
var donIndex = don.members[don.offsets[don.feature]];
|
|
80
80
|
var accIndex = acc.members[acc.offsets[acc.feature]];
|
|
81
81
|
var halogenAngles = (0, geometry_1.calcAngles)(structure, don.unit, donIndex, acc.unit, accIndex);
|
|
@@ -90,11 +90,11 @@ function testHalogenBond(structure, infoA, infoB, opts) {
|
|
|
90
90
|
return;
|
|
91
91
|
if (acceptorAngles.some(function (acceptorAngle) { return OptimalAcceptorAngle - acceptorAngle > opts.angleMax; }))
|
|
92
92
|
return;
|
|
93
|
-
return 5 /* HalogenBond */;
|
|
93
|
+
return 5 /* InteractionType.HalogenBond */;
|
|
94
94
|
}
|
|
95
95
|
//
|
|
96
|
-
exports.HalogenDonorProvider = features_1.Features.Provider([6 /* HalogenDonor */], addUnitHalogenDonors);
|
|
97
|
-
exports.HalogenAcceptorProvider = features_1.Features.Provider([7 /* HalogenAcceptor */], addUnitHalogenAcceptors);
|
|
96
|
+
exports.HalogenDonorProvider = features_1.Features.Provider([6 /* FeatureType.HalogenDonor */], addUnitHalogenDonors);
|
|
97
|
+
exports.HalogenAcceptorProvider = features_1.Features.Provider([7 /* FeatureType.HalogenAcceptor */], addUnitHalogenAcceptors);
|
|
98
98
|
exports.HalogenBondsProvider = {
|
|
99
99
|
name: 'halogen-bonds',
|
|
100
100
|
params: HalogenBondsParams,
|
|
@@ -102,7 +102,7 @@ exports.HalogenBondsProvider = {
|
|
|
102
102
|
var opts = getOptions(props);
|
|
103
103
|
return {
|
|
104
104
|
maxDistance: props.distanceMax,
|
|
105
|
-
requiredFeatures: new Set([6 /* HalogenDonor */, 7 /* HalogenAcceptor */]),
|
|
105
|
+
requiredFeatures: new Set([6 /* FeatureType.HalogenDonor */, 7 /* FeatureType.HalogenAcceptor */]),
|
|
106
106
|
getType: function (structure, infoA, infoB) { return testHalogenBond(structure, infoA, infoB, opts); }
|
|
107
107
|
};
|
|
108
108
|
}
|
|
@@ -55,8 +55,8 @@ function addUnitHydrogenDonors(structure, unit, builder) {
|
|
|
55
55
|
// include both nitrogen atoms in histidine due to
|
|
56
56
|
// their often ambiguous protonation assignment
|
|
57
57
|
isHistidineNitrogen(unit, i)) || (totalH[i] > 0 &&
|
|
58
|
-
(element === "N" /* N */ || element === "O" /* O */ || element === "S" /* S */))) {
|
|
59
|
-
builder.add(4 /* HydrogenDonor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
58
|
+
(element === "N" /* Elements.N */ || element === "O" /* Elements.O */ || element === "S" /* Elements.S */))) {
|
|
59
|
+
builder.add(4 /* FeatureType.HydrogenDonor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -68,12 +68,12 @@ function addUnitWeakHydrogenDonors(structure, unit, builder) {
|
|
|
68
68
|
var elements = unit.elements;
|
|
69
69
|
var _a = unit.model.atomicConformation, x = _a.x, y = _a.y, z = _a.z;
|
|
70
70
|
for (var i = 0, il = elements.length; i < il; ++i) {
|
|
71
|
-
if ((0, util_1.typeSymbol)(unit, i) === "C" /* C */ &&
|
|
71
|
+
if ((0, util_1.typeSymbol)(unit, i) === "C" /* Elements.C */ &&
|
|
72
72
|
totalH[i] > 0 &&
|
|
73
|
-
((0, util_1.bondToElementCount)(structure, unit, i, "N" /* N */) > 0 ||
|
|
74
|
-
(0, util_1.bondToElementCount)(structure, unit, i, "O" /* O */) > 0 ||
|
|
73
|
+
((0, util_1.bondToElementCount)(structure, unit, i, "N" /* Elements.N */) > 0 ||
|
|
74
|
+
(0, util_1.bondToElementCount)(structure, unit, i, "O" /* Elements.O */) > 0 ||
|
|
75
75
|
inAromaticRingWithElectronNegativeElement(unit, i))) {
|
|
76
|
-
builder.add(9 /* WeakHydrogenDonor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
76
|
+
builder.add(9 /* FeatureType.WeakHydrogenDonor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
}
|
|
@@ -86,7 +86,7 @@ function inAromaticRingWithElectronNegativeElement(unit, index) {
|
|
|
86
86
|
var ring = all[ringIndices[i]];
|
|
87
87
|
for (var j = 0, jl = ring.length; j < jl; ++j) {
|
|
88
88
|
var element = (0, util_1.typeSymbol)(unit, ring[j]);
|
|
89
|
-
if (element === "N" /* N */ || element === "O" /* O */) {
|
|
89
|
+
if (element === "N" /* Elements.N */ || element === "O" /* Elements.O */) {
|
|
90
90
|
return true;
|
|
91
91
|
}
|
|
92
92
|
}
|
|
@@ -101,15 +101,15 @@ function addUnitHydrogenAcceptors(structure, unit, builder) {
|
|
|
101
101
|
var elements = unit.elements;
|
|
102
102
|
var _b = unit.model.atomicConformation, x = _b.x, y = _b.y, z = _b.z;
|
|
103
103
|
var add = function (i) {
|
|
104
|
-
builder.add(5 /* HydrogenAcceptor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
104
|
+
builder.add(5 /* FeatureType.HydrogenAcceptor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
105
105
|
};
|
|
106
106
|
for (var i = 0, il = elements.length; i < il; ++i) {
|
|
107
107
|
var element = (0, util_1.typeSymbol)(unit, i);
|
|
108
|
-
if (element === "O" /* O */) {
|
|
108
|
+
if (element === "O" /* Elements.O */) {
|
|
109
109
|
// Basically assume all oxygen atoms are acceptors!
|
|
110
110
|
add(i);
|
|
111
111
|
}
|
|
112
|
-
else if (element === "N" /* N */) {
|
|
112
|
+
else if (element === "N" /* Elements.N */) {
|
|
113
113
|
if (isHistidineNitrogen(unit, i)) {
|
|
114
114
|
// include both nitrogen atoms in histidine due to
|
|
115
115
|
// their often ambiguous protonation assignment
|
|
@@ -120,14 +120,14 @@ function addUnitHydrogenAcceptors(structure, unit, builder) {
|
|
|
120
120
|
// It must have at least one lone pair not conjugated
|
|
121
121
|
var totalBonds = (0, util_1.bondCount)(structure, unit, i) + implicitH[i];
|
|
122
122
|
var ig = idealGeometry[i];
|
|
123
|
-
if ((ig === 4 /* Tetrahedral */ && totalBonds < 4) ||
|
|
124
|
-
(ig === 3 /* Trigonal */ && totalBonds < 3) ||
|
|
125
|
-
(ig === 2 /* Linear */ && totalBonds < 2)) {
|
|
123
|
+
if ((ig === 4 /* AtomGeometry.Tetrahedral */ && totalBonds < 4) ||
|
|
124
|
+
(ig === 3 /* AtomGeometry.Trigonal */ && totalBonds < 3) ||
|
|
125
|
+
(ig === 2 /* AtomGeometry.Linear */ && totalBonds < 2)) {
|
|
126
126
|
add(i);
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
else if (element === "S" /* S */) {
|
|
130
|
+
else if (element === "S" /* Elements.S */) {
|
|
131
131
|
var resname = (0, util_1.compId)(unit, i);
|
|
132
132
|
if (resname === 'CYS' || resname === 'MET' || (0, util_1.formalCharge)(unit, i) === -1) {
|
|
133
133
|
add(i);
|
|
@@ -136,7 +136,7 @@ function addUnitHydrogenAcceptors(structure, unit, builder) {
|
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
function isWater(unit, index) {
|
|
139
|
-
return unit.model.atomicHierarchy.derived.residue.moleculeType[unit.residueIndex[unit.elements[index]]] === 2 /* Water */;
|
|
139
|
+
return unit.model.atomicHierarchy.derived.residue.moleculeType[unit.residueIndex[unit.elements[index]]] === 2 /* MoleculeType.Water */;
|
|
140
140
|
}
|
|
141
141
|
function isBackbone(unit, index) {
|
|
142
142
|
return types_1.ProteinBackboneAtoms.has((0, util_1.atomId)(unit, index));
|
|
@@ -145,7 +145,7 @@ function isRing(unit, index) {
|
|
|
145
145
|
return unit.rings.elementRingIndices.has(index);
|
|
146
146
|
}
|
|
147
147
|
function isHistidineNitrogen(unit, index) {
|
|
148
|
-
return (0, util_1.compId)(unit, index) === 'HIS' && (0, util_1.typeSymbol)(unit, index) === "N" /* N */ && isRing(unit, index);
|
|
148
|
+
return (0, util_1.compId)(unit, index) === 'HIS' && (0, util_1.typeSymbol)(unit, index) === "N" /* Elements.N */ && isRing(unit, index);
|
|
149
149
|
}
|
|
150
150
|
function isBackboneHydrogenBond(unitA, indexA, unitB, indexB) {
|
|
151
151
|
return isBackbone(unitA, indexA) && isBackbone(unitB, indexB);
|
|
@@ -154,12 +154,12 @@ function isWaterHydrogenBond(unitA, indexA, unitB, indexB) {
|
|
|
154
154
|
return isWater(unitA, indexA) && isWater(unitB, indexB);
|
|
155
155
|
}
|
|
156
156
|
function isHydrogenBond(ti, tj) {
|
|
157
|
-
return ((ti === 5 /* HydrogenAcceptor */ && tj === 4 /* HydrogenDonor */) ||
|
|
158
|
-
(ti === 4 /* HydrogenDonor */ && tj === 5 /* HydrogenAcceptor */));
|
|
157
|
+
return ((ti === 5 /* FeatureType.HydrogenAcceptor */ && tj === 4 /* FeatureType.HydrogenDonor */) ||
|
|
158
|
+
(ti === 4 /* FeatureType.HydrogenDonor */ && tj === 5 /* FeatureType.HydrogenAcceptor */));
|
|
159
159
|
}
|
|
160
160
|
function isWeakHydrogenBond(ti, tj) {
|
|
161
|
-
return ((ti === 9 /* WeakHydrogenDonor */ && tj === 5 /* HydrogenAcceptor */) ||
|
|
162
|
-
(ti === 5 /* HydrogenAcceptor */ && tj === 9 /* WeakHydrogenDonor */));
|
|
161
|
+
return ((ti === 9 /* FeatureType.WeakHydrogenDonor */ && tj === 5 /* FeatureType.HydrogenAcceptor */) ||
|
|
162
|
+
(ti === 5 /* FeatureType.HydrogenAcceptor */ && tj === 9 /* FeatureType.WeakHydrogenDonor */));
|
|
163
163
|
}
|
|
164
164
|
function getGeometryOptions(props) {
|
|
165
165
|
return {
|
|
@@ -183,7 +183,7 @@ function checkGeometry(structure, don, acc, opts) {
|
|
|
183
183
|
var idealDonAngle = geometry_1.AtomGeometryAngles.get(don.idealGeometry[donIndex]) || deg120InRad;
|
|
184
184
|
if (donAngles.some(function (donAngle) { return Math.abs(idealDonAngle - donAngle) > opts.maxDonAngleDev; }))
|
|
185
185
|
return;
|
|
186
|
-
if (don.idealGeometry[donIndex] === 3 /* Trigonal */) {
|
|
186
|
+
if (don.idealGeometry[donIndex] === 3 /* AtomGeometry.Trigonal */) {
|
|
187
187
|
var outOfPlane = (0, geometry_1.calcPlaneAngle)(structure, don.unit, donIndex, acc.unit, accIndex);
|
|
188
188
|
if (outOfPlane !== undefined && outOfPlane > opts.maxDonOutOfPlaneAngle)
|
|
189
189
|
return;
|
|
@@ -193,7 +193,7 @@ function checkGeometry(structure, don, acc, opts) {
|
|
|
193
193
|
// Do not limit large acceptor angles
|
|
194
194
|
if (accAngles.some(function (accAngle) { return idealAccAngle - accAngle > opts.maxAccAngleDev; }))
|
|
195
195
|
return;
|
|
196
|
-
if (acc.idealGeometry[accIndex] === 3 /* Trigonal */) {
|
|
196
|
+
if (acc.idealGeometry[accIndex] === 3 /* AtomGeometry.Trigonal */) {
|
|
197
197
|
var outOfPlane = (0, geometry_1.calcPlaneAngle)(structure, acc.unit, accIndex, don.unit, donIndex);
|
|
198
198
|
if (outOfPlane !== undefined && outOfPlane > opts.maxAccOutOfPlaneAngle)
|
|
199
199
|
return;
|
|
@@ -205,33 +205,33 @@ function testHydrogenBond(structure, infoA, infoB, distanceSq, opts) {
|
|
|
205
205
|
var typeB = infoB.types[infoB.feature];
|
|
206
206
|
if (!isHydrogenBond(typeA, typeB))
|
|
207
207
|
return;
|
|
208
|
-
var _a = typeB === 5 /* HydrogenAcceptor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
|
|
208
|
+
var _a = typeB === 5 /* FeatureType.HydrogenAcceptor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
|
|
209
209
|
var donIndex = don.members[don.offsets[don.feature]];
|
|
210
210
|
var accIndex = acc.members[acc.offsets[acc.feature]];
|
|
211
211
|
// check if distance is ok depending on non-sulfur-containing hbond
|
|
212
|
-
var maxDistSq = (0, util_1.typeSymbol)(don.unit, donIndex) === "S" /* S */ || (0, util_1.typeSymbol)(acc.unit, accIndex) === "S" /* S */ ? opts.maxSulfurDistSq : opts.maxDistSq;
|
|
212
|
+
var maxDistSq = (0, util_1.typeSymbol)(don.unit, donIndex) === "S" /* Elements.S */ || (0, util_1.typeSymbol)(acc.unit, accIndex) === "S" /* Elements.S */ ? opts.maxSulfurDistSq : opts.maxDistSq;
|
|
213
213
|
if (distanceSq > maxDistSq)
|
|
214
214
|
return;
|
|
215
215
|
if (!opts.includeWater && isWaterHydrogenBond(don.unit, donIndex, acc.unit, accIndex))
|
|
216
216
|
return;
|
|
217
217
|
if (!checkGeometry(structure, don, acc, opts))
|
|
218
218
|
return;
|
|
219
|
-
return 4 /* HydrogenBond */;
|
|
219
|
+
return 4 /* InteractionType.HydrogenBond */;
|
|
220
220
|
}
|
|
221
221
|
function testWeakHydrogenBond(structure, infoA, infoB, distanceSq, opts) {
|
|
222
222
|
var typeA = infoA.types[infoA.feature];
|
|
223
223
|
var typeB = infoB.types[infoB.feature];
|
|
224
224
|
if (!isWeakHydrogenBond(typeA, typeB))
|
|
225
225
|
return;
|
|
226
|
-
var _a = typeB === 5 /* HydrogenAcceptor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
|
|
226
|
+
var _a = typeB === 5 /* FeatureType.HydrogenAcceptor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
|
|
227
227
|
if (!checkGeometry(structure, don, acc, opts))
|
|
228
228
|
return;
|
|
229
|
-
return 8 /* WeakHydrogenBond */;
|
|
229
|
+
return 8 /* InteractionType.WeakHydrogenBond */;
|
|
230
230
|
}
|
|
231
231
|
//
|
|
232
|
-
exports.HydrogenDonorProvider = features_1.Features.Provider([4 /* HydrogenDonor */], addUnitHydrogenDonors);
|
|
233
|
-
exports.WeakHydrogenDonorProvider = features_1.Features.Provider([9 /* WeakHydrogenDonor */], addUnitWeakHydrogenDonors);
|
|
234
|
-
exports.HydrogenAcceptorProvider = features_1.Features.Provider([5 /* HydrogenAcceptor */], addUnitHydrogenAcceptors);
|
|
232
|
+
exports.HydrogenDonorProvider = features_1.Features.Provider([4 /* FeatureType.HydrogenDonor */], addUnitHydrogenDonors);
|
|
233
|
+
exports.WeakHydrogenDonorProvider = features_1.Features.Provider([9 /* FeatureType.WeakHydrogenDonor */], addUnitWeakHydrogenDonors);
|
|
234
|
+
exports.HydrogenAcceptorProvider = features_1.Features.Provider([5 /* FeatureType.HydrogenAcceptor */], addUnitHydrogenAcceptors);
|
|
235
235
|
exports.HydrogenBondsProvider = {
|
|
236
236
|
name: 'hydrogen-bonds',
|
|
237
237
|
params: HydrogenBondsParams,
|
|
@@ -240,7 +240,7 @@ exports.HydrogenBondsProvider = {
|
|
|
240
240
|
var opts = getHydrogenBondsOptions(props);
|
|
241
241
|
return {
|
|
242
242
|
maxDistance: maxDistance,
|
|
243
|
-
requiredFeatures: new Set([4 /* HydrogenDonor */, 5 /* HydrogenAcceptor */]),
|
|
243
|
+
requiredFeatures: new Set([4 /* FeatureType.HydrogenDonor */, 5 /* FeatureType.HydrogenAcceptor */]),
|
|
244
244
|
getType: function (structure, infoA, infoB, distanceSq) { return testHydrogenBond(structure, infoA, infoB, distanceSq, opts); }
|
|
245
245
|
};
|
|
246
246
|
}
|
|
@@ -252,7 +252,7 @@ exports.WeakHydrogenBondsProvider = {
|
|
|
252
252
|
var opts = getGeometryOptions(props);
|
|
253
253
|
return {
|
|
254
254
|
maxDistance: props.distanceMax,
|
|
255
|
-
requiredFeatures: new Set([9 /* WeakHydrogenDonor */, 5 /* HydrogenAcceptor */]),
|
|
255
|
+
requiredFeatures: new Set([9 /* FeatureType.WeakHydrogenDonor */, 5 /* FeatureType.HydrogenAcceptor */]),
|
|
256
256
|
getType: function (structure, infoA, infoB, distanceSq) { return testWeakHydrogenBond(structure, infoA, infoB, distanceSq, opts); }
|
|
257
257
|
};
|
|
258
258
|
}
|