Prechádzať zdrojové kódy

relax strucmotif distance requirement

Sebastian Bittrich 1 rok pred
rodič
commit
afd9a90456
4 zmenil súbory, kde vykonal 170 pridanie a 180 odobranie
  1. 4 0
      CHANGELOG.md
  2. 158 172
      package-lock.json
  3. 6 6
      package.json
  4. 2 2
      src/viewer/ui/strucmotif/validation.ts

+ 4 - 0
CHANGELOG.md

@@ -2,6 +2,10 @@
 
 [Semantic Versioning](https://semver.org/)
 
+## [2.7.3] - 2023-08-14
+### Added
+- Relaxed strucmotif distance requirement from 15 to 20 A
+
 ## [2.7.2] - 2023-07-25
 ### Bug fixes
 - Fix detection of CCD files

+ 158 - 172
package-lock.json

@@ -9,30 +9,30 @@
             "version": "2.7.2",
             "license": "MIT",
             "dependencies": {
-                "@types/react": "^18.2.16",
+                "@types/react": "^18.2.20",
                 "@types/react-dom": "^18.2.7",
-                "molstar": "^3.38.2",
+                "molstar": "^3.38.3",
                 "react": "^18.2.0",
                 "react-dom": "^18.2.0",
                 "rxjs": "^7.8.1",
                 "tslib": "^2.6.1"
             },
             "devDependencies": {
-                "@typescript-eslint/eslint-plugin": "^6.2.0",
-                "@typescript-eslint/parser": "^6.2.0",
+                "@typescript-eslint/eslint-plugin": "^6.4.0",
+                "@typescript-eslint/parser": "^6.4.0",
                 "buffer": "^6.0.3",
                 "concurrently": "^8.2.0",
                 "cpx2": "^5.0.0",
                 "crypto-browserify": "^3.12.0",
                 "css-loader": "^6.8.1",
-                "eslint": "^8.45.0",
+                "eslint": "^8.47.0",
                 "extra-watch-webpack-plugin": "^1.0.3",
                 "file-loader": "^6.2.0",
                 "fs-extra": "^11.1.1",
                 "mini-css-extract-plugin": "^2.7.6",
                 "path-browserify": "^1.0.1",
                 "raw-loader": "^4.0.2",
-                "sass": "^1.64.1",
+                "sass": "^1.65.1",
                 "sass-loader": "^13.3.2",
                 "stream-browserify": "^3.0.0",
                 "style-loader": "^3.3.3",
@@ -96,9 +96,9 @@
             }
         },
         "node_modules/@eslint/eslintrc": {
-            "version": "2.1.0",
-            "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz",
-            "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==",
+            "version": "2.1.2",
+            "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
+            "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
             "dev": true,
             "dependencies": {
                 "ajv": "^6.12.4",
@@ -119,9 +119,9 @@
             }
         },
         "node_modules/@eslint/js": {
-            "version": "8.44.0",
-            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz",
-            "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==",
+            "version": "8.47.0",
+            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz",
+            "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==",
             "dev": true,
             "engines": {
                 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -418,9 +418,9 @@
             "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw=="
         },
         "node_modules/@types/react": {
-            "version": "18.2.16",
-            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.16.tgz",
-            "integrity": "sha512-LLFWr12ZhBJ4YVw7neWLe6Pk7Ey5R9OCydfuMsz1L8bZxzaawJj2p06Q8/EFEHDeTBQNFLF62X+CG7B2zIyu0Q==",
+            "version": "18.2.20",
+            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.20.tgz",
+            "integrity": "sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==",
             "dependencies": {
                 "@types/prop-types": "*",
                 "@types/scheduler": "*",
@@ -461,21 +461,20 @@
             "integrity": "sha512-wWojDensMF33dSrhak4iWSPOsWBbvf+rSJ6VWQ7ohQbGdKAiT2IwUexrDZkMvf3+vVAPVnNFDRDtxADFszbh+Q=="
         },
         "node_modules/@typescript-eslint/eslint-plugin": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.2.0.tgz",
-            "integrity": "sha512-rClGrMuyS/3j0ETa1Ui7s6GkLhfZGKZL3ZrChLeAiACBE/tRc1wq8SNZESUuluxhLj9FkUefRs2l6bCIArWBiQ==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.0.tgz",
+            "integrity": "sha512-62o2Hmc7Gs3p8SLfbXcipjWAa6qk2wZGChXG2JbBtYpwSRmti/9KHLqfbLs9uDigOexG+3PaQ9G2g3201FWLKg==",
             "dev": true,
             "dependencies": {
                 "@eslint-community/regexpp": "^4.5.1",
-                "@typescript-eslint/scope-manager": "6.2.0",
-                "@typescript-eslint/type-utils": "6.2.0",
-                "@typescript-eslint/utils": "6.2.0",
-                "@typescript-eslint/visitor-keys": "6.2.0",
+                "@typescript-eslint/scope-manager": "6.4.0",
+                "@typescript-eslint/type-utils": "6.4.0",
+                "@typescript-eslint/utils": "6.4.0",
+                "@typescript-eslint/visitor-keys": "6.4.0",
                 "debug": "^4.3.4",
                 "graphemer": "^1.4.0",
                 "ignore": "^5.2.4",
                 "natural-compare": "^1.4.0",
-                "natural-compare-lite": "^1.4.0",
                 "semver": "^7.5.4",
                 "ts-api-utils": "^1.0.1"
             },
@@ -497,15 +496,15 @@
             }
         },
         "node_modules/@typescript-eslint/parser": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.2.0.tgz",
