Skip to content
Snippets Groups Projects
Commit 175e0091 authored by David Sehnal's avatar David Sehnal
Browse files

proteopedia-wrapper: fix assembly loading

parent 897d17c8
No related branches found
No related tags found
No related merge requests found
...@@ -81,7 +81,7 @@ class MolStarProteopediaWrapper { ...@@ -81,7 +81,7 @@ class MolStarProteopediaWrapper {
return b.apply(StateTransforms.Data.Download, { url, isBinary: false }) return b.apply(StateTransforms.Data.Download, { url, isBinary: false })
} }
private model(b: StateBuilder.To<PSO.Data.Binary | PSO.Data.String>, format: SupportedFormats, assemblyId: string) { private model(b: StateBuilder.To<PSO.Data.Binary | PSO.Data.String>, format: SupportedFormats) {
const parsed = format === 'cif' const parsed = format === 'cif'
? b.apply(StateTransforms.Data.ParseCif).apply(StateTransforms.Model.TrajectoryFromMmCif) ? b.apply(StateTransforms.Data.ParseCif).apply(StateTransforms.Model.TrajectoryFromMmCif)
: b.apply(StateTransforms.Model.TrajectoryFromPDB); : b.apply(StateTransforms.Model.TrajectoryFromPDB);
...@@ -203,14 +203,17 @@ class MolStarProteopediaWrapper { ...@@ -203,14 +203,17 @@ class MolStarProteopediaWrapper {
if (loadType === 'full') { if (loadType === 'full') {
await PluginCommands.State.RemoveObject.dispatch(this.plugin, { state, ref: state.tree.root.ref }); await PluginCommands.State.RemoveObject.dispatch(this.plugin, { state, ref: state.tree.root.ref });
const modelTree = this.model(this.download(state.build().toRoot(), url), format, assemblyId); const modelTree = this.model(this.download(state.build().toRoot(), url), format);
await this.applyState(modelTree); await this.applyState(modelTree);
const info = await this.doInfo(true); const info = await this.doInfo(true);
const structureTree = this.structure((assemblyId === 'preferred' && info && info.preferredAssemblyId) || assemblyId); const asmId = (assemblyId === 'preferred' && info && info.preferredAssemblyId) || assemblyId;
const structureTree = this.structure(asmId);
await this.applyState(structureTree); await this.applyState(structureTree);
} else { } else {
const tree = state.build(); const tree = state.build();
tree.to(StateElements.Assembly).update(StateTransforms.Model.StructureAssemblyFromModel, p => ({ ...p, id: assemblyId || 'deposited' })); const info = await this.doInfo(true);
const asmId = (assemblyId === 'preferred' && info && info.preferredAssemblyId) || assemblyId;
tree.to(StateElements.Assembly).update(StateTransforms.Model.StructureAssemblyFromModel, p => ({ ...p, id: asmId }));
await this.applyState(tree); await this.applyState(tree);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment