Browse Source

zoom on selection && no-zoom when structure is removed

Joan Segura 2 years ago
parent
commit
75ba8e56dc

+ 9 - 9
package-lock.json

@@ -1,18 +1,18 @@
 {
   "name": "@rcsb/rcsb-saguaro-3d",
-  "version": "2.2.0-uniprot-msa.19",
+  "version": "2.2.0-uniprot-msa.20",
   "lockfileVersion": 2,
   "requires": true,
   "packages": {
     "": {
       "name": "@rcsb/rcsb-saguaro-3d",
-      "version": "2.2.0-uniprot-msa.19",
+      "version": "2.2.0-uniprot-msa.20",
       "license": "MIT",
       "dependencies": {
         "@rcsb/rcsb-api-tools": "^4.1.0",
         "@rcsb/rcsb-molstar": "^2.5.5",
         "@rcsb/rcsb-saguaro": "^2.2.15",
-        "@rcsb/rcsb-saguaro-app": "^4.4.13-uniprot-msa.16",
+        "@rcsb/rcsb-saguaro-app": "^4.4.13-uniprot-msa.17",
         "molstar": "^3.13.0"
       },
       "devDependencies": {
@@ -2528,9 +2528,9 @@
       }
     },
     "node_modules/@rcsb/rcsb-saguaro-app": {
-      "version": "4.4.13-uniprot-msa.16",
-      "resolved": "https://registry.npmjs.org/@rcsb/rcsb-saguaro-app/-/rcsb-saguaro-app-4.4.13-uniprot-msa.16.tgz",
-      "integrity": "sha512-F/uLl8oUMGl19Kpoux5Jymx0IcWHoUDvNMpodxGbenoRi3AaqqCe50LiuOcSHb2dyeDmdpOUrA8jdtRzGclVVg==",
+      "version": "4.4.13-uniprot-msa.17",
+      "resolved": "https://registry.npmjs.org/@rcsb/rcsb-saguaro-app/-/rcsb-saguaro-app-4.4.13-uniprot-msa.17.tgz",
+      "integrity": "sha512-y53PT8/NGKo3UZt7D2ycJq92EkjKjzY0hKpSsJXBxoeMyJDFfAbzCcArc11jn5KOvAjPh4cG6QuLFrElbiiKJQ==",
       "dependencies": {
         "@rcsb/rcsb-api-tools": "^4.1.1-uniprot-msa.1",
         "@rcsb/rcsb-saguaro": "^2.2.15",
@@ -14141,9 +14141,9 @@
       }
     },
     "@rcsb/rcsb-saguaro-app": {
-      "version": "4.4.13-uniprot-msa.16",
-      "resolved": "https://registry.npmjs.org/@rcsb/rcsb-saguaro-app/-/rcsb-saguaro-app-4.4.13-uniprot-msa.16.tgz",
-      "integrity": "sha512-F/uLl8oUMGl19Kpoux5Jymx0IcWHoUDvNMpodxGbenoRi3AaqqCe50LiuOcSHb2dyeDmdpOUrA8jdtRzGclVVg==",
+      "version": "4.4.13-uniprot-msa.17",
+      "resolved": "https://registry.npmjs.org/@rcsb/rcsb-saguaro-app/-/rcsb-saguaro-app-4.4.13-uniprot-msa.17.tgz",
+      "integrity": "sha512-y53PT8/NGKo3UZt7D2ycJq92EkjKjzY0hKpSsJXBxoeMyJDFfAbzCcArc11jn5KOvAjPh4cG6QuLFrElbiiKJQ==",
       "requires": {
         "@rcsb/rcsb-api-tools": "^4.1.1-uniprot-msa.1",
         "@rcsb/rcsb-saguaro": "^2.2.15",

+ 2 - 2
package.json

@@ -1,6 +1,6 @@
 {
   "name": "@rcsb/rcsb-saguaro-3d",
-  "version": "2.2.0-uniprot-msa.20",
+  "version": "2.2.0-uniprot-msa.21",
   "description": "RCSB Molstar/Saguaro Web App",
   "main": "build/dist/app.js",
   "files": [
@@ -83,7 +83,7 @@
     "@rcsb/rcsb-api-tools": "^4.1.0",
     "@rcsb/rcsb-molstar": "^2.5.5",
     "@rcsb/rcsb-saguaro": "^2.2.15",
-    "@rcsb/rcsb-saguaro-app": "^4.4.13-uniprot-msa.16",
+    "@rcsb/rcsb-saguaro-app": "^4.4.13-uniprot-msa.17",
     "molstar": "^3.13.0"
   },
   "bugs": {

+ 5 - 3
src/RcsbFvStructure/StructureViewerBehaviour/MsaBehaviour.ts

@@ -20,7 +20,6 @@ import {StructureLoaderInterface} from "../StructureUtils/StructureLoaderInterfa
 import {TagDelimiter} from "@rcsb/rcsb-saguaro-app";
 import {createSelectionExpressions} from "@rcsb/rcsb-molstar/build/src/viewer/helpers/selection";
 import {RegionSelectionInterface} from "../../RcsbFvState/RcsbFvSelectorManager";
-import {defaultInputTarget} from "concurrently/dist/src/defaults";
 import {TargetAlignment} from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
 
 export class MsaBehaviourObserver<R> implements StructureViewerBehaviourObserverInterface<R> {
@@ -112,7 +111,7 @@ class MsaBehaviour<R> implements StructureViewerBehaviourInterface {
                     return;
                 if(numRes == data?.length)
                     this.structureViewer.setFocus(modelId,labelAsymId,residues[0],residues[0],operatorName);
-                //cameraFocus.call(d);
+                cameraFocus.call(d);
                 const ranges: SaguaroRange[] = regions.map(r=>({
                     modelId,
                     labelAsymId,
@@ -120,7 +119,10 @@ class MsaBehaviour<R> implements StructureViewerBehaviourInterface {
                     end: r.end,
                     operatorName
                 }));
-                if( numRes <= this.CREATE_COMPONENT_THR)
+                if(
+                    data?.map( d => (d.region.end-d.region.begin+1) < this.CREATE_COMPONENT_THR ? 1 : 0)
+                    .reduce((prev,curr)=>prev+curr,0) == data?.length
+                )
                     asyncScheduler.schedule(async ()=>{
                         const x = residues[0];
                         const y = residues[residues.length-1];

+ 0 - 2
src/RcsbFvStructure/StructureViewers/MolstarViewer/MolstarActionManager.ts

@@ -21,7 +21,6 @@ import {Mat4} from "molstar/lib/mol-math/linear-algebra";
 import {BuiltInTrajectoryFormat} from "molstar/lib/mol-plugin-state/formats/trajectory";
 import {PluginState} from "molstar/lib/mol-plugin/state";
 import {TrajectoryHierarchyPresetProvider} from "molstar/lib/mol-plugin-state/builder/structure/hierarchy-preset";
-import {PluginCommands} from "molstar/lib/mol-plugin/commands";
 
 export enum LoadMethod {
     loadPdbId = "loadPdbId",
@@ -104,7 +103,6 @@ export class MolstarActionManager implements ViewerActionManagerInterface<LoadMo
                     const pdbStr: StructureRef | undefined = this.viewer.plugin.managers.structure.hierarchy.current.structures.find(s => s.properties?.cell?.obj?.data?.units[0]?.model?.id == this.modelMapManager.getModelId(loadParams.id!));
                     if (pdbStr) {
                         this.viewer.plugin.managers.structure.hierarchy.remove([pdbStr]);
-                        PluginCommands.Camera.Reset(this.viewer.plugin);
                     }
                 }
             });