-            "integrity": "sha512-igVYOqtiK/UsvKAmmloQAruAdUHihsOCvplJpplPZ+3h4aDkC/UKZZNKgB6h93ayuYLuEymU3h8nF1xMRbh37g==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.4.0.tgz",
+            "integrity": "sha512-I1Ah1irl033uxjxO9Xql7+biL3YD7w9IU8zF+xlzD/YxY6a4b7DYA08PXUUCbm2sEljwJF6ERFy2kTGAGcNilg==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/scope-manager": "6.2.0",
-                "@typescript-eslint/types": "6.2.0",
-                "@typescript-eslint/typescript-estree": "6.2.0",
-                "@typescript-eslint/visitor-keys": "6.2.0",
+                "@typescript-eslint/scope-manager": "6.4.0",
+                "@typescript-eslint/types": "6.4.0",
+                "@typescript-eslint/typescript-estree": "6.4.0",
+                "@typescript-eslint/visitor-keys": "6.4.0",
                 "debug": "^4.3.4"
             },
             "engines": {
@@ -525,13 +524,13 @@
             }
         },
         "node_modules/@typescript-eslint/scope-manager": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.2.0.tgz",
-            "integrity": "sha512-1ZMNVgm5nnHURU8ZSJ3snsHzpFeNK84rdZjluEVBGNu7jDymfqceB3kdIZ6A4xCfEFFhRIB6rF8q/JIqJd2R0Q==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.4.0.tgz",
+            "integrity": "sha512-TUS7vaKkPWDVvl7GDNHFQMsMruD+zhkd3SdVW0d7b+7Zo+bd/hXJQ8nsiUZMi1jloWo6c9qt3B7Sqo+flC1nig==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/types": "6.2.0",
-                "@typescript-eslint/visitor-keys": "6.2.0"
+                "@typescript-eslint/types": "6.4.0",
+                "@typescript-eslint/visitor-keys": "6.4.0"
             },
             "engines": {
                 "node": "^16.0.0 || >=18.0.0"
@@ -542,13 +541,13 @@
             }
         },
         "node_modules/@typescript-eslint/type-utils": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.2.0.tgz",
-            "integrity": "sha512-DnGZuNU2JN3AYwddYIqrVkYW0uUQdv0AY+kz2M25euVNlujcN2u+rJgfJsBFlUEzBB6OQkUqSZPyuTLf2bP5mw==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.4.0.tgz",
+            "integrity": "sha512-TvqrUFFyGY0cX3WgDHcdl2/mMCWCDv/0thTtx/ODMY1QhEiyFtv/OlLaNIiYLwRpAxAtOLOY9SUf1H3Q3dlwAg==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/typescript-estree": "6.2.0",
-                "@typescript-eslint/utils": "6.2.0",
+                "@typescript-eslint/typescript-estree": "6.4.0",
+                "@typescript-eslint/utils": "6.4.0",
                 "debug": "^4.3.4",
                 "ts-api-utils": "^1.0.1"
             },
