Bladeren bron

cellpack: cleanup

- renamed GetAllAssamblyinOne to StructureFromAssemblies
- removed GetAllAssamblyinOneStructure
Alexander Rose 5 jaren geleden
bovenliggende
commit
d8970305de
2 gewijzigde bestanden met toevoegingen van 77 en 81 verwijderingen
  1. 2 3
      src/extensions/cellpack/model.ts
  2. 75 78
      src/extensions/cellpack/state.ts

+ 2 - 3
src/extensions/cellpack/model.ts

@@ -17,7 +17,7 @@ import { Mat4, Vec3, Quat } from '../../mol-math/linear-algebra';
 import { SymmetryOperator } from '../../mol-math/geometry';
 import { Task, RuntimeContext } from '../../mol-task';
 import { StateTransforms } from '../../mol-plugin-state/transforms';
-import { ParseCellPack, StructureFromCellpack, DefaultCellPackBaseUrl, GetAllAssamblyinOneStructure } from './state';
+import { ParseCellPack, StructureFromCellpack, DefaultCellPackBaseUrl, StructureFromAssemblies } from './state';
 import { MolScriptBuilder as MS } from '../../mol-script/language/builder';
 import { getMatFromResamplePoints } from './curve';
 import { compile } from '../../mol-script/runtime/query/compiler';
