diff --git a/src/mol-plugin/state/actions/basic.ts b/src/mol-plugin/state/actions/basic.ts index a20acba9bb8653fdbba7081d13e7cdf2198a6b19..e2be44425b97f00504319e7623a88291115aa0ee 100644 --- a/src/mol-plugin/state/actions/basic.ts +++ b/src/mol-plugin/state/actions/basic.ts @@ -162,12 +162,12 @@ export const UpdateTrajectory = StateAction.build({ // -const VolumeFormats = { 'ccp4': '', 'mrc': '', 'dsn6': '', 'brix': '' } +const VolumeFormats = { 'ccp4': '', 'mrc': '', 'map': '', 'dsn6': '', 'brix': '' } type VolumeFormat = keyof typeof VolumeFormats function getVolumeData(format: VolumeFormat, b: StateTreeBuilder.To<PluginStateObject.Data.Binary | PluginStateObject.Data.String>) { switch (format) { - case 'ccp4': case 'mrc': + case 'ccp4': case 'mrc': case 'map': return b.apply(StateTransforms.Data.ParseCcp4).apply(StateTransforms.Model.VolumeFromCcp4); case 'dsn6': case 'brix': return b.apply(StateTransforms.Data.ParseDsn6).apply(StateTransforms.Model.VolumeFromDsn6); @@ -200,9 +200,9 @@ export const OpenVolume = StateAction.build({ display: { name: 'Open Volume', description: 'Load a volume from file and create its default visual' }, from: PluginStateObject.Root, params: { - file: PD.File({ accept: '.ccp4,.mrc,.dsn6,.brix'}), + file: PD.File({ accept: '.ccp4,.mrc,.map,.dsn6,.brix'}), format: PD.Select('auto', [ - ['auto', 'Automatic'], ['ccp4', 'CCP4'], ['mrc', 'MRC'], ['dsn6', 'DSN6'], ['brix', 'BRIX'] + ['auto', 'Automatic'], ['ccp4', 'CCP4'], ['mrc', 'MRC'], ['map', 'MAP'], ['dsn6', 'DSN6'], ['brix', 'BRIX'] ]), } })(({ params, state }, ctx: PluginContext) => { @@ -230,7 +230,7 @@ const DownloadDensity = StateAction.build({ 'url': PD.Group({ url: PD.Text(''), format: PD.Select('auto', [ - ['auto', 'Automatic'], ['ccp4', 'CCP4'], ['mrc', 'MRC'], ['dsn6', 'DSN6'], ['brix', 'BRIX'] + ['auto', 'Automatic'], ['ccp4', 'CCP4'], ['mrc', 'MRC'], ['map', 'MAP'], ['dsn6', 'DSN6'], ['brix', 'BRIX'] ]), }, { isFlat: true }) }, { diff --git a/src/mol-plugin/state/objects.ts b/src/mol-plugin/state/objects.ts index a47bb8ed1794b5823ce010e966e729b6e9b519c7..519ba1e03cfb9dc57bcff0a83670ea88b1a7bb54 100644 --- a/src/mol-plugin/state/objects.ts +++ b/src/mol-plugin/state/objects.ts @@ -59,7 +59,7 @@ export namespace PluginStateObject { export namespace Format { export class Json extends Create<any>({ name: 'JSON Data', typeClass: 'Data' }) { } export class Cif extends Create<CifFile>({ name: 'CIF File', typeClass: 'Data' }) { } - export class Ccp4 extends Create<Ccp4File>({ name: 'CCP4/MRC File', typeClass: 'Data' }) { } + export class Ccp4 extends Create<Ccp4File>({ name: 'CCP4/MRC/MAP File', typeClass: 'Data' }) { } export class Dsn6 extends Create<Dsn6File>({ name: 'DSN6/BRIX File', typeClass: 'Data' }) { } } diff --git a/src/mol-plugin/state/transforms/data.ts b/src/mol-plugin/state/transforms/data.ts index 8cb114dcb34da78c494762a8c664f932370b3453..59ed1b3a0d9e8e3eb3fb6fb615a4a3bfbb18b017 100644 --- a/src/mol-plugin/state/transforms/data.ts +++ b/src/mol-plugin/state/transforms/data.ts @@ -99,12 +99,12 @@ export { ParseCcp4 } type ParseCcp4 = typeof ParseCcp4 const ParseCcp4 = PluginStateTransform.BuiltIn({ name: 'parse-ccp4', - display: { name: 'Parse CCP4/MRC', description: 'Parse CCP4/MRC from Binary data' }, + display: { name: 'Parse CCP4/MRC/MAP', description: 'Parse CCP4/MRC/MAP from Binary data' }, from: [SO.Data.Binary], to: SO.Format.Ccp4 })({ apply({ a }) { - return Task.create('Parse CCP4/MRC', async ctx => { + return Task.create('Parse CCP4/MRC/MAP', async ctx => { const parsed = await CCP4.parse(a.data).runInContext(ctx); if (parsed.isError) throw new Error(parsed.message); return new SO.Format.Ccp4(parsed.result); diff --git a/src/mol-plugin/state/transforms/model.ts b/src/mol-plugin/state/transforms/model.ts index 75b01b9e5783a6fd4c27af3651ab52550e069a27..958e2ef901a3ccd26981fc2eab4d7c4d61c426d8 100644 --- a/src/mol-plugin/state/transforms/model.ts +++ b/src/mol-plugin/state/transforms/model.ts @@ -221,7 +221,7 @@ export { VolumeFromCcp4 } type VolumeFromCcp4 = typeof VolumeFromCcp4 const VolumeFromCcp4 = PluginStateTransform.BuiltIn({ name: 'volume-from-ccp4', - display: { name: 'Volume from CCP4/MRC', description: 'Create Volume from CCP4/MRC data' }, + display: { name: 'Volume from CCP4/MRC/MAP', description: 'Create Volume from CCP4/MRC/MAP data' }, from: SO.Format.Ccp4, to: SO.Volume.Data, params(a) { @@ -231,7 +231,7 @@ const VolumeFromCcp4 = PluginStateTransform.BuiltIn({ } })({ apply({ a, params }) { - return Task.create('Create volume from CCP4/MRC', async ctx => { + return Task.create('Create volume from CCP4/MRC/MAP', async ctx => { const volume = await volumeFromCcp4(a.data, params).runInContext(ctx) const props = { label: 'Volume' }; return new SO.Volume.Data(volume, props);