@@ -569,9 +568,9 @@
             }
         },
         "node_modules/@typescript-eslint/types": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.2.0.tgz",
-            "integrity": "sha512-1nRRaDlp/XYJQLvkQJG5F3uBTno5SHPT7XVcJ5n1/k2WfNI28nJsvLakxwZRNY5spuatEKO7d5nZWsQpkqXwBA==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.4.0.tgz",
+            "integrity": "sha512-+FV9kVFrS7w78YtzkIsNSoYsnOtrYVnKWSTVXoL1761CsCRv5wpDOINgsXpxD67YCLZtVQekDDyaxfjVWUJmmg==",
             "dev": true,
             "engines": {
                 "node": "^16.0.0 || >=18.0.0"
@@ -582,13 +581,13 @@
             }
         },
         "node_modules/@typescript-eslint/typescript-estree": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.2.0.tgz",
-            "integrity": "sha512-Mts6+3HQMSM+LZCglsc2yMIny37IhUgp1Qe8yJUYVyO6rHP7/vN0vajKu3JvHCBIy8TSiKddJ/Zwu80jhnGj1w==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.0.tgz",
+            "integrity": "sha512-iDPJArf/K2sxvjOR6skeUCNgHR/tCQXBsa+ee1/clRKr3olZjZ/dSkXPZjG6YkPtnW6p5D1egeEPMCW6Gn4yLA==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/types": "6.2.0",
-                "@typescript-eslint/visitor-keys": "6.2.0",
+                "@typescript-eslint/types": "6.4.0",
+                "@typescript-eslint/visitor-keys": "6.4.0",
                 "debug": "^4.3.4",
                 "globby": "^11.1.0",
                 "is-glob": "^4.0.3",
@@ -609,17 +608,17 @@
             }
         },
         "node_modules/@typescript-eslint/utils": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.2.0.tgz",
-            "integrity": "sha512-RCFrC1lXiX1qEZN8LmLrxYRhOkElEsPKTVSNout8DMzf8PeWoQG7Rxz2SadpJa3VSh5oYKGwt7j7X/VRg+Y3OQ==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.4.0.tgz",
+            "integrity": "sha512-BvvwryBQpECPGo8PwF/y/q+yacg8Hn/2XS+DqL/oRsOPK+RPt29h5Ui5dqOKHDlbXrAeHUTnyG3wZA0KTDxRZw==",
             "dev": true,
             "dependencies": {
                 "@eslint-community/eslint-utils": "^4.4.0",
                 "@types/json-schema": "^7.0.12",
                 "@types/semver": "^7.5.0",
-                "@typescript-eslint/scope-manager": "6.2.0",
-                "@typescript-eslint/types": "6.2.0",
-                "@typescript-eslint/typescript-estree": "6.2.0",
+                "@typescript-eslint/scope-manager": "6.4.0",
+                "@typescript-eslint/types": "6.4.0",
+                "@typescript-eslint/typescript-estree": "6.4.0",
                 "semver": "^7.5.4"
             },
             "engines": {
@@ -634,12 +633,12 @@
             }
         },
         "node_modules/@typescript-eslint/visitor-keys": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.2.0.tgz",
