From 87e0c05ec0a342bf8f0daa5105a41eb968d28caf Mon Sep 17 00:00:00 2001 From: Alexander Rose <alex.rose@rcsb.org> Date: Tue, 27 Aug 2019 09:54:27 -0700 Subject: [PATCH] tweaked cellpack loader: baseUrl, binary membrane file --- src/apps/viewer/extensions/cellpack/model.ts | 12 ++++++------ src/apps/viewer/extensions/cellpack/state.ts | 7 +++++-- src/apps/viewer/extensions/cellpack/util.ts | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/apps/viewer/extensions/cellpack/model.ts b/src/apps/viewer/extensions/cellpack/model.ts index 32f92dcef..d96a0307e 100644 --- a/src/apps/viewer/extensions/cellpack/model.ts +++ b/src/apps/viewer/extensions/cellpack/model.ts @@ -21,7 +21,7 @@ import { StateTransforms } from '../../../../mol-plugin/state/transforms'; import { distinctColors } from '../../../../mol-util/color/distinct'; import { ModelIndexColorThemeProvider } from '../../../../mol-theme/color/model-index'; import { Hcl } from '../../../../mol-util/color/spaces/hcl'; -import { ParseCellPack, StructureFromCellpack } from './state'; +import { ParseCellPack, StructureFromCellpack, DefaultCellPackBaseUrl } from './state'; import { formatMolScript } from '../../../../mol-script/language/expression-formatter'; import { MolScriptBuilder as MS } from '../../../../mol-script/language/builder'; import { getMatFromResamplePoints } from './curve'; @@ -31,7 +31,7 @@ import { ThemeRegistryContext } from '../../../../mol-theme/theme'; import { ColorTheme } from '../../../../mol-theme/color'; function getCellPackModelUrl(fileName: string, baseUrl: string) { - return `${baseUrl}/cellPACK_database_1.1.0/results/${fileName}` + return `${baseUrl}/results/${fileName}` } async function getModel(id: string, baseUrl: string) { @@ -177,7 +177,7 @@ export const LoadCellPackModel = StateAction.build({ ['influenza_model1.json', 'influenza_model1'], ['Mycoplasma1.5_mixed_pdb_fixed.cpr', 'Mycoplasma1.5_mixed_pdb_fixed'], ]), - baseUrl: PD.Text('https://cdn.jsdelivr.net/gh/mesoscope/cellPACK_data@master'), + baseUrl: PD.Text(DefaultCellPackBaseUrl), preset: PD.Group({ traceOnly: PD.Boolean(false), representation: PD.Select('spacefill', [ @@ -210,7 +210,7 @@ export const LoadCellPackModel = StateAction.build({ if (isHiv) { for (let i = 0, il = packings.length; i < il; ++i) { if (packings[i].name === 'HIV1_capsid_3j3q_PackInner_0_1_0') { - const url = `${params.baseUrl}/cellPACK_database_1.1.0/extras/rna_allpoints.json` + const url = `${params.baseUrl}/extras/rna_allpoints.json` const data = await ctx.fetch({ url, type: 'string' }).runInContext(taskCtx); const { points } = await (new Response(data)).json() as { points: number[] } @@ -257,8 +257,8 @@ export const LoadCellPackModel = StateAction.build({ } if (isHiv) { - const url = `${params.baseUrl}/cellPACK_database_1.1.0/membranes/hiv_lipids.bcif` - tree.apply(StateTransforms.Data.Download, { url }, { state: { isGhost: true } }) + const url = `${params.baseUrl}/membranes/hiv_lipids.bcif` + tree.apply(StateTransforms.Data.Download, { url, isBinary: true }, { state: { isGhost: true } }) .apply(StateTransforms.Data.ParseCif, undefined, { state: { isGhost: true } }) .apply(StateTransforms.Model.TrajectoryFromMmCif, undefined, { state: { isGhost: true } }) .apply(StateTransforms.Model.ModelFromTrajectory, undefined, { state: { isGhost: true } }) diff --git a/src/apps/viewer/extensions/cellpack/state.ts b/src/apps/viewer/extensions/cellpack/state.ts index 105ed330d..61ae4062b 100644 --- a/src/apps/viewer/extensions/cellpack/state.ts +++ b/src/apps/viewer/extensions/cellpack/state.ts @@ -10,6 +10,9 @@ import { Task } from '../../../../mol-task'; import { CellPack as _CellPack, Cell, CellPacking } from './data'; import { createStructureFromCellPack } from './model'; +// export const DefaultCellPackBaseUrl = 'https://cdn.jsdelivr.net/gh/mesoscope/cellPACK_data@master/cellPACK_database_1.1.0/' +export const DefaultCellPackBaseUrl = 'https://mgldev.scripps.edu/projects/autoPACK/web/cellpackproject/' + export class CellPack extends PSO.Create<_CellPack>({ name: 'CellPack', typeClass: 'Object' }) { } export { ParseCellPack } @@ -51,13 +54,13 @@ const StructureFromCellpack = PluginStateTransform.BuiltIn({ if (!a) { return { packing: PD.Numeric(0, {}, { description: 'Packing Index' }), - baseUrl: PD.Text('https://cdn.jsdelivr.net/gh/mesoscope/cellPACK_data@master/') + baseUrl: PD.Text(DefaultCellPackBaseUrl) }; } const options = a.data.packings.map((d, i) => [i, d.name] as [number, string]) return { packing: PD.Select(0, options), - baseUrl: PD.Text('https://cdn.jsdelivr.net/gh/mesoscope/cellPACK_data@master/') + baseUrl: PD.Text(DefaultCellPackBaseUrl) } } })({ diff --git a/src/apps/viewer/extensions/cellpack/util.ts b/src/apps/viewer/extensions/cellpack/util.ts index 2995456bd..f71e10701 100644 --- a/src/apps/viewer/extensions/cellpack/util.ts +++ b/src/apps/viewer/extensions/cellpack/util.ts @@ -37,7 +37,7 @@ export async function getFromPdb(id: string) { } function getCellPackDataUrl(id: string, baseUrl: string) { - const url = `${baseUrl}/cellPACK_database_1.1.0/other/${id}` + const url = `${baseUrl}/other/${id}` return url.endsWith('.pdb') ? url : `${url}.pdb` } -- GitLab