From 06bf2c39a1a24ed98213851e237c0ca2ba0cc4fe Mon Sep 17 00:00:00 2001 From: Alexander Rose <alexander.rose@weirdbyte.de> Date: Sat, 2 May 2020 12:59:31 -0700 Subject: [PATCH] add pdb-dev download bcif encoding --- src/apps/viewer/index.ts | 5 ++++- src/mol-plugin-state/actions/structure.ts | 15 ++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/apps/viewer/index.ts b/src/apps/viewer/index.ts index cd677bf98..b38e48623 100644 --- a/src/apps/viewer/index.ts +++ b/src/apps/viewer/index.ts @@ -150,7 +150,10 @@ export class Viewer { source: { name: 'pdb-dev' as const, params: { - id: pdbDev, + provider: { + id: pdbDev, + encoding: 'bcif', + }, options: params.source.params.options, } } diff --git a/src/mol-plugin-state/actions/structure.ts b/src/mol-plugin-state/actions/structure.ts index 7a46fd102..24a43eb67 100644 --- a/src/mol-plugin-state/actions/structure.ts +++ b/src/mol-plugin-state/actions/structure.ts @@ -32,7 +32,7 @@ export const PdbDownloadProvider = { encoding: PD.Select('bcif', [['cif', 'cif'], ['bcif', 'bcif']] as ['cif' | 'bcif', string][]), }, { label: 'RCSB PDB', isFlat: true }), 'pdbe': PD.Group({ - variant: PD.Select('updated-bcif', [['updated-bcif', 'Updated (bcif)'], ['updated', 'Updated'], ['archival', 'Archival']] as ['updated' | 'archival', string][]), + variant: PD.Select('updated-bcif', [['updated-bcif', 'Updated (bcif)'], ['updated', 'Updated'], ['archival', 'Archival']] as ['updated' | 'updtaed-bcif' | 'archival', string][]), }, { label: 'PDBe', isFlat: true }), }; export type PdbDownloadProvider = keyof typeof PdbDownloadProvider; @@ -55,7 +55,10 @@ const DownloadStructure = StateAction.build({ options }, { isFlat: true, label: 'PDB' }), 'pdb-dev': PD.Group({ - id: PD.Text('PDBDEV_00000001', { label: 'PDBDev Id(s)', description: 'One or more comma/space separated ids.' }), + provider: PD.Group({ + id: PD.Text('PDBDEV_00000001', { label: 'PDBDev Id(s)', description: 'One or more comma/space separated ids.' }), + encoding: PD.Select('bcif', [['cif', 'cif'], ['bcif', 'bcif']] as ['cif' | 'bcif', string][]), + }, { pivot: 'id' }), options }, { isFlat: true, label: 'PDBDEV' }), 'bcif-static': PD.Group({ @@ -104,13 +107,15 @@ const DownloadStructure = StateAction.build({ asTrajectory = !!src.params.options.asTrajectory; break; case 'pdb-dev': - downloadParams = getDownloadParams(src.params.id, + downloadParams = getDownloadParams(src.params.provider.id, id => { const nId = id.toUpperCase().startsWith('PDBDEV_') ? id : `PDBDEV_${id.padStart(8, '0')}`; - return `https://pdb-dev.wwpdb.org/cif/${nId.toUpperCase()}.cif`; + return src.params.provider.encoding === 'bcif' + ? `https://pdb-dev.wwpdb.org/bcif/${nId.toUpperCase()}.bcif` + : `https://pdb-dev.wwpdb.org/cif/${nId.toUpperCase()}.cif`; }, id => id.toUpperCase().startsWith('PDBDEV_') ? id : `PDBDEV_${id.padStart(8, '0')}`, - false + src.params.provider.encoding === 'bcif' ); asTrajectory = !!src.params.options.asTrajectory; break; -- GitLab