-            "integrity": "sha512-QbaYUQVKKo9bgCzpjz45llCfwakyoxHetIy8CAvYCtd16Zu1KrpzNHofwF8kGkpPOxZB2o6kz+0nqH8ZkIzuoQ==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.0.tgz",
+            "integrity": "sha512-yJSfyT+uJm+JRDWYRYdCm2i+pmvXJSMtPR9Cq5/XQs4QIgNoLcoRtDdzsLbLsFM/c6um6ohQkg/MLxWvoIndJA==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/types": "6.2.0",
+                "@typescript-eslint/types": "6.4.0",
                 "eslint-visitor-keys": "^3.4.1"
             },
             "engines": {
@@ -2485,27 +2484,27 @@
             }
         },
         "node_modules/eslint": {
-            "version": "8.45.0",
-            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz",
-            "integrity": "sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==",
+            "version": "8.47.0",
+            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz",
+            "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==",
             "dev": true,
             "dependencies": {
                 "@eslint-community/eslint-utils": "^4.2.0",
-                "@eslint-community/regexpp": "^4.4.0",
-                "@eslint/eslintrc": "^2.1.0",
-                "@eslint/js": "8.44.0",
+                "@eslint-community/regexpp": "^4.6.1",
+                "@eslint/eslintrc": "^2.1.2",
+                "@eslint/js": "^8.47.0",
                 "@humanwhocodes/config-array": "^0.11.10",
                 "@humanwhocodes/module-importer": "^1.0.1",
                 "@nodelib/fs.walk": "^1.2.8",
-                "ajv": "^6.10.0",
+                "ajv": "^6.12.4",
                 "chalk": "^4.0.0",
                 "cross-spawn": "^7.0.2",
                 "debug": "^4.3.2",
                 "doctrine": "^3.0.0",
                 "escape-string-regexp": "^4.0.0",
-                "eslint-scope": "^7.2.0",
-                "eslint-visitor-keys": "^3.4.1",
-                "espree": "^9.6.0",
+                "eslint-scope": "^7.2.2",
+                "eslint-visitor-keys": "^3.4.3",
+                "espree": "^9.6.1",
                 "esquery": "^1.4.2",
                 "esutils": "^2.0.2",
                 "fast-deep-equal": "^3.1.3",
@@ -2552,9 +2551,9 @@
             }
         },
         "node_modules/eslint-visitor-keys": {
-            "version": "3.4.1",
-            "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
-            "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
+            "version": "3.4.3",
+            "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+            "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
             "dev": true,
             "engines": {
                 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2564,9 +2563,9 @@
             }
         },
         "node_modules/eslint/node_modules/eslint-scope": {
-            "version": "7.2.1",
-            "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.1.tgz",
-            "integrity": "sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==",
+            "version": "7.2.2",
+            "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+            "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
             "dev": true,
             "dependencies": {
                 "esrecurse": "^4.3.0",
@@ -3294,9 +3293,9 @@
             }
         },
         "node_modules/globals": {
-            "version": "13.20.0",
-            "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
-            "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+            "version": "13.21.0",
+            "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz",
+            "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==",
             "dev": true,
             "dependencies": {
                 "type-fest": "^0.20.2"
@@ -4583,9 +4582,9 @@
             "optional": true
         },
         "node_modules/molstar": {
-            "version": "3.38.2",
-            "resolved": "https://registry.npmjs.org/molstar/-/molstar-3.38.2.tgz",
-            "integrity": "sha512-CtyzI/y9mKoHHRqCZcIK9/avMovWL/b8gtzWnXoSgwcCGxJGE01CXcI7HPY0YTetZNMxkHbFpd7wFiSWXanhNw==",
+            "version": "3.38.3",
+            "resolved": "https://registry.npmjs.org/molstar/-/molstar-3.38.3.tgz",
+            "integrity": "sha512-O6ET+a/Cbq3xiHZ3vE1toUgbAz5/IJGNMVD0HbevKAStMsZ1pZZOiLQeIb7tD7eFvrtjJsMRSzTkLgLa3OvYMg==",
             "dependencies": {
                 "@types/argparse": "^2.0.10",
                 "@types/benchmark": "^2.1.2",
@@ -4721,12 +4720,6 @@
             "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
             "dev": true
         },
-        "node_modules/natural-compare-lite": {
-            "version": "1.4.0",
-            "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
-            "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
-            "dev": true
-        },
         "node_modules/negotiator": {
             "version": "0.6.3",
             "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
@@ -5768,9 +5761,9 @@
             "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
         },
         "node_modules/sass": {
-            "version": "1.64.1",
-            "resolved": "https://registry.npmjs.org/sass/-/sass-1.64.1.tgz",
-            "integrity": "sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==",
+            "version": "1.65.1",
+            "resolved": "https://registry.npmjs.org/sass/-/sass-1.65.1.tgz",
+            "integrity": "sha512-9DINwtHmA41SEd36eVPQ9BJKpn7eKDQmUHmpI0y5Zv2Rcorrh0zS+cFrt050hdNbmmCNKTW3hV5mWfuegNRsEA==",
             "dev": true,
             "dependencies": {
                 "chokidar": ">=3.0.0 <4.0.0",
@@ -7083,9 +7076,9 @@
             "dev": true
         },
         "@eslint/eslintrc": {
-            "version": "2.1.0",
-            "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz",
-            "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==",
+            "version": "2.1.2",
+            "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
+            "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
             "dev": true,
             "requires": {
                 "ajv": "^6.12.4",
@@ -7100,9 +7093,9 @@
             }
         },
         "@eslint/js": {
-            "version": "8.44.0",
-            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz",
-            "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==",
+            "version": "8.47.0",
+            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz",
+            "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==",
             "dev": true
         },
         "@gar/promisify": {
@@ -7358,9 +7351,9 @@
             "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw=="
         },
         "@types/react": {
-            "version": "18.2.16",
-            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.16.tgz",
-            "integrity": "sha512-LLFWr12ZhBJ4YVw7neWLe6Pk7Ey5R9OCydfuMsz1L8bZxzaawJj2p06Q8/EFEHDeTBQNFLF62X+CG7B2zIyu0Q==",
+            "version": "18.2.20",
+            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.20.tgz",
+            "integrity": "sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==",
             "requires": {
                 "@types/prop-types": "*",
                 "@types/scheduler": "*",
@@ -7401,74 +7394,73 @@
             "integrity": "sha512-wWojDensMF33dSrhak4iWSPOsWBbvf+rSJ6VWQ7ohQbGdKAiT2IwUexrDZkMvf3+vVAPVnNFDRDtxADFszbh+Q=="
         },
         "@typescript-eslint/eslint-plugin": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.2.0.tgz",
-            "integrity": "sha512-rClGrMuyS/3j0ETa1Ui7s6GkLhfZGKZL3ZrChLeAiACBE/tRc1wq8SNZESUuluxhLj9FkUefRs2l6bCIArWBiQ==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.0.tgz",
+            "integrity": "sha512-62o2Hmc7Gs3p8SLfbXcipjWAa6qk2wZGChXG2JbBtYpwSRmti/9KHLqfbLs9uDigOexG+3PaQ9G2g3201FWLKg==",
             "dev": true,
             "requires": {
                 "@eslint-community/regexpp": "^4.5.1",
-                "@typescript-eslint/scope-manager": "6.2.0",
-                "@typescript-eslint/type-utils": "6.2.0",
-                "@typescript-eslint/utils": "6.2.0",
-                "@typescript-eslint/visitor-keys": "6.2.0",
+                "@typescript-eslint/scope-manager": "6.4.0",
+                "@typescript-eslint/type-utils": "6.4.0",
+                "@typescript-eslint/utils": "6.4.0",
+                "@typescript-eslint/visitor-keys": "6.4.0",
                 "debug": "^4.3.4",
                 "graphemer": "^1.4.0",
                 "ignore": "^5.2.4",
                 "natural-compare": "^1.4.0",
-                "natural-compare-lite": "^1.4.0",
                 "semver": "^7.5.4",
                 "ts-api-utils": "^1.0.1"
             }
         },
         "@typescript-eslint/parser": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.2.0.tgz",
-            "integrity": "sha512-igVYOqtiK/UsvKAmmloQAruAdUHihsOCvplJpplPZ+3h4aDkC/UKZZNKgB6h93ayuYLuEymU3h8nF1xMRbh37g==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.4.0.tgz",
+            "integrity": "sha512-I1Ah1irl033uxjxO9Xql7+biL3YD7w9IU8zF+xlzD/YxY6a4b7DYA08PXUUCbm2sEljwJF6ERFy2kTGAGcNilg==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/scope-manager": "6.2.0",
-                "@typescript-eslint/types": "6.2.0",
-                "@typescript-eslint/typescript-estree": "6.2.0",
-                "@typescript-eslint/visitor-keys": "6.2.0",
+                "@typescript-eslint/scope-manager": "6.4.0",
+                "@typescript-eslint/types": "6.4.0",
+                "@typescript-eslint/typescript-estree": "6.4.0",
+                "@typescript-eslint/visitor-keys": "6.4.0",
                 "debug": "^4.3.4"
             }
         },
         "@typescript-eslint/scope-manager": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.2.0.tgz",
-            "integrity": "sha512-1ZMNVgm5nnHURU8ZSJ3snsHzpFeNK84rdZjluEVBGNu7jDymfqceB3kdIZ6A4xCfEFFhRIB6rF8q/JIqJd2R0Q==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.4.0.tgz",
+            "integrity": "sha512-TUS7vaKkPWDVvl7GDNHFQMsMruD+zhkd3SdVW0d7b+7Zo+bd/hXJQ8nsiUZMi1jloWo6c9qt3B7Sqo+flC1nig==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/types": "6.2.0",
-                "@typescript-eslint/visitor-keys": "6.2.0"
+                "@typescript-eslint/types": "6.4.0",
+                "@typescript-eslint/visitor-keys": "6.4.0"
             }
         },
         "@typescript-eslint/type-utils": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.2.0.tgz",
