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
|
@@ -10,7 +10,7 @@ function isAromatic(unit, index) {
|
|
|
10
10
|
// TODO also extend unit.rings with geometry/composition-based aromaticity detection and use it here in addition
|
|
11
11
|
var _a = unit.bonds, offset = _a.offset, edgeProps = _a.edgeProps;
|
|
12
12
|
for (var i = offset[index], il = offset[index + 1]; i < il; ++i) {
|
|
13
|
-
if (BondType.is(16 /* Aromatic */, edgeProps.flags[i]))
|
|
13
|
+
if (BondType.is(16 /* BondType.Flag.Aromatic */, edgeProps.flags[i]))
|
|
14
14
|
return true;
|
|
15
15
|
}
|
|
16
16
|
return false;
|
|
@@ -28,15 +28,15 @@ function bondToCarbonylCount(structure, unit, index) {
|
|
|
28
28
|
* Nitrogen in a quaternary amine
|
|
29
29
|
*/
|
|
30
30
|
export function isQuaternaryAmine(structure, unit, index) {
|
|
31
|
-
return (typeSymbol(unit, index) === "N" /* N */ &&
|
|
31
|
+
return (typeSymbol(unit, index) === "N" /* Elements.N */ &&
|
|
32
32
|
bondCount(structure, unit, index) === 4 &&
|
|
33
|
-
bondToElementCount(structure, unit, index, "H" /* H */) === 0);
|
|
33
|
+
bondToElementCount(structure, unit, index, "H" /* Elements.H */) === 0);
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* Nitrogen in a tertiary amine
|
|
37
37
|
*/
|
|
38
38
|
export function isTertiaryAmine(structure, unit, index, idealValence) {
|
|
39
|
-
return (typeSymbol(unit, index) === "N" /* N */ &&
|
|
39
|
+
return (typeSymbol(unit, index) === "N" /* Elements.N */ &&
|
|
40
40
|
bondCount(structure, unit, index) === 4 &&
|
|
41
41
|
idealValence === 3);
|
|
42
42
|
}
|
|
@@ -45,8 +45,8 @@ export function isTertiaryAmine(structure, unit, index, idealValence) {
|
|
|
45
45
|
*/
|
|
46
46
|
export function isImide(structure, unit, index) {
|
|
47
47
|
var flag = false;
|
|
48
|
-
if (typeSymbol(unit, index) === "N" /* N */ &&
|
|
49
|
-
(bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* H */)) === 2) {
|
|
48
|
+
if (typeSymbol(unit, index) === "N" /* Elements.N */ &&
|
|
49
|
+
(bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* Elements.H */)) === 2) {
|
|
50
50
|
flag = bondToCarbonylCount(structure, unit, index) === 2;
|
|
51
51
|
}
|
|
52
52
|
return flag;
|
|
@@ -56,8 +56,8 @@ export function isImide(structure, unit, index) {
|
|
|
56
56
|
*/
|
|
57
57
|
export function isAmide(structure, unit, index) {
|
|
58
58
|
var flag = false;
|
|
59
|
-
if (typeSymbol(unit, index) === "N" /* N */ &&
|
|
60
|
-
(bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* H */)) === 2) {
|
|
59
|
+
if (typeSymbol(unit, index) === "N" /* Elements.N */ &&
|
|
60
|
+
(bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* Elements.H */)) === 2) {
|
|
61
61
|
flag = bondToCarbonylCount(structure, unit, index) === 1;
|
|
62
62
|
}
|
|
63
63
|
return flag;
|
|
@@ -66,30 +66,30 @@ export function isAmide(structure, unit, index) {
|
|
|
66
66
|
* Sulfur in a sulfonium group
|
|
67
67
|
*/
|
|
68
68
|
export function isSulfonium(structure, unit, index) {
|
|
69
|
-
return (typeSymbol(unit, index) === "S" /* S */ &&
|
|
69
|
+
return (typeSymbol(unit, index) === "S" /* Elements.S */ &&
|
|
70
70
|
bondCount(structure, unit, index) === 3 &&
|
|
71
|
-
bondToElementCount(structure, unit, index, "H" /* H */) === 0);
|
|
71
|
+
bondToElementCount(structure, unit, index, "H" /* Elements.H */) === 0);
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
74
|
* Sulfur in a sulfonic acid or sulfonate group
|
|
75
75
|
*/
|
|
76
76
|
export function isSulfonicAcid(structure, unit, index) {
|
|
77
|
-
return (typeSymbol(unit, index) === "S" /* S */ &&
|
|
78
|
-
bondToElementCount(structure, unit, index, "O" /* O */) === 3);
|
|
77
|
+
return (typeSymbol(unit, index) === "S" /* Elements.S */ &&
|
|
78
|
+
bondToElementCount(structure, unit, index, "O" /* Elements.O */) === 3);
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
81
|
* Sulfur in a sulfate group
|
|
82
82
|
*/
|
|
83
83
|
export function isSulfate(structure, unit, index) {
|
|
84
|
-
return (typeSymbol(unit, index) === "S" /* S */ &&
|
|
85
|
-
bondToElementCount(structure, unit, index, "O" /* O */) === 4);
|
|
84
|
+
return (typeSymbol(unit, index) === "S" /* Elements.S */ &&
|
|
85
|
+
bondToElementCount(structure, unit, index, "O" /* Elements.O */) === 4);
|
|
86
86
|
}
|
|
87
87
|
/**
|
|
88
88
|
* Phosphor in a phosphate group
|
|
89
89
|
*/
|
|
90
90
|
export function isPhosphate(structure, unit, index) {
|
|
91
|
-
return (typeSymbol(unit, index) === "P" /* P */ &&
|
|
92
|
-
bondToElementCount(structure, unit, index, "O" /* O */) === bondCount(structure, unit, index));
|
|
91
|
+
return (typeSymbol(unit, index) === "P" /* Elements.P */ &&
|
|
92
|
+
bondToElementCount(structure, unit, index, "O" /* Elements.O */) === bondCount(structure, unit, index));
|
|
93
93
|
}
|
|
94
94
|
/**
|
|
95
95
|
* Halogen with one bond to a carbon
|
|
@@ -97,7 +97,7 @@ export function isPhosphate(structure, unit, index) {
|
|
|
97
97
|
export function isHalocarbon(structure, unit, index) {
|
|
98
98
|
return (isHalogen(typeSymbol(unit, index)) &&
|
|
99
99
|
bondCount(structure, unit, index) === 1 &&
|
|
100
|
-
bondToElementCount(structure, unit, index, "C" /* C */) === 1);
|
|
100
|
+
bondToElementCount(structure, unit, index, "C" /* Elements.C */) === 1);
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
103
|
* Carbon in a carbonyl/acyl group
|
|
@@ -106,10 +106,10 @@ export function isHalocarbon(structure, unit, index) {
|
|
|
106
106
|
*/
|
|
107
107
|
export function isCarbonyl(structure, unit, index) {
|
|
108
108
|
var flag = false;
|
|
109
|
-
if (typeSymbol(unit, index) === "C" /* C */) {
|
|
109
|
+
if (typeSymbol(unit, index) === "C" /* Elements.C */) {
|
|
110
110
|
var _a = unit.bonds, offset = _a.offset, edgeProps = _a.edgeProps, b = _a.b;
|
|
111
111
|
for (var i = offset[index], il = offset[index + 1]; i < il; ++i) {
|
|
112
|
-
if (edgeProps.order[i] === 2 && typeSymbol(unit, b[i]) === "O" /* O */) {
|
|
112
|
+
if (edgeProps.order[i] === 2 && typeSymbol(unit, b[i]) === "O" /* Elements.O */) {
|
|
113
113
|
flag = true;
|
|
114
114
|
break;
|
|
115
115
|
}
|
|
@@ -122,12 +122,12 @@ export function isCarbonyl(structure, unit, index) {
|
|
|
122
122
|
*/
|
|
123
123
|
export function isCarboxylate(structure, unit, index) {
|
|
124
124
|
var terminalOxygenCount = 0;
|
|
125
|
-
if (typeSymbol(unit, index) === "C" /* C */ &&
|
|
126
|
-
bondToElementCount(structure, unit, index, "O" /* O */) === 2 &&
|
|
127
|
-
bondToElementCount(structure, unit, index, "C" /* C */) === 1) {
|
|
125
|
+
if (typeSymbol(unit, index) === "C" /* Elements.C */ &&
|
|
126
|
+
bondToElementCount(structure, unit, index, "O" /* Elements.O */) === 2 &&
|
|
127
|
+
bondToElementCount(structure, unit, index, "C" /* Elements.C */) === 1) {
|
|
128
128
|
eachBondedAtom(structure, unit, index, function (unit, index) {
|
|
129
|
-
if (typeSymbol(unit, index) === "O" /* O */ &&
|
|
130
|
-
bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* H */) === 1) {
|
|
129
|
+
if (typeSymbol(unit, index) === "O" /* Elements.O */ &&
|
|
130
|
+
bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* Elements.H */) === 1) {
|
|
131
131
|
terminalOxygenCount += 1;
|
|
132
132
|
}
|
|
133
133
|
});
|
|
@@ -139,11 +139,11 @@ export function isCarboxylate(structure, unit, index) {
|
|
|
139
139
|
*/
|
|
140
140
|
export function isGuanidine(structure, unit, index) {
|
|
141
141
|
var terminalNitrogenCount = 0;
|
|
142
|
-
if (typeSymbol(unit, index) === "C" /* C */ &&
|
|
142
|
+
if (typeSymbol(unit, index) === "C" /* Elements.C */ &&
|
|
143
143
|
bondCount(structure, unit, index) === 3 &&
|
|
144
|
-
bondToElementCount(structure, unit, index, "N" /* N */) === 3) {
|
|
144
|
+
bondToElementCount(structure, unit, index, "N" /* Elements.N */) === 3) {
|
|
145
145
|
eachBondedAtom(structure, unit, index, function (unit, index) {
|
|
146
|
-
if (bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* H */) === 1) {
|
|
146
|
+
if (bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* Elements.H */) === 1) {
|
|
147
147
|
terminalNitrogenCount += 1;
|
|
148
148
|
}
|
|
149
149
|
});
|
|
@@ -155,12 +155,12 @@ export function isGuanidine(structure, unit, index) {
|
|
|
155
155
|
*/
|
|
156
156
|
export function isAcetamidine(structure, unit, index) {
|
|
157
157
|
var terminalNitrogenCount = 0;
|
|
158
|
-
if (typeSymbol(unit, index) === "C" /* C */ &&
|
|
158
|
+
if (typeSymbol(unit, index) === "C" /* Elements.C */ &&
|
|
159
159
|
bondCount(structure, unit, index) === 3 &&
|
|
160
|
-
bondToElementCount(structure, unit, index, "N" /* N */) === 2 &&
|
|
161
|
-
bondToElementCount(structure, unit, index, "C" /* C */) === 1) {
|
|
160
|
+
bondToElementCount(structure, unit, index, "N" /* Elements.N */) === 2 &&
|
|
161
|
+
bondToElementCount(structure, unit, index, "C" /* Elements.C */) === 1) {
|
|
162
162
|
eachBondedAtom(structure, unit, index, function (unit, index) {
|
|
163
|
-
if (bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* H */) === 1) {
|
|
163
|
+
if (bondCount(structure, unit, index) - bondToElementCount(structure, unit, index, "H" /* Elements.H */) === 1) {
|
|
164
164
|
terminalNitrogenCount += 1;
|
|
165
165
|
}
|
|
166
166
|
});
|
|
@@ -9,41 +9,41 @@ import { Vec3 } from '../../../mol-math/linear-algebra';
|
|
|
9
9
|
import { eachBondedAtom, typeSymbol } from './util';
|
|
10
10
|
export function geometryLabel(geometry) {
|
|
11
11
|
switch (geometry) {
|
|
12
|
-
case 0 /* Spherical */:
|
|
12
|
+
case 0 /* AtomGeometry.Spherical */:
|
|
13
13
|
return 'Spherical';
|
|
14
|
-
case 1 /* Terminal */:
|
|
14
|
+
case 1 /* AtomGeometry.Terminal */:
|
|
15
15
|
return 'Terminal';
|
|
16
|
-
case 2 /* Linear */:
|
|
16
|
+
case 2 /* AtomGeometry.Linear */:
|
|
17
17
|
return 'Linear';
|
|
18
|
-
case 3 /* Trigonal */:
|
|
18
|
+
case 3 /* AtomGeometry.Trigonal */:
|
|
19
19
|
return 'Trigonal';
|
|
20
|
-
case 4 /* Tetrahedral */:
|
|
20
|
+
case 4 /* AtomGeometry.Tetrahedral */:
|
|
21
21
|
return 'Tetrahedral';
|
|
22
|
-
case 5 /* TrigonalBiPyramidal */:
|
|
22
|
+
case 5 /* AtomGeometry.TrigonalBiPyramidal */:
|
|
23
23
|
return 'Trigonal Bi-Pyramidal';
|
|
24
|
-
case 6 /* Octahedral */:
|
|
24
|
+
case 6 /* AtomGeometry.Octahedral */:
|
|
25
25
|
return 'Octahedral';
|
|
26
|
-
case 7 /* SquarePlanar */:
|
|
26
|
+
case 7 /* AtomGeometry.SquarePlanar */:
|
|
27
27
|
return 'Square Planar';
|
|
28
|
-
case 8 /* Unknown */:
|
|
28
|
+
case 8 /* AtomGeometry.Unknown */:
|
|
29
29
|
return 'Unknown';
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
export function assignGeometry(totalCoordination) {
|
|
33
33
|
switch (totalCoordination) {
|
|
34
|
-
case 0: return 0 /* Spherical */;
|
|
35
|
-
case 1: return 1 /* Terminal */;
|
|
36
|
-
case 2: return 2 /* Linear */;
|
|
37
|
-
case 3: return 3 /* Trigonal */;
|
|
38
|
-
case 4: return 4 /* Tetrahedral */;
|
|
39
|
-
default: return 8 /* Unknown */;
|
|
34
|
+
case 0: return 0 /* AtomGeometry.Spherical */;
|
|
35
|
+
case 1: return 1 /* AtomGeometry.Terminal */;
|
|
36
|
+
case 2: return 2 /* AtomGeometry.Linear */;
|
|
37
|
+
case 3: return 3 /* AtomGeometry.Trigonal */;
|
|
38
|
+
case 4: return 4 /* AtomGeometry.Tetrahedral */;
|
|
39
|
+
default: return 8 /* AtomGeometry.Unknown */;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
export var AtomGeometryAngles = new Map([
|
|
43
|
-
[2 /* Linear */, degToRad(180)],
|
|
44
|
-
[3 /* Trigonal */, degToRad(120)],
|
|
45
|
-
[4 /* Tetrahedral */, degToRad(109.4721)],
|
|
46
|
-
[6 /* Octahedral */, degToRad(90)]
|
|
43
|
+
[2 /* AtomGeometry.Linear */, degToRad(180)],
|
|
44
|
+
[3 /* AtomGeometry.Trigonal */, degToRad(120)],
|
|
45
|
+
[4 /* AtomGeometry.Tetrahedral */, degToRad(109.4721)],
|
|
46
|
+
[6 /* AtomGeometry.Octahedral */, degToRad(90)]
|
|
47
47
|
]);
|
|
48
48
|
// tmp objects for `calcAngles` and `calcPlaneAngle`
|
|
49
49
|
var tmpDir1 = Vec3();
|
|
@@ -60,7 +60,7 @@ export function calcAngles(structure, unitA, indexA, unitB, indexB) {
|
|
|
60
60
|
unitB.conformation.position(unitB.elements[indexB], tmpPosB);
|
|
61
61
|
Vec3.sub(tmpDir1, tmpPosB, tmpPosA);
|
|
62
62
|
eachBondedAtom(structure, unitA, indexA, function (unitX, indexX) {
|
|
63
|
-
if (typeSymbol(unitX, indexX) !== "H" /* H */) {
|
|
63
|
+
if (typeSymbol(unitX, indexX) !== "H" /* Elements.H */) {
|
|
64
64
|
unitX.conformation.position(unitX.elements[indexX], tmpPosX);
|
|
65
65
|
Vec3.sub(tmpDir2, tmpPosX, tmpPosA);
|
|
66
66
|
angles.push(Vec3.angle(tmpDir1, tmpDir2));
|
|
@@ -86,7 +86,7 @@ export function calcPlaneAngle(structure, unitA, indexA, unitB, indexB) {
|
|
|
86
86
|
eachBondedAtom(structure, unitA, indexA, function (unitX, indexX) {
|
|
87
87
|
if (ni > 1)
|
|
88
88
|
return;
|
|
89
|
-
if (typeSymbol(unitX, indexX) !== "H" /* H */) {
|
|
89
|
+
if (typeSymbol(unitX, indexX) !== "H" /* Elements.H */) {
|
|
90
90
|
unitX1 = unitX;
|
|
91
91
|
indexX1 = indexX;
|
|
92
92
|
unitX.conformation.position(unitX.elements[indexX], tmpPosX);
|
|
@@ -99,7 +99,7 @@ export function calcPlaneAngle(structure, unitA, indexA, unitB, indexB) {
|
|
|
99
99
|
return;
|
|
100
100
|
if (unitX === unitA && indexX === indexA)
|
|
101
101
|
return;
|
|
102
|
-
if (typeSymbol(unitX, indexX) !== "H" /* H */) {
|
|
102
|
+
if (typeSymbol(unitX, indexX) !== "H" /* Elements.H */) {
|
|
103
103
|
unitX.conformation.position(unitX.elements[indexX], tmpPosX);
|
|
104
104
|
Vec3.sub(neighbours[ni++], tmpPosX, tmpPosA);
|
|
105
105
|
}
|
|
@@ -34,7 +34,7 @@ var tmpConjBondItB = new Bond.ElementBondIterator();
|
|
|
34
34
|
*/
|
|
35
35
|
function isConjugated(structure, unit, index) {
|
|
36
36
|
var element = typeSymbol(unit, index);
|
|
37
|
-
var hetero = element === "O" /* O */ || element === "N" /* N */;
|
|
37
|
+
var hetero = element === "O" /* Elements.O */ || element === "N" /* Elements.N */;
|
|
38
38
|
if (hetero && bondCount(structure, unit, index) === 4)
|
|
39
39
|
return false;
|
|
40
40
|
tmpConjBondItA.setElement(structure, unit, index);
|
|
@@ -48,8 +48,8 @@ function isConjugated(structure, unit, index) {
|
|
|
48
48
|
while (tmpConjBondItB.hasNext) {
|
|
49
49
|
var bB = tmpConjBondItB.move();
|
|
50
50
|
if (bB.order > 1) {
|
|
51
|
-
if ((elementB === "P" /* P */ || elementB === "S" /* S */) &&
|
|
52
|
-
typeSymbol(bB.otherUnit, bB.otherIndex) === "O" /* O */) {
|
|
51
|
+
if ((elementB === "P" /* Elements.P */ || elementB === "S" /* Elements.S */) &&
|
|
52
|
+
typeSymbol(bB.otherUnit, bB.otherIndex) === "O" /* Elements.O */) {
|
|
53
53
|
continue;
|
|
54
54
|
}
|
|
55
55
|
return true;
|
|
@@ -89,7 +89,7 @@ var tmpChargeBondItB = new Bond.ElementBondIterator();
|
|
|
89
89
|
* a much simpler view and deduces one from the other
|
|
90
90
|
*/
|
|
91
91
|
export function calculateHydrogensCharge(structure, unit, index, props) {
|
|
92
|
-
var hydrogenCount = bondToElementCount(structure, unit, index, "H" /* H */);
|
|
92
|
+
var hydrogenCount = bondToElementCount(structure, unit, index, "H" /* Elements.H */);
|
|
93
93
|
var element = typeSymbol(unit, index);
|
|
94
94
|
var charge = formalCharge(unit, index);
|
|
95
95
|
var assignCharge = (props.assignCharge === 'always' || (props.assignCharge === 'auto' && charge === 0));
|
|
@@ -99,21 +99,21 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
|
|
|
99
99
|
var conjugated = isConjugated(structure, unit, index);
|
|
100
100
|
var multiBond = (valence - degree > 0);
|
|
101
101
|
var implicitHCount = 0;
|
|
102
|
-
var geom = 8 /* Unknown */;
|
|
102
|
+
var geom = 8 /* AtomGeometry.Unknown */;
|
|
103
103
|
switch (element) {
|
|
104
|
-
case "H" /* H */:
|
|
104
|
+
case "H" /* Elements.H */:
|
|
105
105
|
if (assignCharge) {
|
|
106
106
|
if (degree === 0) {
|
|
107
107
|
charge = 1;
|
|
108
|
-
geom = 0 /* Spherical */;
|
|
108
|
+
geom = 0 /* AtomGeometry.Spherical */;
|
|
109
109
|
}
|
|
110
110
|
else if (degree === 1) {
|
|
111
111
|
charge = 0;
|
|
112
|
-
geom = 1 /* Terminal */;
|
|
112
|
+
geom = 1 /* AtomGeometry.Terminal */;
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
break;
|
|
116
|
-
case "C" /* C */:
|
|
116
|
+
case "C" /* Elements.C */:
|
|
117
117
|
// TODO: Isocyanide?
|
|
118
118
|
if (assignCharge) {
|
|
119
119
|
charge = 0; // Assume carbon always neutral
|
|
@@ -125,7 +125,7 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
|
|
|
125
125
|
// Carbocation is planar, carbanion is tetrahedral
|
|
126
126
|
geom = assignGeometry(degree + implicitHCount + Math.max(0, -charge));
|
|
127
127
|
break;
|
|
128
|
-
case "N" /* N */:
|
|
128
|
+
case "N" /* Elements.N */:
|
|
129
129
|
if (assignCharge) {
|
|
130
130
|
if (!assignH) { // Trust input H explicitly:
|
|
131
131
|
charge = valence - 3;
|
|
@@ -147,7 +147,7 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
|
|
|
147
147
|
while (tmpChargeBondItA.hasNext) {
|
|
148
148
|
var b = tmpChargeBondItA.move();
|
|
149
149
|
var elementB = typeSymbol(b.otherUnit, b.otherIndex);
|
|
150
|
-
if (elementB === "S" /* S */ || isMetal(elementB)) {
|
|
150
|
+
if (elementB === "S" /* Elements.S */ || isMetal(elementB)) {
|
|
151
151
|
charge = 0;
|
|
152
152
|
break;
|
|
153
153
|
}
|
|
@@ -173,7 +173,7 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
|
|
|
173
173
|
geom = assignGeometry(degree + implicitHCount + 1 - charge);
|
|
174
174
|
}
|
|
175
175
|
break;
|
|
176
|
-
case "O" /* O */:
|
|
176
|
+
case "O" /* Elements.O */:
|
|
177
177
|
if (assignCharge) {
|
|
178
178
|
if (!assignH) {
|
|
179
179
|
charge = valence - 2;
|
|
@@ -186,7 +186,7 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
|
|
|
186
186
|
while (tmpChargeBondItB.hasNext) {
|
|
187
187
|
var bB = tmpChargeBondItB.move();
|
|
188
188
|
if (!(bB.otherUnit === unit && bB.otherIndex === index) &&
|
|
189
|
-
typeSymbol(bB.otherUnit, bB.otherIndex) === "O" /* O */ &&
|
|
189
|
+
typeSymbol(bB.otherUnit, bB.otherIndex) === "O" /* Elements.O */ &&
|
|
190
190
|
bB.order === 2) {
|
|
191
191
|
charge = -1;
|
|
192
192
|
break b1;
|
|
@@ -210,10 +210,10 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
|
|
|
210
210
|
break;
|
|
211
211
|
// Only handles thiols/thiolates/thioether/sulfonium. Sulfoxides and higher
|
|
212
212
|
// oxidiation states are assumed neutral S (charge carried on O if required)
|
|
213
|
-
case "S" /* S */:
|
|
213
|
+
case "S" /* Elements.S */:
|
|
214
214
|
if (assignCharge) {
|
|
215
215
|
if (!assignH) {
|
|
216
|
-
if (valence <= 3 && bondToElementCount(structure, unit, index, "O" /* O */) === 0) {
|
|
216
|
+
if (valence <= 3 && bondToElementCount(structure, unit, index, "O" /* Elements.O */) === 0) {
|
|
217
217
|
charge = valence - 2; // e.g. explicitly deprotonated thiol
|
|
218
218
|
}
|
|
219
219
|
else {
|
|
@@ -231,32 +231,32 @@ export function calculateHydrogensCharge(structure, unit, index, props) {
|
|
|
231
231
|
geom = assignGeometry(degree + implicitHCount - charge + 2);
|
|
232
232
|
}
|
|
233
233
|
break;
|
|
234
|
-
case "F" /* F */:
|
|
235
|
-
case "CL" /* CL */:
|
|
236
|
-
case "BR" /* BR */:
|
|
237
|
-
case "I" /* I */:
|
|
238
|
-
case "AT" /* AT */:
|
|
234
|
+
case "F" /* Elements.F */:
|
|
235
|
+
case "CL" /* Elements.CL */:
|
|
236
|
+
case "BR" /* Elements.BR */:
|
|
237
|
+
case "I" /* Elements.I */:
|
|
238
|
+
case "AT" /* Elements.AT */:
|
|
239
239
|
// Never implicitly protonate halides
|
|
240
240
|
if (assignCharge) {
|
|
241
241
|
charge = valence - 1;
|
|
242
242
|
}
|
|
243
243
|
break;
|
|
244
|
-
case "LI" /* LI */:
|
|
245
|
-
case "NA" /* NA */:
|
|
246
|
-
case "K" /* K */:
|
|
247
|
-
case "RB" /* RB */:
|
|
248
|
-
case "CS" /* CS */:
|
|
249
|
-
case "FR" /* FR */:
|
|
244
|
+
case "LI" /* Elements.LI */:
|
|
245
|
+
case "NA" /* Elements.NA */:
|
|
246
|
+
case "K" /* Elements.K */:
|
|
247
|
+
case "RB" /* Elements.RB */:
|
|
248
|
+
case "CS" /* Elements.CS */:
|
|
249
|
+
case "FR" /* Elements.FR */:
|
|
250
250
|
if (assignCharge) {
|
|
251
251
|
charge = 1 - valence;
|
|
252
252
|
}
|
|
253
253
|
break;
|
|
254
|
-
case "BE" /* BE */:
|
|
255
|
-
case "MG" /* MG */:
|
|
256
|
-
case "CA" /* CA */:
|
|
257
|
-
case "SR" /* SR */:
|
|
258
|
-
case "BA" /* BA */:
|
|
259
|
-
case "RA" /* RA */:
|
|
254
|
+
case "BE" /* Elements.BE */:
|
|
255
|
+
case "MG" /* Elements.MG */:
|
|
256
|
+
case "CA" /* Elements.CA */:
|
|
257
|
+
case "SR" /* Elements.SR */:
|
|
258
|
+
case "BA" /* Elements.BA */:
|
|
259
|
+
case "RA" /* Elements.RA */:
|
|
260
260
|
if (assignCharge) {
|
|
261
261
|
charge = 2 - valence;
|
|
262
262
|
}
|
|
@@ -52,36 +52,36 @@ function addUnitPositiveCharges(structure, unit, builder) {
|
|
|
52
52
|
if (PositvelyCharged.includes(compId)) {
|
|
53
53
|
builder.startState();
|
|
54
54
|
for (var j = start; j < end; ++j) {
|
|
55
|
-
if (typeSymbol(unit, j) === "N" /* N */ && !ProteinBackboneAtoms.has(atomId(unit, j))) {
|
|
55
|
+
if (typeSymbol(unit, j) === "N" /* Elements.N */ && !ProteinBackboneAtoms.has(atomId(unit, j))) {
|
|
56
56
|
builder.pushMember(x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
builder.finishState(1 /* PositiveCharge */, 0 /* None */);
|
|
59
|
+
builder.finishState(1 /* FeatureType.PositiveCharge */, 0 /* FeatureGroup.None */);
|
|
60
60
|
}
|
|
61
61
|
else if (!PolymerNames.has(compId)) {
|
|
62
62
|
addedElements.clear();
|
|
63
63
|
for (var j = start; j < end; ++j) {
|
|
64
|
-
var group = 0 /* None */;
|
|
64
|
+
var group = 0 /* FeatureGroup.None */;
|
|
65
65
|
if (isGuanidine(structure, unit, j)) {
|
|
66
|
-
group = 8 /* Guanidine */;
|
|
66
|
+
group = 8 /* FeatureGroup.Guanidine */;
|
|
67
67
|
}
|
|
68
68
|
else if (isAcetamidine(structure, unit, j)) {
|
|
69
|
-
group = 9 /* Acetamidine */;
|
|
69
|
+
group = 9 /* FeatureGroup.Acetamidine */;
|
|
70
70
|
}
|
|
71
71
|
if (group) {
|
|
72
72
|
builder.startState();
|
|
73
73
|
eachBondedAtom(structure, unit, j, function (_, k) {
|
|
74
|
-
if (typeSymbol(unit, k) === "N" /* N */) {
|
|
74
|
+
if (typeSymbol(unit, k) === "N" /* Elements.N */) {
|
|
75
75
|
addedElements.add(k);
|
|
76
76
|
builder.pushMember(x[elements[k]], y[elements[k]], z[elements[k]], k);
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
|
-
builder.finishState(1 /* PositiveCharge */, group);
|
|
79
|
+
builder.finishState(1 /* FeatureType.PositiveCharge */, group);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
for (var j = start; j < end; ++j) {
|
|
83
83
|
if (charge[j] > 0 && !addedElements.has(j)) {
|
|
84
|
-
builder.add(1 /* PositiveCharge */, 0 /* None */, x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
84
|
+
builder.add(1 /* FeatureType.PositiveCharge */, 0 /* FeatureGroup.None */, x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
}
|
|
@@ -100,59 +100,59 @@ function addUnitNegativeCharges(structure, unit, builder) {
|
|
|
100
100
|
if (NegativelyCharged.includes(compId)) {
|
|
101
101
|
builder.startState();
|
|
102
102
|
for (var j = start; j < end; ++j) {
|
|
103
|
-
if (typeSymbol(unit, j) === "O" /* O */ && !ProteinBackboneAtoms.has(atomId(unit, j))) {
|
|
103
|
+
if (typeSymbol(unit, j) === "O" /* Elements.O */ && !ProteinBackboneAtoms.has(atomId(unit, j))) {
|
|
104
104
|
builder.pushMember(x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
builder.finishState(2 /* NegativeCharge */, 0 /* None */);
|
|
107
|
+
builder.finishState(2 /* FeatureType.NegativeCharge */, 0 /* FeatureGroup.None */);
|
|
108
108
|
}
|
|
109
109
|
else if (BaseNames.has(compId)) {
|
|
110
110
|
for (var j = start; j < end; ++j) {
|
|
111
111
|
if (isPhosphate(structure, unit, j)) {
|
|
112
112
|
builder.startState();
|
|
113
113
|
eachBondedAtom(structure, unit, j, function (_, k) {
|
|
114
|
-
if (typeSymbol(unit, k) === "O" /* O */) {
|
|
114
|
+
if (typeSymbol(unit, k) === "O" /* Elements.O */) {
|
|
115
115
|
builder.pushMember(x[elements[k]], y[elements[k]], z[elements[k]], k);
|
|
116
116
|
}
|
|
117
117
|
});
|
|
118
|
-
builder.finishState(2 /* NegativeCharge */, 6 /* Phosphate */);
|
|
118
|
+
builder.finishState(2 /* FeatureType.NegativeCharge */, 6 /* FeatureGroup.Phosphate */);
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
else if (!PolymerNames.has(compId)) {
|
|
123
123
|
for (var j = start; j < end; ++j) {
|
|
124
124
|
builder.startState();
|
|
125
|
-
if (typeSymbol(unit, j) === "N" /* N */ && !ProteinBackboneAtoms.has(atomId(unit, j))) {
|
|
125
|
+
if (typeSymbol(unit, j) === "N" /* Elements.N */ && !ProteinBackboneAtoms.has(atomId(unit, j))) {
|
|
126
126
|
builder.pushMember(x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
127
127
|
}
|
|
128
|
-
builder.finishState(2 /* NegativeCharge */, 0 /* None */);
|
|
129
|
-
var group = 0 /* None */;
|
|
128
|
+
builder.finishState(2 /* FeatureType.NegativeCharge */, 0 /* FeatureGroup.None */);
|
|
129
|
+
var group = 0 /* FeatureGroup.None */;
|
|
130
130
|
if (isSulfonicAcid(structure, unit, j)) {
|
|
131
|
-
group = 4 /* SulfonicAcid */;
|
|
131
|
+
group = 4 /* FeatureGroup.SulfonicAcid */;
|
|
132
132
|
}
|
|
133
133
|
else if (isPhosphate(structure, unit, j)) {
|
|
134
|
-
group = 6 /* Phosphate */;
|
|
134
|
+
group = 6 /* FeatureGroup.Phosphate */;
|
|
135
135
|
}
|
|
136
136
|
else if (isSulfate(structure, unit, j)) {
|
|
137
|
-
group = 5 /* Sulfate */;
|
|
137
|
+
group = 5 /* FeatureGroup.Sulfate */;
|
|
138
138
|
}
|
|
139
139
|
else if (isCarboxylate(structure, unit, j)) {
|
|
140
|
-
group = 10 /* Carboxylate */;
|
|
140
|
+
group = 10 /* FeatureGroup.Carboxylate */;
|
|
141
141
|
}
|
|
142
142
|
if (group) {
|
|
143
143
|
builder.startState();
|
|
144
144
|
eachBondedAtom(structure, unit, j, function (_, k) {
|
|
145
|
-
if (typeSymbol(unit, k) === "O" /* O */) {
|
|
145
|
+
if (typeSymbol(unit, k) === "O" /* Elements.O */) {
|
|
146
146
|
addedElements.add(k);
|
|
147
147
|
builder.pushMember(x[elements[k]], y[elements[k]], z[elements[k]], k);
|
|
148
148
|
}
|
|
149
149
|
});
|
|
150
|
-
builder.finishState(2 /* NegativeCharge */, group);
|
|
150
|
+
builder.finishState(2 /* FeatureType.NegativeCharge */, group);
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
for (var j = start; j < end; ++j) {
|
|
154
154
|
if (charge[j] < 0 && !addedElements.has(j)) {
|
|
155
|
-
builder.add(2 /* NegativeCharge */, 0 /* None */, x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
155
|
+
builder.add(2 /* FeatureType.NegativeCharge */, 0 /* FeatureGroup.None */, x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
}
|
|
@@ -169,19 +169,19 @@ function addUnitAromaticRings(structure, unit, builder) {
|
|
|
169
169
|
var j = ring[i];
|
|
170
170
|
builder.pushMember(x[elements[j]], y[elements[j]], z[elements[j]], j);
|
|
171
171
|
}
|
|
172
|
-
builder.finishState(3 /* AromaticRing */, 0 /* None */);
|
|
172
|
+
builder.finishState(3 /* FeatureType.AromaticRing */, 0 /* FeatureGroup.None */);
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
function isIonic(ti, tj) {
|
|
176
|
-
return ((ti === 2 /* NegativeCharge */ && tj === 1 /* PositiveCharge */) ||
|
|
177
|
-
(ti === 1 /* PositiveCharge */ && tj === 2 /* NegativeCharge */));
|
|
176
|
+
return ((ti === 2 /* FeatureType.NegativeCharge */ && tj === 1 /* FeatureType.PositiveCharge */) ||
|
|
177
|
+
(ti === 1 /* FeatureType.PositiveCharge */ && tj === 2 /* FeatureType.NegativeCharge */));
|
|
178
178
|
}
|
|
179
179
|
function isPiStacking(ti, tj) {
|
|
180
|
-
return ti === 3 /* AromaticRing */ && tj === 3 /* AromaticRing */;
|
|
180
|
+
return ti === 3 /* FeatureType.AromaticRing */ && tj === 3 /* FeatureType.AromaticRing */;
|
|
181
181
|
}
|
|
182
182
|
function isCationPi(ti, tj) {
|
|
183
|
-
return ((ti === 3 /* AromaticRing */ && tj === 1 /* PositiveCharge */) ||
|
|
184
|
-
(ti === 1 /* PositiveCharge */ && tj === 3 /* AromaticRing */));
|
|
183
|
+
return ((ti === 3 /* FeatureType.AromaticRing */ && tj === 1 /* FeatureType.PositiveCharge */) ||
|
|
184
|
+
(ti === 1 /* FeatureType.PositiveCharge */ && tj === 3 /* FeatureType.AromaticRing */));
|
|
185
185
|
}
|
|
186
186
|
var tmpPointA = Vec3();
|
|
187
187
|
var tmpPointB = Vec3();
|
|
@@ -246,7 +246,7 @@ function testIonic(structure, infoA, infoB, distanceSq, opts) {
|
|
|
246
246
|
var typeB = infoB.types[infoB.feature];
|
|
247
247
|
if (isIonic(typeA, typeB)) {
|
|
248
248
|
if (areFeaturesWithinDistanceSq(infoA, infoB, opts.distanceMaxSq)) {
|
|
249
|
-
return 1 /* Ionic */;
|
|
249
|
+
return 1 /* InteractionType.Ionic */;
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
252
|
}
|
|
@@ -260,10 +260,10 @@ function testPiStacking(structure, infoA, infoB, distanceSq, opts) {
|
|
|
260
260
|
var offset = Math.min(getOffset(infoA, infoB, tmpNormalB), getOffset(infoB, infoA, tmpNormalA));
|
|
261
261
|
if (offset <= opts.offsetMax) {
|
|
262
262
|
if (angle <= opts.angleDevMax || angle >= deg180InRad - opts.angleDevMax) {
|
|
263
|
-
return 3 /* PiStacking */; // parallel
|
|
263
|
+
return 3 /* InteractionType.PiStacking */; // parallel
|
|
264
264
|
}
|
|
265
265
|
else if (angle <= opts.angleDevMax + deg90InRad && angle >= deg90InRad - opts.angleDevMax) {
|
|
266
|
-
return 3 /* PiStacking */; // t-shaped
|
|
266
|
+
return 3 /* InteractionType.PiStacking */; // t-shaped
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
269
|
}
|
|
@@ -272,18 +272,18 @@ function testCationPi(structure, infoA, infoB, distanceSq, opts) {
|
|
|
272
272
|
var typeA = infoA.types[infoA.feature];
|
|
273
273
|
var typeB = infoB.types[infoB.feature];
|
|
274
274
|
if (isCationPi(typeA, typeB)) {
|
|
275
|
-
var _a = typeA === 3 /* AromaticRing */ ? [infoA, infoB] : [infoB, infoA], infoR = _a[0], infoC = _a[1];
|
|
275
|
+
var _a = typeA === 3 /* FeatureType.AromaticRing */ ? [infoA, infoB] : [infoB, infoA], infoR = _a[0], infoC = _a[1];
|
|
276
276
|
getNormal(tmpNormalA, infoR);
|
|
277
277
|
var offset = getOffset(infoC, infoR, tmpNormalA);
|
|
278
278
|
if (offset <= opts.offsetMax) {
|
|
279
|
-
return 2 /* CationPi */;
|
|
279
|
+
return 2 /* InteractionType.CationPi */;
|
|
280
280
|
}
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
//
|
|
284
|
-
export var NegativChargeProvider = Features.Provider([2 /* NegativeCharge */], addUnitNegativeCharges);
|
|
285
|
-
export var PositiveChargeProvider = Features.Provider([1 /* PositiveCharge */], addUnitPositiveCharges);
|
|
286
|
-
export var AromaticRingProvider = Features.Provider([3 /* AromaticRing */], addUnitAromaticRings);
|
|
284
|
+
export var NegativChargeProvider = Features.Provider([2 /* FeatureType.NegativeCharge */], addUnitNegativeCharges);
|
|
285
|
+
export var PositiveChargeProvider = Features.Provider([1 /* FeatureType.PositiveCharge */], addUnitPositiveCharges);
|
|
286
|
+
export var AromaticRingProvider = Features.Provider([3 /* FeatureType.AromaticRing */], addUnitAromaticRings);
|
|
287
287
|
export var IonicProvider = {
|
|
288
288
|
name: 'ionic',
|
|
289
289
|
params: IonicParams,
|
|
@@ -291,7 +291,7 @@ export var IonicProvider = {
|
|
|
291
291
|
var opts = getIonicOptions(props);
|
|
292
292
|
return {
|
|
293
293
|
maxDistance: props.distanceMax,
|
|
294
|
-
requiredFeatures: new Set([2 /* NegativeCharge */, 1 /* PositiveCharge */]),
|
|
294
|
+
requiredFeatures: new Set([2 /* FeatureType.NegativeCharge */, 1 /* FeatureType.PositiveCharge */]),
|
|
295
295
|
getType: function (structure, infoA, infoB, distanceSq) { return testIonic(structure, infoA, infoB, distanceSq, opts); }
|
|
296
296
|
};
|
|
297
297
|
}
|
|
@@ -303,7 +303,7 @@ export var PiStackingProvider = {
|
|
|
303
303
|
var opts = getPiStackingOptions(props);
|
|
304
304
|
return {
|
|
305
305
|
maxDistance: props.distanceMax,
|
|
306
|
-
requiredFeatures: new Set([3 /* AromaticRing */]),
|
|
306
|
+
requiredFeatures: new Set([3 /* FeatureType.AromaticRing */]),
|
|
307
307
|
getType: function (structure, infoA, infoB, distanceSq) { return testPiStacking(structure, infoA, infoB, distanceSq, opts); }
|
|
308
308
|
};
|
|
309
309
|
}
|
|
@@ -315,7 +315,7 @@ export var CationPiProvider = {
|
|
|
315
315
|
var opts = getCationPiOptions(props);
|
|
316
316
|
return {
|
|
317
317
|
maxDistance: props.distanceMax,
|
|
318
|
-
requiredFeatures: new Set([3 /* AromaticRing */, 1 /* PositiveCharge */]),
|
|
318
|
+
requiredFeatures: new Set([3 /* FeatureType.AromaticRing */, 1 /* FeatureType.PositiveCharge */]),
|
|
319
319
|
getType: function (structure, infoA, infoB, distanceSq) { return testCationPi(structure, infoA, infoB, distanceSq, opts); }
|
|
320
320
|
};
|
|
321
321
|
}
|