molstar
Version:
A comprehensive macromolecular library.
62 lines • 2.29 kB
JavaScript
/**
* Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author David Sehnal <david.sehnal@gmail.com>
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
import { __awaiter, __generator } from "tslib";
import { StateTransforms } from '../transforms';
import { DataFormatProvider } from './provider';
export var StructureFormatCategory = 'Structure';
export var PsfProvider = DataFormatProvider({
label: 'PSF',
description: 'PSF',
category: StructureFormatCategory,
stringExtensions: ['psf'],
parse: function (plugin, data) { return __awaiter(void 0, void 0, void 0, function () {
var format, topology;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
format = plugin.state.data.build()
.to(data)
.apply(StateTransforms.Data.ParsePsf, {}, { state: { isGhost: true } });
topology = format.apply(StateTransforms.Model.TopologyFromPsf);
return [4 /*yield*/, format.commit()];
case 1:
_a.sent();
return [2 /*return*/, { format: format.selector, topology: topology.selector }];
}
});
}); }
});
export var DcdProvider = DataFormatProvider({
label: 'DCD',
description: 'DCD',
category: StructureFormatCategory,
binaryExtensions: ['dcd'],
parse: function (plugin, data) {
var coordinates = plugin.state.data.build()
.to(data)
.apply(StateTransforms.Model.CoordinatesFromDcd);
return coordinates.commit();
}
});
export var XtcProvider = DataFormatProvider({
label: 'XTC',
description: 'XTC',
category: StructureFormatCategory,
binaryExtensions: ['xtc'],
parse: function (plugin, data) {
var coordinates = plugin.state.data.build()
.to(data)
.apply(StateTransforms.Model.CoordinatesFromXtc);
return coordinates.commit();
}
});
export var BuiltInStructureFormats = [
['psf', PsfProvider],
['dcd', DcdProvider],
['xtc', XtcProvider],
];
//# sourceMappingURL=structure.js.map