-            "integrity": "sha512-DnGZuNU2JN3AYwddYIqrVkYW0uUQdv0AY+kz2M25euVNlujcN2u+rJgfJsBFlUEzBB6OQkUqSZPyuTLf2bP5mw==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.4.0.tgz",
+            "integrity": "sha512-TvqrUFFyGY0cX3WgDHcdl2/mMCWCDv/0thTtx/ODMY1QhEiyFtv/OlLaNIiYLwRpAxAtOLOY9SUf1H3Q3dlwAg==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/typescript-estree": "6.2.0",
-                "@typescript-eslint/utils": "6.2.0",
+                "@typescript-eslint/typescript-estree": "6.4.0",
+                "@typescript-eslint/utils": "6.4.0",
                 "debug": "^4.3.4",
                 "ts-api-utils": "^1.0.1"
             }
         },
         "@typescript-eslint/types": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.2.0.tgz",
-            "integrity": "sha512-1nRRaDlp/XYJQLvkQJG5F3uBTno5SHPT7XVcJ5n1/k2WfNI28nJsvLakxwZRNY5spuatEKO7d5nZWsQpkqXwBA==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.4.0.tgz",
+            "integrity": "sha512-+FV9kVFrS7w78YtzkIsNSoYsnOtrYVnKWSTVXoL1761CsCRv5wpDOINgsXpxD67YCLZtVQekDDyaxfjVWUJmmg==",
             "dev": true
         },
         "@typescript-eslint/typescript-estree": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.2.0.tgz",
