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
|
@@ -89,81 +89,81 @@ var InteractionsInterContacts = /** @class */ (function (_super) {
|
|
|
89
89
|
}(InterUnitGraph));
|
|
90
90
|
export function interactionTypeLabel(type) {
|
|
91
91
|
switch (type) {
|
|
92
|
-
case 4 /* HydrogenBond */:
|
|
92
|
+
case 4 /* InteractionType.HydrogenBond */:
|
|
93
93
|
return 'Hydrogen Bond';
|
|
94
|
-
case 6 /* Hydrophobic */:
|
|
94
|
+
case 6 /* InteractionType.Hydrophobic */:
|
|
95
95
|
return 'Hydrophobic Contact';
|
|
96
|
-
case 5 /* HalogenBond */:
|
|
96
|
+
case 5 /* InteractionType.HalogenBond */:
|
|
97
97
|
return 'Halogen Bond';
|
|
98
|
-
case 1 /* Ionic */:
|
|
98
|
+
case 1 /* InteractionType.Ionic */:
|
|
99
99
|
return 'Ionic Interaction';
|
|
100
|
-
case 7 /* MetalCoordination */:
|
|
100
|
+
case 7 /* InteractionType.MetalCoordination */:
|
|
101
101
|
return 'Metal Coordination';
|
|
102
|
-
case 2 /* CationPi */:
|
|
102
|
+
case 2 /* InteractionType.CationPi */:
|
|
103
103
|
return 'Cation-Pi Interaction';
|
|
104
|
-
case 3 /* PiStacking */:
|
|
104
|
+
case 3 /* InteractionType.PiStacking */:
|
|
105
105
|
return 'Pi Stacking';
|
|
106
|
-
case 8 /* WeakHydrogenBond */:
|
|
106
|
+
case 8 /* InteractionType.WeakHydrogenBond */:
|
|
107
107
|
return 'Weak Hydrogen Bond';
|
|
108
|
-
case 0 /* Unknown */:
|
|
108
|
+
case 0 /* InteractionType.Unknown */:
|
|
109
109
|
return 'Unknown Interaction';
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
export function featureTypeLabel(type) {
|
|
113
113
|
switch (type) {
|
|
114
|
-
case 0 /* None */:
|
|
114
|
+
case 0 /* FeatureType.None */:
|
|
115
115
|
return 'None';
|
|
116
|
-
case 1 /* PositiveCharge */:
|
|
116
|
+
case 1 /* FeatureType.PositiveCharge */:
|
|
117
117
|
return 'Positive Charge';
|
|
118
|
-
case 2 /* NegativeCharge */:
|
|
118
|
+
case 2 /* FeatureType.NegativeCharge */:
|
|
119
119
|
return 'Negative Charge';
|
|
120
|
-
case 3 /* AromaticRing */:
|
|
120
|
+
case 3 /* FeatureType.AromaticRing */:
|
|
121
121
|
return 'Aromatic Ring';
|
|
122
|
-
case 4 /* HydrogenDonor */:
|
|
122
|
+
case 4 /* FeatureType.HydrogenDonor */:
|
|
123
123
|
return 'Hydrogen Donor';
|
|
124
|
-
case 5 /* HydrogenAcceptor */:
|
|
124
|
+
case 5 /* FeatureType.HydrogenAcceptor */:
|
|
125
125
|
return 'Hydrogen Acceptor';
|
|
126
|
-
case 6 /* HalogenDonor */:
|
|
126
|
+
case 6 /* FeatureType.HalogenDonor */:
|
|
127
127
|
return 'Halogen Donor';
|
|
128
|
-
case 7 /* HalogenAcceptor */:
|
|
128
|
+
case 7 /* FeatureType.HalogenAcceptor */:
|
|
129
129
|
return 'Halogen Acceptor';
|
|
130
|
-
case 8 /* HydrophobicAtom */:
|
|
130
|
+
case 8 /* FeatureType.HydrophobicAtom */:
|
|
131
131
|
return 'HydrophobicAtom';
|
|
132
|
-
case 9 /* WeakHydrogenDonor */:
|
|
132
|
+
case 9 /* FeatureType.WeakHydrogenDonor */:
|
|
133
133
|
return 'Weak Hydrogen Donor';
|
|
134
|
-
case 10 /* IonicTypePartner */:
|
|
134
|
+
case 10 /* FeatureType.IonicTypePartner */:
|
|
135
135
|
return 'Ionic Type Partner';
|
|
136
|
-
case 11 /* DativeBondPartner */:
|
|
136
|
+
case 11 /* FeatureType.DativeBondPartner */:
|
|
137
137
|
return 'Dative Bond Partner';
|
|
138
|
-
case 12 /* TransitionMetal */:
|
|
138
|
+
case 12 /* FeatureType.TransitionMetal */:
|
|
139
139
|
return 'Transition Metal';
|
|
140
|
-
case 13 /* IonicTypeMetal */:
|
|
140
|
+
case 13 /* FeatureType.IonicTypeMetal */:
|
|
141
141
|
return 'Ionic Type Metal';
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
export function featureGroupLabel(group) {
|
|
145
145
|
switch (group) {
|
|
146
|
-
case 0 /* None */:
|
|
146
|
+
case 0 /* FeatureGroup.None */:
|
|
147
147
|
return 'None';
|
|
148
|
-
case 1 /* QuaternaryAmine */:
|
|
148
|
+
case 1 /* FeatureGroup.QuaternaryAmine */:
|
|
149
149
|
return 'Quaternary Amine';
|
|
150
|
-
case 2 /* TertiaryAmine */:
|
|
150
|
+
case 2 /* FeatureGroup.TertiaryAmine */:
|
|
151
151
|
return 'Tertiary Amine';
|
|
152
|
-
case 3 /* Sulfonium */:
|
|
152
|
+
case 3 /* FeatureGroup.Sulfonium */:
|
|
153
153
|
return 'Sulfonium';
|
|
154
|
-
case 4 /* SulfonicAcid */:
|
|
154
|
+
case 4 /* FeatureGroup.SulfonicAcid */:
|
|
155
155
|
return 'Sulfonic Acid';
|
|
156
|
-
case 5 /* Sulfate */:
|
|
156
|
+
case 5 /* FeatureGroup.Sulfate */:
|
|
157
157
|
return 'Sulfate';
|
|
158
|
-
case 6 /* Phosphate */:
|
|
158
|
+
case 6 /* FeatureGroup.Phosphate */:
|
|
159
159
|
return 'Phosphate';
|
|
160
|
-
case 7 /* Halocarbon */:
|
|
160
|
+
case 7 /* FeatureGroup.Halocarbon */:
|
|
161
161
|
return 'Halocarbon';
|
|
162
|
-
case 8 /* Guanidine */:
|
|
162
|
+
case 8 /* FeatureGroup.Guanidine */:
|
|
163
163
|
return 'Guanidine';
|
|
164
|
-
case 9 /* Acetamidine */:
|
|
164
|
+
case 9 /* FeatureGroup.Acetamidine */:
|
|
165
165
|
return 'Acetamidine';
|
|
166
|
-
case 10 /* Carboxylate */:
|
|
166
|
+
case 10 /* FeatureGroup.Carboxylate */:
|
|
167
167
|
return 'Carboxylate';
|
|
168
168
|
}
|
|
169
169
|
}
|
|
@@ -53,7 +53,7 @@ var InterContactsBuilder;
|
|
|
53
53
|
builder.finishUnitPair();
|
|
54
54
|
},
|
|
55
55
|
add: function (indexA, indexB, type) {
|
|
56
|
-
builder.add(indexA, indexB, { type: type, flag: 0 /* None */ });
|
|
56
|
+
builder.add(indexA, indexB, { type: type, flag: 0 /* InteractionFlag.None */ });
|
|
57
57
|
},
|
|
58
58
|
getContacts: function (unitsFeatures) {
|
|
59
59
|
return new InteractionsInterContacts(builder.getMap(), unitsFeatures);
|
|
@@ -70,7 +70,7 @@ function checkLineOfSight(structure, infoA, infoB, distFactor) {
|
|
|
70
70
|
continue;
|
|
71
71
|
var element = typeSymbol(unit, i);
|
|
72
72
|
// allow hydrogens
|
|
73
|
-
if (element === "H" /* H */)
|
|
73
|
+
if (element === "H" /* Elements.H */)
|
|
74
74
|
continue;
|
|
75
75
|
var vdw = VdwRadius(element);
|
|
76
76
|
// check distance
|
|
@@ -15,7 +15,7 @@ var HalogenBondsParams = {
|
|
|
15
15
|
distanceMax: PD.Numeric(4.0, { min: 1, max: 5, step: 0.1 }),
|
|
16
16
|
angleMax: PD.Numeric(30, { min: 0, max: 60, step: 1 }),
|
|
17
17
|
};
|
|
18
|
-
var halBondElements = ["CL" /* CL */, "BR" /* BR */, "I" /* I */, "AT" /* AT */];
|
|
18
|
+
var halBondElements = ["CL" /* Elements.CL */, "BR" /* Elements.BR */, "I" /* Elements.I */, "AT" /* Elements.AT */];
|
|
19
19
|
/**
|
|
20
20
|
* Halogen bond donors (X-C, with X one of Cl, Br, I or At) not F!
|
|
21
21
|
*/
|
|
@@ -25,12 +25,12 @@ function addUnitHalogenDonors(structure, unit, builder) {
|
|
|
25
25
|
for (var i = 0, il = elements.length; i < il; ++i) {
|
|
26
26
|
var element = typeSymbol(unit, i);
|
|
27
27
|
if (halBondElements.includes(element)) {
|
|
28
|
-
builder.add(6 /* HalogenDonor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
28
|
+
builder.add(6 /* FeatureType.HalogenDonor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
var X = ["N" /* N */, "O" /* O */, "S" /* S */];
|
|
33
|
-
var Y = ["C" /* C */, "N" /* N */, "P" /* P */, "S" /* S */];
|
|
32
|
+
var X = ["N" /* Elements.N */, "O" /* Elements.O */, "S" /* Elements.S */];
|
|
33
|
+
var Y = ["C" /* Elements.C */, "N" /* Elements.N */, "P" /* Elements.P */, "S" /* Elements.S */];
|
|
34
34
|
/**
|
|
35
35
|
* Halogen bond acceptors (Y-{O|N|S}, with Y=C,P,N,S)
|
|
36
36
|
*/
|
|
@@ -47,7 +47,7 @@ function addUnitHalogenAcceptors(structure, unit, builder) {
|
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
if (flag_1) {
|
|
50
|
-
builder.add(7 /* HalogenAcceptor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
50
|
+
builder.add(7 /* FeatureType.HalogenAcceptor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
};
|
|
@@ -56,8 +56,8 @@ function addUnitHalogenAcceptors(structure, unit, builder) {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
function isHalogenBond(ti, tj) {
|
|
59
|
-
return ((ti === 7 /* HalogenAcceptor */ && tj === 6 /* HalogenDonor */) ||
|
|
60
|
-
(ti === 6 /* HalogenDonor */ && tj === 7 /* HalogenAcceptor */));
|
|
59
|
+
return ((ti === 7 /* FeatureType.HalogenAcceptor */ && tj === 6 /* FeatureType.HalogenDonor */) ||
|
|
60
|
+
(ti === 6 /* FeatureType.HalogenDonor */ && tj === 7 /* FeatureType.HalogenAcceptor */));
|
|
61
61
|
}
|
|
62
62
|
// http://www.pnas.org/content/101/48/16789.full
|
|
63
63
|
var OptimalHalogenAngle = degToRad(180); // adjusted from 165 to account for spherical statistics
|
|
@@ -72,7 +72,7 @@ function testHalogenBond(structure, infoA, infoB, opts) {
|
|
|
72
72
|
var typeB = infoB.types[infoB.feature];
|
|
73
73
|
if (!isHalogenBond(typeA, typeB))
|
|
74
74
|
return;
|
|
75
|
-
var _a = typeA === 6 /* HalogenDonor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
|
|
75
|
+
var _a = typeA === 6 /* FeatureType.HalogenDonor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
|
|
76
76
|
var donIndex = don.members[don.offsets[don.feature]];
|
|
77
77
|
var accIndex = acc.members[acc.offsets[acc.feature]];
|
|
78
78
|
var halogenAngles = calcAngles(structure, don.unit, donIndex, acc.unit, accIndex);
|
|
@@ -87,11 +87,11 @@ function testHalogenBond(structure, infoA, infoB, opts) {
|
|
|
87
87
|
return;
|
|
88
88
|
if (acceptorAngles.some(function (acceptorAngle) { return OptimalAcceptorAngle - acceptorAngle > opts.angleMax; }))
|
|
89
89
|
return;
|
|
90
|
-
return 5 /* HalogenBond */;
|
|
90
|
+
return 5 /* InteractionType.HalogenBond */;
|
|
91
91
|
}
|
|
92
92
|
//
|
|
93
|
-
export var HalogenDonorProvider = Features.Provider([6 /* HalogenDonor */], addUnitHalogenDonors);
|
|
94
|
-
export var HalogenAcceptorProvider = Features.Provider([7 /* HalogenAcceptor */], addUnitHalogenAcceptors);
|
|
93
|
+
export var HalogenDonorProvider = Features.Provider([6 /* FeatureType.HalogenDonor */], addUnitHalogenDonors);
|
|
94
|
+
export var HalogenAcceptorProvider = Features.Provider([7 /* FeatureType.HalogenAcceptor */], addUnitHalogenAcceptors);
|
|
95
95
|
export var HalogenBondsProvider = {
|
|
96
96
|
name: 'halogen-bonds',
|
|
97
97
|
params: HalogenBondsParams,
|
|
@@ -99,7 +99,7 @@ export var HalogenBondsProvider = {
|
|
|
99
99
|
var opts = getOptions(props);
|
|
100
100
|
return {
|
|
101
101
|
maxDistance: props.distanceMax,
|
|
102
|
-
requiredFeatures: new Set([6 /* HalogenDonor */, 7 /* HalogenAcceptor */]),
|
|
102
|
+
requiredFeatures: new Set([6 /* FeatureType.HalogenDonor */, 7 /* FeatureType.HalogenAcceptor */]),
|
|
103
103
|
getType: function (structure, infoA, infoB) { return testHalogenBond(structure, infoA, infoB, opts); }
|
|
104
104
|
};
|
|
105
105
|
}
|
|
@@ -52,8 +52,8 @@ function addUnitHydrogenDonors(structure, unit, builder) {
|
|
|
52
52
|
// include both nitrogen atoms in histidine due to
|
|
53
53
|
// their often ambiguous protonation assignment
|
|
54
54
|
isHistidineNitrogen(unit, i)) || (totalH[i] > 0 &&
|
|
55
|
-
(element === "N" /* N */ || element === "O" /* O */ || element === "S" /* S */))) {
|
|
56
|
-
builder.add(4 /* HydrogenDonor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
55
|
+
(element === "N" /* Elements.N */ || element === "O" /* Elements.O */ || element === "S" /* Elements.S */))) {
|
|
56
|
+
builder.add(4 /* FeatureType.HydrogenDonor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -65,12 +65,12 @@ function addUnitWeakHydrogenDonors(structure, unit, builder) {
|
|
|
65
65
|
var elements = unit.elements;
|
|
66
66
|
var _a = unit.model.atomicConformation, x = _a.x, y = _a.y, z = _a.z;
|
|
67
67
|
for (var i = 0, il = elements.length; i < il; ++i) {
|
|
68
|
-
if (typeSymbol(unit, i) === "C" /* C */ &&
|
|
68
|
+
if (typeSymbol(unit, i) === "C" /* Elements.C */ &&
|
|
69
69
|
totalH[i] > 0 &&
|
|
70
|
-
(bondToElementCount(structure, unit, i, "N" /* N */) > 0 ||
|
|
71
|
-
bondToElementCount(structure, unit, i, "O" /* O */) > 0 ||
|
|
70
|
+
(bondToElementCount(structure, unit, i, "N" /* Elements.N */) > 0 ||
|
|
71
|
+
bondToElementCount(structure, unit, i, "O" /* Elements.O */) > 0 ||
|
|
72
72
|
inAromaticRingWithElectronNegativeElement(unit, i))) {
|
|
73
|
-
builder.add(9 /* WeakHydrogenDonor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
73
|
+
builder.add(9 /* FeatureType.WeakHydrogenDonor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
}
|
|
@@ -83,7 +83,7 @@ function inAromaticRingWithElectronNegativeElement(unit, index) {
|
|
|
83
83
|
var ring = all[ringIndices[i]];
|
|
84
84
|
for (var j = 0, jl = ring.length; j < jl; ++j) {
|
|
85
85
|
var element = typeSymbol(unit, ring[j]);
|
|
86
|
-
if (element === "N" /* N */ || element === "O" /* O */) {
|
|
86
|
+
if (element === "N" /* Elements.N */ || element === "O" /* Elements.O */) {
|
|
87
87
|
return true;
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -98,15 +98,15 @@ function addUnitHydrogenAcceptors(structure, unit, builder) {
|
|
|
98
98
|
var elements = unit.elements;
|
|
99
99
|
var _b = unit.model.atomicConformation, x = _b.x, y = _b.y, z = _b.z;
|
|
100
100
|
var add = function (i) {
|
|
101
|
-
builder.add(5 /* HydrogenAcceptor */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
101
|
+
builder.add(5 /* FeatureType.HydrogenAcceptor */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
102
102
|
};
|
|
103
103
|
for (var i = 0, il = elements.length; i < il; ++i) {
|
|
104
104
|
var element = typeSymbol(unit, i);
|
|
105
|
-
if (element === "O" /* O */) {
|
|
105
|
+
if (element === "O" /* Elements.O */) {
|
|
106
106
|
// Basically assume all oxygen atoms are acceptors!
|
|
107
107
|
add(i);
|
|
108
108
|
}
|
|
109
|
-
else if (element === "N" /* N */) {
|
|
109
|
+
else if (element === "N" /* Elements.N */) {
|
|
110
110
|
if (isHistidineNitrogen(unit, i)) {
|
|
111
111
|
// include both nitrogen atoms in histidine due to
|
|
112
112
|
// their often ambiguous protonation assignment
|
|
@@ -117,14 +117,14 @@ function addUnitHydrogenAcceptors(structure, unit, builder) {
|
|
|
117
117
|
// It must have at least one lone pair not conjugated
|
|
118
118
|
var totalBonds = bondCount(structure, unit, i) + implicitH[i];
|
|
119
119
|
var ig = idealGeometry[i];
|
|
120
|
-
if ((ig === 4 /* Tetrahedral */ && totalBonds < 4) ||
|
|
121
|
-
(ig === 3 /* Trigonal */ && totalBonds < 3) ||
|
|
122
|
-
(ig === 2 /* Linear */ && totalBonds < 2)) {
|
|
120
|
+
if ((ig === 4 /* AtomGeometry.Tetrahedral */ && totalBonds < 4) ||
|
|
121
|
+
(ig === 3 /* AtomGeometry.Trigonal */ && totalBonds < 3) ||
|
|
122
|
+
(ig === 2 /* AtomGeometry.Linear */ && totalBonds < 2)) {
|
|
123
123
|
add(i);
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
else if (element === "S" /* S */) {
|
|
127
|
+
else if (element === "S" /* Elements.S */) {
|
|
128
128
|
var resname = compId(unit, i);
|
|
129
129
|
if (resname === 'CYS' || resname === 'MET' || formalCharge(unit, i) === -1) {
|
|
130
130
|
add(i);
|
|
@@ -133,7 +133,7 @@ function addUnitHydrogenAcceptors(structure, unit, builder) {
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
function isWater(unit, index) {
|
|
136
|
-
return unit.model.atomicHierarchy.derived.residue.moleculeType[unit.residueIndex[unit.elements[index]]] === 2 /* Water */;
|
|
136
|
+
return unit.model.atomicHierarchy.derived.residue.moleculeType[unit.residueIndex[unit.elements[index]]] === 2 /* MoleculeType.Water */;
|
|
137
137
|
}
|
|
138
138
|
function isBackbone(unit, index) {
|
|
139
139
|
return ProteinBackboneAtoms.has(atomId(unit, index));
|
|
@@ -142,7 +142,7 @@ function isRing(unit, index) {
|
|
|
142
142
|
return unit.rings.elementRingIndices.has(index);
|
|
143
143
|
}
|
|
144
144
|
function isHistidineNitrogen(unit, index) {
|
|
145
|
-
return compId(unit, index) === 'HIS' && typeSymbol(unit, index) === "N" /* N */ && isRing(unit, index);
|
|
145
|
+
return compId(unit, index) === 'HIS' && typeSymbol(unit, index) === "N" /* Elements.N */ && isRing(unit, index);
|
|
146
146
|
}
|
|
147
147
|
function isBackboneHydrogenBond(unitA, indexA, unitB, indexB) {
|
|
148
148
|
return isBackbone(unitA, indexA) && isBackbone(unitB, indexB);
|
|
@@ -151,12 +151,12 @@ function isWaterHydrogenBond(unitA, indexA, unitB, indexB) {
|
|
|
151
151
|
return isWater(unitA, indexA) && isWater(unitB, indexB);
|
|
152
152
|
}
|
|
153
153
|
function isHydrogenBond(ti, tj) {
|
|
154
|
-
return ((ti === 5 /* HydrogenAcceptor */ && tj === 4 /* HydrogenDonor */) ||
|
|
155
|
-
(ti === 4 /* HydrogenDonor */ && tj === 5 /* HydrogenAcceptor */));
|
|
154
|
+
return ((ti === 5 /* FeatureType.HydrogenAcceptor */ && tj === 4 /* FeatureType.HydrogenDonor */) ||
|
|
155
|
+
(ti === 4 /* FeatureType.HydrogenDonor */ && tj === 5 /* FeatureType.HydrogenAcceptor */));
|
|
156
156
|
}
|
|
157
157
|
function isWeakHydrogenBond(ti, tj) {
|
|
158
|
-
return ((ti === 9 /* WeakHydrogenDonor */ && tj === 5 /* HydrogenAcceptor */) ||
|
|
159
|
-
(ti === 5 /* HydrogenAcceptor */ && tj === 9 /* WeakHydrogenDonor */));
|
|
158
|
+
return ((ti === 9 /* FeatureType.WeakHydrogenDonor */ && tj === 5 /* FeatureType.HydrogenAcceptor */) ||
|
|
159
|
+
(ti === 5 /* FeatureType.HydrogenAcceptor */ && tj === 9 /* FeatureType.WeakHydrogenDonor */));
|
|
160
160
|
}
|
|
161
161
|
function getGeometryOptions(props) {
|
|
162
162
|
return {
|
|
@@ -180,7 +180,7 @@ function checkGeometry(structure, don, acc, opts) {
|
|
|
180
180
|
var idealDonAngle = AtomGeometryAngles.get(don.idealGeometry[donIndex]) || deg120InRad;
|
|
181
181
|
if (donAngles.some(function (donAngle) { return Math.abs(idealDonAngle - donAngle) > opts.maxDonAngleDev; }))
|
|
182
182
|
return;
|
|
183
|
-
if (don.idealGeometry[donIndex] === 3 /* Trigonal */) {
|
|
183
|
+
if (don.idealGeometry[donIndex] === 3 /* AtomGeometry.Trigonal */) {
|
|
184
184
|
var outOfPlane = calcPlaneAngle(structure, don.unit, donIndex, acc.unit, accIndex);
|
|
185
185
|
if (outOfPlane !== undefined && outOfPlane > opts.maxDonOutOfPlaneAngle)
|
|
186
186
|
return;
|
|
@@ -190,7 +190,7 @@ function checkGeometry(structure, don, acc, opts) {
|
|
|
190
190
|
// Do not limit large acceptor angles
|
|
191
191
|
if (accAngles.some(function (accAngle) { return idealAccAngle - accAngle > opts.maxAccAngleDev; }))
|
|
192
192
|
return;
|
|
193
|
-
if (acc.idealGeometry[accIndex] === 3 /* Trigonal */) {
|
|
193
|
+
if (acc.idealGeometry[accIndex] === 3 /* AtomGeometry.Trigonal */) {
|
|
194
194
|
var outOfPlane = calcPlaneAngle(structure, acc.unit, accIndex, don.unit, donIndex);
|
|
195
195
|
if (outOfPlane !== undefined && outOfPlane > opts.maxAccOutOfPlaneAngle)
|
|
196
196
|
return;
|
|
@@ -202,33 +202,33 @@ function testHydrogenBond(structure, infoA, infoB, distanceSq, opts) {
|
|
|
202
202
|
var typeB = infoB.types[infoB.feature];
|
|
203
203
|
if (!isHydrogenBond(typeA, typeB))
|
|
204
204
|
return;
|
|
205
|
-
var _a = typeB === 5 /* HydrogenAcceptor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
|
|
205
|
+
var _a = typeB === 5 /* FeatureType.HydrogenAcceptor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
|
|
206
206
|
var donIndex = don.members[don.offsets[don.feature]];
|
|
207
207
|
var accIndex = acc.members[acc.offsets[acc.feature]];
|
|
208
208
|
// check if distance is ok depending on non-sulfur-containing hbond
|
|
209
|
-
var maxDistSq = typeSymbol(don.unit, donIndex) === "S" /* S */ || typeSymbol(acc.unit, accIndex) === "S" /* S */ ? opts.maxSulfurDistSq : opts.maxDistSq;
|
|
209
|
+
var maxDistSq = typeSymbol(don.unit, donIndex) === "S" /* Elements.S */ || typeSymbol(acc.unit, accIndex) === "S" /* Elements.S */ ? opts.maxSulfurDistSq : opts.maxDistSq;
|
|
210
210
|
if (distanceSq > maxDistSq)
|
|
211
211
|
return;
|
|
212
212
|
if (!opts.includeWater && isWaterHydrogenBond(don.unit, donIndex, acc.unit, accIndex))
|
|
213
213
|
return;
|
|
214
214
|
if (!checkGeometry(structure, don, acc, opts))
|
|
215
215
|
return;
|
|
216
|
-
return 4 /* HydrogenBond */;
|
|
216
|
+
return 4 /* InteractionType.HydrogenBond */;
|
|
217
217
|
}
|
|
218
218
|
function testWeakHydrogenBond(structure, infoA, infoB, distanceSq, opts) {
|
|
219
219
|
var typeA = infoA.types[infoA.feature];
|
|
220
220
|
var typeB = infoB.types[infoB.feature];
|
|
221
221
|
if (!isWeakHydrogenBond(typeA, typeB))
|
|
222
222
|
return;
|
|
223
|
-
var _a = typeB === 5 /* HydrogenAcceptor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
|
|
223
|
+
var _a = typeB === 5 /* FeatureType.HydrogenAcceptor */ ? [infoA, infoB] : [infoB, infoA], don = _a[0], acc = _a[1];
|
|
224
224
|
if (!checkGeometry(structure, don, acc, opts))
|
|
225
225
|
return;
|
|
226
|
-
return 8 /* WeakHydrogenBond */;
|
|
226
|
+
return 8 /* InteractionType.WeakHydrogenBond */;
|
|
227
227
|
}
|
|
228
228
|
//
|
|
229
|
-
export var HydrogenDonorProvider = Features.Provider([4 /* HydrogenDonor */], addUnitHydrogenDonors);
|
|
230
|
-
export var WeakHydrogenDonorProvider = Features.Provider([9 /* WeakHydrogenDonor */], addUnitWeakHydrogenDonors);
|
|
231
|
-
export var HydrogenAcceptorProvider = Features.Provider([5 /* HydrogenAcceptor */], addUnitHydrogenAcceptors);
|
|
229
|
+
export var HydrogenDonorProvider = Features.Provider([4 /* FeatureType.HydrogenDonor */], addUnitHydrogenDonors);
|
|
230
|
+
export var WeakHydrogenDonorProvider = Features.Provider([9 /* FeatureType.WeakHydrogenDonor */], addUnitWeakHydrogenDonors);
|
|
231
|
+
export var HydrogenAcceptorProvider = Features.Provider([5 /* FeatureType.HydrogenAcceptor */], addUnitHydrogenAcceptors);
|
|
232
232
|
export var HydrogenBondsProvider = {
|
|
233
233
|
name: 'hydrogen-bonds',
|
|
234
234
|
params: HydrogenBondsParams,
|
|
@@ -237,7 +237,7 @@ export var HydrogenBondsProvider = {
|
|
|
237
237
|
var opts = getHydrogenBondsOptions(props);
|
|
238
238
|
return {
|
|
239
239
|
maxDistance: maxDistance,
|
|
240
|
-
requiredFeatures: new Set([4 /* HydrogenDonor */, 5 /* HydrogenAcceptor */]),
|
|
240
|
+
requiredFeatures: new Set([4 /* FeatureType.HydrogenDonor */, 5 /* FeatureType.HydrogenAcceptor */]),
|
|
241
241
|
getType: function (structure, infoA, infoB, distanceSq) { return testHydrogenBond(structure, infoA, infoB, distanceSq, opts); }
|
|
242
242
|
};
|
|
243
243
|
}
|
|
@@ -249,7 +249,7 @@ export var WeakHydrogenBondsProvider = {
|
|
|
249
249
|
var opts = getGeometryOptions(props);
|
|
250
250
|
return {
|
|
251
251
|
maxDistance: props.distanceMax,
|
|
252
|
-
requiredFeatures: new Set([9 /* WeakHydrogenDonor */, 5 /* HydrogenAcceptor */]),
|
|
252
|
+
requiredFeatures: new Set([9 /* FeatureType.WeakHydrogenDonor */, 5 /* FeatureType.HydrogenAcceptor */]),
|
|
253
253
|
getType: function (structure, infoA, infoB, distanceSq) { return testWeakHydrogenBond(structure, infoA, infoB, distanceSq, opts); }
|
|
254
254
|
};
|
|
255
255
|
}
|
|
@@ -23,19 +23,19 @@ function addHydrophobicAtom(structure, unit, builder) {
|
|
|
23
23
|
var _loop_1 = function (i, il) {
|
|
24
24
|
var element = typeSymbol(unit, i);
|
|
25
25
|
var flag = false;
|
|
26
|
-
if (element === "C" /* C */) {
|
|
26
|
+
if (element === "C" /* Elements.C */) {
|
|
27
27
|
flag = true;
|
|
28
28
|
eachBondedAtom(structure, unit, i, function (unitB, indexB) {
|
|
29
29
|
var elementB = typeSymbol(unitB, indexB);
|
|
30
|
-
if (elementB !== "C" /* C */ && elementB !== "H" /* H */)
|
|
30
|
+
if (elementB !== "C" /* Elements.C */ && elementB !== "H" /* Elements.H */)
|
|
31
31
|
flag = false;
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
|
-
else if (element === "F" /* F */) {
|
|
34
|
+
else if (element === "F" /* Elements.F */) {
|
|
35
35
|
flag = true;
|
|
36
36
|
}
|
|
37
37
|
if (flag) {
|
|
38
|
-
builder.add(8 /* HydrophobicAtom */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
38
|
+
builder.add(8 /* FeatureType.HydrophobicAtom */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
41
|
for (var i = 0, il = elements.length; i < il; ++i) {
|
|
@@ -43,7 +43,7 @@ function addHydrophobicAtom(structure, unit, builder) {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
function isHydrophobicContact(ti, tj) {
|
|
46
|
-
return ti === 8 /* HydrophobicAtom */ && tj === 8 /* HydrophobicAtom */;
|
|
46
|
+
return ti === 8 /* FeatureType.HydrophobicAtom */ && tj === 8 /* FeatureType.HydrophobicAtom */;
|
|
47
47
|
}
|
|
48
48
|
function testHydrophobic(structure, infoA, infoB, distanceSq) {
|
|
49
49
|
var typeA = infoA.types[infoA.feature];
|
|
@@ -52,19 +52,19 @@ function testHydrophobic(structure, infoA, infoB, distanceSq) {
|
|
|
52
52
|
return;
|
|
53
53
|
var indexA = infoA.members[infoA.offsets[infoA.feature]];
|
|
54
54
|
var indexB = infoB.members[infoB.offsets[infoB.feature]];
|
|
55
|
-
if (typeSymbol(infoA.unit, indexA) === "F" /* F */ && typeSymbol(infoB.unit, indexB) === "F" /* F */)
|
|
55
|
+
if (typeSymbol(infoA.unit, indexA) === "F" /* Elements.F */ && typeSymbol(infoB.unit, indexB) === "F" /* Elements.F */)
|
|
56
56
|
return;
|
|
57
|
-
return 6 /* Hydrophobic */;
|
|
57
|
+
return 6 /* InteractionType.Hydrophobic */;
|
|
58
58
|
}
|
|
59
59
|
//
|
|
60
|
-
export var HydrophobicAtomProvider = Features.Provider([8 /* HydrophobicAtom */], addHydrophobicAtom);
|
|
60
|
+
export var HydrophobicAtomProvider = Features.Provider([8 /* FeatureType.HydrophobicAtom */], addHydrophobicAtom);
|
|
61
61
|
export var HydrophobicProvider = {
|
|
62
62
|
name: 'hydrophobic',
|
|
63
63
|
params: HydrophobicParams,
|
|
64
64
|
createTester: function (props) {
|
|
65
65
|
return {
|
|
66
66
|
maxDistance: props.distanceMax,
|
|
67
|
-
requiredFeatures: new Set([8 /* HydrophobicAtom */]),
|
|
67
|
+
requiredFeatures: new Set([8 /* FeatureType.HydrophobicAtom */]),
|
|
68
68
|
getType: function (structure, infoA, infoB, distanceSq) { return testHydrophobic(structure, infoA, infoB, distanceSq); }
|
|
69
69
|
};
|
|
70
70
|
}
|
|
@@ -14,25 +14,25 @@ export var MetalCoordinationParams = {
|
|
|
14
14
|
distanceMax: PD.Numeric(3.0, { min: 1, max: 5, step: 0.1 }),
|
|
15
15
|
};
|
|
16
16
|
var IonicTypeMetals = [
|
|
17
|
-
"LI" /* LI */, "NA" /* NA */, "K" /* K */, "RB" /* RB */, "CS" /* CS */,
|
|
18
|
-
"MG" /* MG */, "CA" /* CA */, "SR" /* SR */, "BA" /* BA */, "AL" /* AL */,
|
|
19
|
-
"GA" /* GA */, "IN" /* IN */, "TL" /* TL */, "SC" /* SC */, "SN" /* SN */,
|
|
20
|
-
"PB" /* PB */, "BI" /* BI */, "SB" /* SB */, "HG" /* HG */
|
|
17
|
+
"LI" /* Elements.LI */, "NA" /* Elements.NA */, "K" /* Elements.K */, "RB" /* Elements.RB */, "CS" /* Elements.CS */,
|
|
18
|
+
"MG" /* Elements.MG */, "CA" /* Elements.CA */, "SR" /* Elements.SR */, "BA" /* Elements.BA */, "AL" /* Elements.AL */,
|
|
19
|
+
"GA" /* Elements.GA */, "IN" /* Elements.IN */, "TL" /* Elements.TL */, "SC" /* Elements.SC */, "SN" /* Elements.SN */,
|
|
20
|
+
"PB" /* Elements.PB */, "BI" /* Elements.BI */, "SB" /* Elements.SB */, "HG" /* Elements.HG */
|
|
21
21
|
];
|
|
22
22
|
function addMetal(structure, unit, builder) {
|
|
23
23
|
var elements = unit.elements;
|
|
24
24
|
var _a = unit.model.atomicConformation, x = _a.x, y = _a.y, z = _a.z;
|
|
25
25
|
for (var i = 0, il = elements.length; i < il; ++i) {
|
|
26
26
|
var element = typeSymbol(unit, i);
|
|
27
|
-
var type = 0 /* None */;
|
|
27
|
+
var type = 0 /* FeatureType.None */;
|
|
28
28
|
if (IonicTypeMetals.includes(element)) {
|
|
29
|
-
type = 13 /* IonicTypeMetal */;
|
|
29
|
+
type = 13 /* FeatureType.IonicTypeMetal */;
|
|
30
30
|
}
|
|
31
|
-
else if (isTransitionMetal(element) || element === "ZN" /* ZN */ || element === "CD" /* CD */) {
|
|
32
|
-
type = 12 /* TransitionMetal */;
|
|
31
|
+
else if (isTransitionMetal(element) || element === "ZN" /* Elements.ZN */ || element === "CD" /* Elements.CD */) {
|
|
32
|
+
type = 12 /* FeatureType.TransitionMetal */;
|
|
33
33
|
}
|
|
34
34
|
if (type) {
|
|
35
|
-
builder.add(type, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
35
|
+
builder.add(type, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -60,17 +60,17 @@ function addMetalBinding(structure, unit, builder) {
|
|
|
60
60
|
var isStandardAminoacid = AminoAcidNames.has(resname);
|
|
61
61
|
var isStandardBase = BaseNames.has(resname);
|
|
62
62
|
if (!isStandardAminoacid && !isStandardBase) {
|
|
63
|
-
if (isHalogen(element) || element === "O" /* O */ || element === "S" /* S */) {
|
|
63
|
+
if (isHalogen(element) || element === "O" /* Elements.O */ || element === "S" /* Elements.S */) {
|
|
64
64
|
dative = true;
|
|
65
65
|
ionic = true;
|
|
66
66
|
}
|
|
67
|
-
else if (element === "N" /* N */) {
|
|
67
|
+
else if (element === "N" /* Elements.N */) {
|
|
68
68
|
dative = true;
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
else if (isStandardAminoacid) {
|
|
72
72
|
// main chain oxygen atom or oxygen, nitrogen and sulfur from specific amino acids
|
|
73
|
-
if (element === "O" /* O */) {
|
|
73
|
+
if (element === "O" /* Elements.O */) {
|
|
74
74
|
if (['ASP', 'GLU', 'SER', 'THR', 'TYR', 'ASN', 'GLN'].includes(resname) && isProteinSidechain(atomname)) {
|
|
75
75
|
dative = true;
|
|
76
76
|
ionic = true;
|
|
@@ -80,11 +80,11 @@ function addMetalBinding(structure, unit, builder) {
|
|
|
80
80
|
ionic = true;
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
else if (element === "S" /* S */ && (resname === 'CYS' || resname === 'MET')) {
|
|
83
|
+
else if (element === "S" /* Elements.S */ && (resname === 'CYS' || resname === 'MET')) {
|
|
84
84
|
dative = true;
|
|
85
85
|
ionic = true;
|
|
86
86
|
}
|
|
87
|
-
else if (element === "N" /* N */) {
|
|
87
|
+
else if (element === "N" /* Elements.N */) {
|
|
88
88
|
if (resname === 'HIS' && isProteinSidechain(atomname)) {
|
|
89
89
|
dative = true;
|
|
90
90
|
}
|
|
@@ -93,7 +93,7 @@ function addMetalBinding(structure, unit, builder) {
|
|
|
93
93
|
else if (isStandardBase) {
|
|
94
94
|
// http://pubs.acs.org/doi/pdf/10.1021/acs.accounts.6b00253
|
|
95
95
|
// http://onlinelibrary.wiley.com/doi/10.1002/anie.200900399/full
|
|
96
|
-
if (element === "O" /* O */ && isNucleicBackbone(atomname)) {
|
|
96
|
+
if (element === "O" /* Elements.O */ && isNucleicBackbone(atomname)) {
|
|
97
97
|
dative = true;
|
|
98
98
|
ionic = true;
|
|
99
99
|
}
|
|
@@ -106,20 +106,20 @@ function addMetalBinding(structure, unit, builder) {
|
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
if (dative) {
|
|
109
|
-
builder.add(11 /* DativeBondPartner */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
109
|
+
builder.add(11 /* FeatureType.DativeBondPartner */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
110
110
|
}
|
|
111
111
|
if (ionic) {
|
|
112
|
-
builder.add(10 /* IonicTypePartner */, 0 /* None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
112
|
+
builder.add(10 /* FeatureType.IonicTypePartner */, 0 /* FeatureGroup.None */, x[elements[i]], y[elements[i]], z[elements[i]], i);
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
function isMetalCoordination(ti, tj) {
|
|
117
|
-
if (ti === 12 /* TransitionMetal */) {
|
|
118
|
-
return (tj === 11 /* DativeBondPartner */ ||
|
|
119
|
-
tj === 12 /* TransitionMetal */);
|
|
117
|
+
if (ti === 12 /* FeatureType.TransitionMetal */) {
|
|
118
|
+
return (tj === 11 /* FeatureType.DativeBondPartner */ ||
|
|
119
|
+
tj === 12 /* FeatureType.TransitionMetal */);
|
|
120
120
|
}
|
|
121
|
-
else if (ti === 13 /* IonicTypeMetal */) {
|
|
122
|
-
return (tj === 10 /* IonicTypePartner */);
|
|
121
|
+
else if (ti === 13 /* FeatureType.IonicTypeMetal */) {
|
|
122
|
+
return (tj === 10 /* FeatureType.IonicTypePartner */);
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
function testMetalCoordination(structure, infoA, infoB, distanceSq) {
|
|
@@ -127,18 +127,18 @@ function testMetalCoordination(structure, infoA, infoB, distanceSq) {
|
|
|
127
127
|
var typeB = infoB.types[infoB.feature];
|
|
128
128
|
if (!isMetalCoordination(typeA, typeB) && !isMetalCoordination(typeB, typeA))
|
|
129
129
|
return;
|
|
130
|
-
return 7 /* MetalCoordination */;
|
|
130
|
+
return 7 /* InteractionType.MetalCoordination */;
|
|
131
131
|
}
|
|
132
132
|
//
|
|
133
|
-
export var MetalProvider = Features.Provider([13 /* IonicTypeMetal */, 12 /* TransitionMetal */], addMetal);
|
|
134
|
-
export var MetalBindingProvider = Features.Provider([10 /* IonicTypePartner */, 11 /* DativeBondPartner */], addMetalBinding);
|
|
133
|
+
export var MetalProvider = Features.Provider([13 /* FeatureType.IonicTypeMetal */, 12 /* FeatureType.TransitionMetal */], addMetal);
|
|
134
|
+
export var MetalBindingProvider = Features.Provider([10 /* FeatureType.IonicTypePartner */, 11 /* FeatureType.DativeBondPartner */], addMetalBinding);
|
|
135
135
|
export var MetalCoordinationProvider = {
|
|
136
136
|
name: 'metal-coordination',
|
|
137
137
|
params: MetalCoordinationParams,
|
|
138
138
|
createTester: function (props) {
|
|
139
139
|
return {
|
|
140
140
|
maxDistance: props.distanceMax,
|
|
141
|
-
requiredFeatures: new Set([13 /* IonicTypeMetal */, 12 /* TransitionMetal */, 10 /* IonicTypePartner */, 11 /* DativeBondPartner */]),
|
|
141
|
+
requiredFeatures: new Set([13 /* FeatureType.IonicTypeMetal */, 12 /* FeatureType.TransitionMetal */, 10 /* FeatureType.IonicTypePartner */, 11 /* FeatureType.DativeBondPartner */]),
|
|
142
142
|
getType: function (structure, infoA, infoB, distanceSq) { return testMetalCoordination(structure, infoA, infoB, distanceSq); }
|
|
143
143
|
};
|
|
144
144
|
}
|