Browse Source

moved StructureQuery.runExpr to Script.getStructureSelection to fix cyclic dep

David Sehnal 5 years ago
parent
commit
17a440ad9c

+ 3 - 2
src/apps/basic-wrapper/index.ts

@@ -19,7 +19,8 @@ import { StaticSuperpositionTestData, buildStaticSuperposition, dynamicSuperposi
 import { PDBeStructureQualityReport } from '../../mol-plugin/behavior/dynamic/custom-props';
 import { CustomToastMessage } from './controls';
 import { EmptyLoci } from '../../mol-model/loci';
-import { StructureSelection, StructureQuery } from '../../mol-model/structure';
+import { StructureSelection } from '../../mol-model/structure';
+import { Script } from '../../mol-script/script';
 require('mol-plugin/skin/light.scss')
 
 type SupportedFormats = 'cif' | 'pdb'
@@ -149,7 +150,7 @@ class BasicWrapper {
         highlightOn: () => {
             const seq_id = 7;
             const data = (this.plugin.state.dataState.select('asm')[0].obj as PluginStateObject.Molecule.Structure).data;
-            const sel = StructureQuery.runExpr(Q => Q.struct.generator.atomGroups({
+            const sel = Script.getStructureSelection(Q => Q.struct.generator.atomGroups({
                 'residue-test': Q.core.rel.eq([Q.struct.atomProperty.macromolecular.label_seq_id(), seq_id]),
                 'group-by': Q.struct.atomProperty.macromolecular.residueKey()
             }), data);

+ 0 - 9
src/mol-model/structure/query/query.ts

@@ -7,21 +7,12 @@
 import { Structure } from '../structure'
 import { StructureSelection } from './selection'
 import { QueryContext, QueryFn, QueryContextOptions } from './context';
-import Expression from '../../../mol-script/language/expression';
-import { compile } from '../../../mol-script/runtime/query/compiler';
-import { MolScriptBuilder } from '../../../mol-script/language/builder';
 
 interface StructureQuery extends QueryFn<StructureSelection> { }
 namespace StructureQuery {
     export function run(query: StructureQuery, structure: Structure, options?: QueryContextOptions) {
         return query(new QueryContext(structure, options));
     }
-
-    export function runExpr(expr: Expression | ((builder: typeof MolScriptBuilder) => Expression), structure: Structure, options?: QueryContextOptions) {
-        const e = typeof expr === 'function' ? expr(MolScriptBuilder) : expr;
-        const query = compile<StructureSelection>(e);
-        return query(new QueryContext(structure, options));
-    }
 }
 
 export { StructureQuery }

+ 8 - 1
src/mol-script/script.ts

@@ -7,8 +7,9 @@
 import { transpileMolScript } from './script/mol-script/symbols';
 import { parseMolScript } from './language/parser';
 import Expression from './language/expression';
-import { StructureElement, QueryContext, StructureSelection, Structure, QueryFn } from '../mol-model/structure';
+import { StructureElement, QueryContext, StructureSelection, Structure, QueryFn, QueryContextOptions } from '../mol-model/structure';
 import { compile } from './runtime/query/compiler';
+import { MolScriptBuilder } from './language/builder';
 
 export { Script }
 
@@ -45,4 +46,10 @@ namespace Script {
         const result = query(new QueryContext(structure))
         return StructureSelection.toLociWithSourceUnits(result)
     }
+
+    export function getStructureSelection(expr: Expression | ((builder: typeof MolScriptBuilder) => Expression), structure: Structure, options?: QueryContextOptions) {
+        const e = typeof expr === 'function' ? expr(MolScriptBuilder) : expr;
+        const query = compile<StructureSelection>(e);
+        return query(new QueryContext(structure, options));
+    }
 }