-            "integrity": "sha512-Mts6+3HQMSM+LZCglsc2yMIny37IhUgp1Qe8yJUYVyO6rHP7/vN0vajKu3JvHCBIy8TSiKddJ/Zwu80jhnGj1w==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.0.tgz",
+            "integrity": "sha512-iDPJArf/K2sxvjOR6skeUCNgHR/tCQXBsa+ee1/clRKr3olZjZ/dSkXPZjG6YkPtnW6p5D1egeEPMCW6Gn4yLA==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/types": "6.2.0",
-                "@typescript-eslint/visitor-keys": "6.2.0",
+                "@typescript-eslint/types": "6.4.0",
+                "@typescript-eslint/visitor-keys": "6.4.0",
                 "debug": "^4.3.4",
                 "globby": "^11.1.0",
                 "is-glob": "^4.0.3",
@@ -7477,27 +7469,27 @@
             }
         },
         "@typescript-eslint/utils": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.2.0.tgz",
-            "integrity": "sha512-RCFrC1lXiX1qEZN8LmLrxYRhOkElEsPKTVSNout8DMzf8PeWoQG7Rxz2SadpJa3VSh5oYKGwt7j7X/VRg+Y3OQ==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.4.0.tgz",
+            "integrity": "sha512-BvvwryBQpECPGo8PwF/y/q+yacg8Hn/2XS+DqL/oRsOPK+RPt29h5Ui5dqOKHDlbXrAeHUTnyG3wZA0KTDxRZw==",
             "dev": true,
             "requires": {
                 "@eslint-community/eslint-utils": "^4.4.0",
                 "@types/json-schema": "^7.0.12",
                 "@types/semver": "^7.5.0",
-                "@typescript-eslint/scope-manager": "6.2.0",
-                "@typescript-eslint/types": "6.2.0",
-                "@typescript-eslint/typescript-estree": "6.2.0",
+                "@typescript-eslint/scope-manager": "6.4.0",
+                "@typescript-eslint/types": "6.4.0",
+                "@typescript-eslint/typescript-estree": "6.4.0",
                 "semver": "^7.5.4"
             }
         },
         "@typescript-eslint/visitor-keys": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.2.0.tgz",