@@ -479,8 +479,7 @@ async function loadMembrane(plugin: PluginContext, name: string, state: State, p
     const membrane = await b.apply(StateTransforms.Data.ParseCif, undefined, { state: { isGhost: true } })
         .apply(StateTransforms.Model.TrajectoryFromMmCif, undefined, { state: { isGhost: true } })
         .apply(StateTransforms.Model.ModelFromTrajectory, undefined, { state: { isGhost: true } })
-        .apply(StateTransforms.Model.StructureFromModel)
-        .apply(GetAllAssamblyinOneStructure, undefined, { state: { isGhost: true } })
+        .apply(StructureFromAssemblies, undefined, { state: { isGhost: true } })
         .commit({ revertOnError: true });
 
     const membraneParams = {

+ 75 - 78
src/extensions/cellpack/state.ts

@@ -97,12 +97,11 @@ const StructureFromCellpack = PluginStateTransform.BuiltIn({
     }
 });
 
-export { GetAllAssamblyinOne };
-type GetAllAssamblyinOne = typeof GetAllAssamblyinOne
-const GetAllAssamblyinOne = PluginStateTransform.BuiltIn({
-    name: 'get assambly from model',
-    display: { name: 'get assambly from model' },
-    isDecorator: true,
+export { StructureFromAssemblies };
+type StructureFromAssemblies = typeof StructureFromAssemblies
+const StructureFromAssemblies = PluginStateTransform.BuiltIn({
+    name: 'Structure from all assemblies',
+    display: { name: 'Structure from all assemblies' },
     from: PSO.Molecule.Model,
     to: PSO.Molecule.Structure,
     params: {
@@ -121,29 +120,27 @@ const GetAllAssamblyinOne = PluginStateTransform.BuiltIn({
             let structure: Structure = initial_structure;
             // the list of asambly *?
             const symmetry = ModelSymmetry.Provider.get(model);
-            if (symmetry){
-                if (symmetry.assemblies.length !== 0) {
-                    for (const a of symmetry.assemblies) {
-                        const s = await StructureSymmetry.buildAssembly(initial_structure, a.id).runInContext(ctx);
-                        structures.push(s);
-                    }
-                    const builder = Structure.Builder({ label: name });
-                    let offsetInvariantId = 0;
-                    for (const s of structures) {
-                        let maxInvariantId = 0;
-                        for (const u of s.units) {
-                            const invariantId = u.invariantId + offsetInvariantId;
-                            if (u.invariantId > maxInvariantId) maxInvariantId = u.invariantId;
-                            builder.addUnit(u.kind, u.model, u.conformation.operator, u.elements, Unit.Trait.None, invariantId);
-                        }
-                        offsetInvariantId += maxInvariantId + 1;
-                    }
-                    structure = builder.getStructure();
-                    for( let i = 0, il = structure.models.length; i < il; ++i) {
-                        const { trajectoryInfo } = structure.models[i];
-                        trajectoryInfo.size = il;
-                        trajectoryInfo.index = i;
+            if (symmetry && symmetry.assemblies.length !== 0){
+                for (const a of symmetry.assemblies) {
+                    const s = await StructureSymmetry.buildAssembly(initial_structure, a.id).runInContext(ctx);
+                    structures.push(s);
+                }
+                const builder = Structure.Builder({ label: name });
+                let offsetInvariantId = 0;
+                for (const s of structures) {
+                    let maxInvariantId = 0;
+                    for (const u of s.units) {
+                        const invariantId = u.invariantId + offsetInvariantId;
+                        if (u.invariantId > maxInvariantId) maxInvariantId = u.invariantId;
+                        builder.addUnit(u.kind, u.model, u.conformation.operator, u.elements, Unit.Trait.None, invariantId);
                     }
+                    offsetInvariantId += maxInvariantId + 1;
+                }
+                structure = builder.getStructure();
+                for( let i = 0, il = structure.models.length; i < il; ++i) {
+                    const { trajectoryInfo } = structure.models[i];
+                    trajectoryInfo.size = il;
+                    trajectoryInfo.index = i;
                 }
             }
             return new PSO.Molecule.Structure(structure, { label: a.label, description: `${a.description}` });
@@ -154,54 +151,54 @@ const GetAllAssamblyinOne = PluginStateTransform.BuiltIn({
     }
 });
 
-export { GetAllAssamblyinOneStructure };
-type GetAllAssamblyinOneStructure = typeof GetAllAssamblyinOneStructure
-const GetAllAssamblyinOneStructure = PluginStateTransform.BuiltIn({
-    name: 'get assambly from structure',
-    display: { name: 'get assambly from structure' },
-    isDecorator: true,
-    from: PSO.Molecule.Structure,
-    to: PSO.Molecule.Structure,
-    params(a) {
-        return { };
-    }
-})({
-    apply({ a, params }) {
-        return Task.create('Build Structure Assemblies', async ctx => {
-            // TODO: optimze
-            // TODO: think of ways how to fast-track changes to this for animations
-            const initial_structure = a.data;
-            const structures: Structure[] = [];
-            let structure: Structure = initial_structure;
-            // the list of asambly *?
-            const symmetry = ModelSymmetry.Provider.get(initial_structure.model);
-            if (symmetry){
-                if (symmetry.assemblies.length !== 0) {
-                    for (const a of symmetry.assemblies) {
-                        const s = await StructureSymmetry.buildAssembly(initial_structure, a.id!).runInContext(ctx);
-                        structures.push(s);
-                    }
-                    const builder = Structure.Builder({ label: name });
-                    let offsetInvariantId = 0;
-                    for (const s of structures) {
-                        let maxInvariantId = 0;
-                        for (const u of s.units) {
-                            const invariantId = u.invariantId + offsetInvariantId;
-                            if (u.invariantId > maxInvariantId) maxInvariantId = u.invariantId;
-                            builder.addUnit(u.kind, u.model, u.conformation.operator, u.elements, Unit.Trait.None, invariantId);
-                        }
-                        offsetInvariantId += maxInvariantId + 1;
-                    }
-                    structure = builder.getStructure();
-                    for( let i = 0, il = structure.models.length; i < il; ++i) {
-                        const { trajectoryInfo } = structure.models[i];
-                        trajectoryInfo.size = il;
-                        trajectoryInfo.index = i;
-                    }
-                }
-            }
-            return new PSO.Molecule.Structure(structure, { label: a.label, description: `${a.description}` });
-        });
-    }
-});
+// export { GetAllAssamblyinOneStructure };
+// type GetAllAssamblyinOneStructure = typeof GetAllAssamblyinOneStructure
+// const GetAllAssamblyinOneStructure = PluginStateTransform.BuiltIn({
+//     name: 'get assambly from structure',
+//     display: { name: 'get assambly from structure' },
+//     isDecorator: true,
+//     from: PSO.Molecule.Structure,
+//     to: PSO.Molecule.Structure,
+//     params(a) {
+//         return { };
+//     }
+// })({
+//     apply({ a, params }) {
+//         return Task.create('Build Structure Assemblies', async ctx => {
+//             // TODO: optimze
+//             // TODO: think of ways how to fast-track changes to this for animations
+//             const initial_structure = a.data;
+//             const structures: Structure[] = [];
+//             let structure: Structure = initial_structure;
+//             // the list of asambly *?
+//             const symmetry = ModelSymmetry.Provider.get(initial_structure.model);
+//             if (symmetry){
+//                 if (symmetry.assemblies.length !== 0) {
+//                     for (const a of symmetry.assemblies) {
+//                         const s = await StructureSymmetry.buildAssembly(initial_structure, a.id!).runInContext(ctx);
+//                         structures.push(s);
+//                     }
+//                     const builder = Structure.Builder({ label: name });
+//                     let offsetInvariantId = 0;
+//                     for (const s of structures) {
+//                         let maxInvariantId = 0;
+//                         for (const u of s.units) {
+//                             const invariantId = u.invariantId + offsetInvariantId;
+//                             if (u.invariantId > maxInvariantId) maxInvariantId = u.invariantId;
+//                             builder.addUnit(u.kind, u.model, u.conformation.operator, u.elements, Unit.Trait.None, invariantId);
+//                         }
+//                         offsetInvariantId += maxInvariantId + 1;
+//                     }
+//                     structure = builder.getStructure();
+//                     for( let i = 0, il = structure.models.length; i < il; ++i) {
+//                         const { trajectoryInfo } = structure.models[i];
+//                         trajectoryInfo.size = il;
+//                         trajectoryInfo.index = i;
+//                     }
+//                 }
+//             }
+//             return new PSO.Molecule.Structure(structure, { label: a.label, description: `${a.description}` });
+//         });
+//     }
+// });