From 5ed17ce4e515ae99508aab64b867d0c5fcbe6450 Mon Sep 17 00:00:00 2001 From: David Sehnal <david.sehnal@gmail.com> Date: Fri, 21 Jun 2019 12:47:14 +0200 Subject: [PATCH] proteopedia-wrapper: evolutionary coloring on current representation --- src/examples/proteopedia-wrapper/index.html | 3 ++- src/examples/proteopedia-wrapper/index.ts | 18 +++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/examples/proteopedia-wrapper/index.html b/src/examples/proteopedia-wrapper/index.html index 5fd7d7bbc..632496100 100644 --- a/src/examples/proteopedia-wrapper/index.html +++ b/src/examples/proteopedia-wrapper/index.html @@ -149,7 +149,8 @@ addSeparator(); addHeader('Misc'); - addControl('Apply Evo Cons', () => PluginWrapper.coloring.evolutionaryConservation()); + addControl('Apply Evo Cons Style', () => PluginWrapper.coloring.evolutionaryConservation()); + addControl('Apply Evo Cons Colors', () => PluginWrapper.coloring.evolutionaryConservation({ sequence: true, het: false, keepStyle: true })); addControl('Default Visuals', () => PluginWrapper.updateStyle()); addSeparator(); diff --git a/src/examples/proteopedia-wrapper/index.ts b/src/examples/proteopedia-wrapper/index.ts index 956ae98c1..750503e5e 100644 --- a/src/examples/proteopedia-wrapper/index.ts +++ b/src/examples/proteopedia-wrapper/index.ts @@ -253,18 +253,26 @@ class MolStarProteopediaWrapper { } coloring = { - evolutionaryConservation: async () => { - await this.updateStyle({ sequence: { kind: 'spacefill' } }, true); + evolutionaryConservation: async (params?: { sequence?: boolean, het?: boolean, keepStyle?: boolean }) => { + if (!params || !params.keepStyle) { + await this.updateStyle({ sequence: { kind: 'spacefill' } }, true); + } const state = this.state; // const visuals = state.selectQ(q => q.ofType(PluginStateObject.Molecule.Structure.Representation3D).filter(c => c.transform.transformer === StateTransforms.Representation.StructureRepresentation3D)); + // for (const v of visuals) { + // } + const tree = state.build(); const colorTheme = { name: EvolutionaryConservation.Descriptor.name, params: this.plugin.structureRepresentation.themeCtx.colorThemeRegistry.get(EvolutionaryConservation.Descriptor.name).defaultValues }; - tree.to(StateElements.SequenceVisual).update(StateTransforms.Representation.StructureRepresentation3D, old => ({ ...old, colorTheme })); - // for (const v of visuals) { - // } + if (!params || !!params.sequence) { + tree.to(StateElements.SequenceVisual).update(StateTransforms.Representation.StructureRepresentation3D, old => ({ ...old, colorTheme })); + } + if (params && !!params.het) { + tree.to(StateElements.HetVisual).update(StateTransforms.Representation.StructureRepresentation3D, old => ({ ...old, colorTheme })); + } await PluginCommands.State.Update.dispatch(this.plugin, { state, tree }); } -- GitLab