-            "integrity": "sha512-QbaYUQVKKo9bgCzpjz45llCfwakyoxHetIy8CAvYCtd16Zu1KrpzNHofwF8kGkpPOxZB2o6kz+0nqH8ZkIzuoQ==",
+            "version": "6.4.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.0.tgz",
+            "integrity": "sha512-yJSfyT+uJm+JRDWYRYdCm2i+pmvXJSMtPR9Cq5/XQs4QIgNoLcoRtDdzsLbLsFM/c6um6ohQkg/MLxWvoIndJA==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/types": "6.2.0",
+                "@typescript-eslint/types": "6.4.0",
                 "eslint-visitor-keys": "^3.4.1"
             }
         },
@@ -8960,27 +8952,27 @@
             "dev": true
         },
         "eslint": {
-            "version": "8.45.0",
-            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz",
-            "integrity": "sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==",
+            "version": "8.47.0",
+            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz",
+            "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==",
             "dev": true,
             "requires": {
                 "@eslint-community/eslint-utils": "^4.2.0",
-                "@eslint-community/regexpp": "^4.4.0",
-                "@eslint/eslintrc": "^2.1.0",
-                "@eslint/js": "8.44.0",
+                "@eslint-community/regexpp": "^4.6.1",
+                "@eslint/eslintrc": "^2.1.2",
+                "@eslint/js": "^8.47.0",
                 "@humanwhocodes/config-array": "^0.11.10",
                 "@humanwhocodes/module-importer": "^1.0.1",
                 "@nodelib/fs.walk": "^1.2.8",
-                "ajv": "^6.10.0",
+                "ajv": "^6.12.4",
                 "chalk": "^4.0.0",
                 "cross-spawn": "^7.0.2",
                 "debug": "^4.3.2",
                 "doctrine": "^3.0.0",
                 "escape-string-regexp": "^4.0.0",
-                "eslint-scope": "^7.2.0",
-                "eslint-visitor-keys": "^3.4.1",
-                "espree": "^9.6.0",
+                "eslint-scope": "^7.2.2",
+                "eslint-visitor-keys": "^3.4.3",
+                "espree": "^9.6.1",
                 "esquery": "^1.4.2",
                 "esutils": "^2.0.2",
                 "fast-deep-equal": "^3.1.3",
@@ -9005,9 +8997,9 @@
             },
             "dependencies": {
                 "eslint-scope": {
-                    "version": "7.2.1",
-                    "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.1.tgz",
-                    "integrity": "sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==",
+                    "version": "7.2.2",
+                    "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+                    "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
                     "dev": true,
                     "requires": {
                         "esrecurse": "^4.3.0",
@@ -9070,9 +9062,9 @@
             }
         },
         "eslint-visitor-keys": {
-            "version": "3.4.1",
-            "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
-            "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
+            "version": "3.4.3",
+            "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+            "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
             "dev": true
         },
         "espree": {
@@ -9593,9 +9585,9 @@
             }
         },
         "globals": {
-            "version": "13.20.0",
-            "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
-            "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+            "version": "13.21.0",
+            "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz",
+            "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==",
             "dev": true,
             "requires": {
                 "type-fest": "^0.20.2"
@@ -10540,9 +10532,9 @@
             "optional": true
         },
         "molstar": {
-            "version": "3.38.2",
-            "resolved": "https://registry.npmjs.org/molstar/-/molstar-3.38.2.tgz",
-            "integrity": "sha512-CtyzI/y9mKoHHRqCZcIK9/avMovWL/b8gtzWnXoSgwcCGxJGE01CXcI7HPY0YTetZNMxkHbFpd7wFiSWXanhNw==",
+            "version": "3.38.3",
+            "resolved": "https://registry.npmjs.org/molstar/-/molstar-3.38.3.tgz",
+            "integrity": "sha512-O6ET+a/Cbq3xiHZ3vE1toUgbAz5/IJGNMVD0HbevKAStMsZ1pZZOiLQeIb7tD7eFvrtjJsMRSzTkLgLa3OvYMg==",
             "requires": {
                 "@types/argparse": "^2.0.10",
                 "@types/benchmark": "^2.1.2",
@@ -10645,12 +10637,6 @@
             "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
             "dev": true
         },
-        "natural-compare-lite": {
-            "version": "1.4.0",
-            "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
-            "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
-            "dev": true
-        },
         "negotiator": {
             "version": "0.6.3",
             "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
@@ -11384,9 +11370,9 @@
             "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
         },
         "sass": {
-            "version": "1.64.1",
-            "resolved": "https://registry.npmjs.org/sass/-/sass-1.64.1.tgz",
-            "integrity": "sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==",
+            "version": "1.65.1",
+            "resolved": "https://registry.npmjs.org/sass/-/sass-1.65.1.tgz",
+            "integrity": "sha512-9DINwtHmA41SEd36eVPQ9BJKpn7eKDQmUHmpI0y5Zv2Rcorrh0zS+cFrt050hdNbmmCNKTW3hV5mWfuegNRsEA==",
             "dev": true,
             "requires": {
                 "chokidar": ">=3.0.0 <4.0.0",

+ 6 - 6
package.json

@@ -37,21 +37,21 @@
     "author": "RCSB PDB and Mol* Contributors",
     "license": "MIT",
     "devDependencies": {
-        "@typescript-eslint/eslint-plugin": "^6.2.0",
-        "@typescript-eslint/parser": "^6.2.0",
+        "@typescript-eslint/eslint-plugin": "^6.4.0",
+        "@typescript-eslint/parser": "^6.4.0",
         "buffer": "^6.0.3",
         "concurrently": "^8.2.0",
         "cpx2": "^5.0.0",
         "crypto-browserify": "^3.12.0",
         "css-loader": "^6.8.1",
-        "eslint": "^8.45.0",
+        "eslint": "^8.47.0",
         "extra-watch-webpack-plugin": "^1.0.3",
         "file-loader": "^6.2.0",
         "fs-extra": "^11.1.1",
         "mini-css-extract-plugin": "^2.7.6",
         "path-browserify": "^1.0.1",
         "raw-loader": "^4.0.2",
-        "sass": "^1.64.1",
+        "sass": "^1.65.1",
         "sass-loader": "^13.3.2",
         "stream-browserify": "^3.0.0",
         "style-loader": "^3.3.3",
@@ -60,9 +60,9 @@
         "webpack-cli": "^5.1.4"
     },
     "dependencies": {
-        "@types/react": "^18.2.16",
+        "@types/react": "^18.2.20",
         "@types/react-dom": "^18.2.7",
-        "molstar": "^3.38.2",
+        "molstar": "^3.38.3",
         "react": "^18.2.0",
         "react-dom": "^18.2.0",
         "rxjs": "^7.8.1",

+ 2 - 2
src/viewer/ui/strucmotif/validation.ts

@@ -15,7 +15,7 @@ import { StrucmotifCtx } from './helpers';
 export const MIN_MOTIF_SIZE = 2;
 export const MAX_MOTIF_SIZE = 10;
 export const MAX_EXCHANGES = 4;
-const MAX_MOTIF_EXTENT = 15;
+const MAX_MOTIF_EXTENT = 20;
 const MAX_MOTIF_EXTENT_SQUARED = MAX_MOTIF_EXTENT * MAX_MOTIF_EXTENT;
 
 export function determineBackboneAtom(structure: Structure, location: StructureElement.Location, element: { unit: Unit; indices: OrderedSet<UnitIndex> }) {
@@ -65,7 +65,7 @@ export function validate(ctx: StrucmotifCtx) {
 
 function validateAtomDistances(ctx: StrucmotifCtx) {
     const { coordinates } = ctx;
-    // warn if >15 A
+    // warn if >20 A
     const a = Vec3();
     const b = Vec3();