UNPKG

molstar

Version:

A comprehensive macromolecular library.

85 lines (84 loc) 4.57 kB
"use strict"; /** * Copyright (c) 2023-2024 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Adam Midlik <midlik@gmail.com> */ Object.defineProperty(exports, "__esModule", { value: true }); exports.MolstarTreeSchema = void 0; const object_1 = require("../../../../mol-util/object.js"); const field_schema_1 = require("../generic/field-schema.js"); const params_schema_1 = require("../generic/params-schema.js"); const tree_schema_1 = require("../generic/tree-schema.js"); const mvs_tree_1 = require("../mvs/mvs-tree.js"); const param_types_1 = require("../mvs/param-types.js"); /** Schema for `MolstarTree` (intermediate tree representation between `MVSTree` and a real Molstar state) */ exports.MolstarTreeSchema = (0, tree_schema_1.TreeSchema)({ rootKind: 'root', nodes: { ...mvs_tree_1.FullMVSTreeSchema.nodes, download: { ...mvs_tree_1.FullMVSTreeSchema.nodes.download, params: (0, params_schema_1.SimpleParamsSchema)({ ...mvs_tree_1.FullMVSTreeSchema.nodes.download.params.fields, /** Specifies whether file is downloaded as bytes array or string */ is_binary: (0, field_schema_1.RequiredField)(field_schema_1.bool, 'Specifies whether file is downloaded as bytes array or string'), }), }, parse: { ...mvs_tree_1.FullMVSTreeSchema.nodes.parse, params: (0, params_schema_1.SimpleParamsSchema)({ /** File format */ format: (0, field_schema_1.RequiredField)(param_types_1.MolstarParseFormatT, 'File format'), }), }, /** Auxiliary node corresponding to Molstar's CoordinatesFrom*. */ coordinates: { description: "Auxiliary node corresponding to Molstar's CoordinatesFrom*.", parent: ['parse'], params: (0, params_schema_1.SimpleParamsSchema)({ /** File format */ format: (0, field_schema_1.RequiredField)(param_types_1.MolstarParseFormatT, 'File format'), }), }, /** Auxiliary node corresponding to Molstar's TrajectoryFrom*. */ trajectory: { description: "Auxiliary node corresponding to Molstar's TrajectoryFrom*.", parent: ['parse'], params: (0, params_schema_1.SimpleParamsSchema)({ /** File format */ format: (0, field_schema_1.RequiredField)(param_types_1.MolstarParseFormatT, 'File format'), ...(0, object_1.pickObjectKeys)(mvs_tree_1.FullMVSTreeSchema.nodes.structure.params.fields, ['block_header', 'block_index']), }), }, /** Auxiliary node corresponding to Molstar's TrajectoryFrom*. */ trajectory_with_coordinates: { description: 'Auxiliary node corresponding to assigning a separate coordinates to a trajectory.', parent: ['model'], params: (0, params_schema_1.SimpleParamsSchema)({ /** Coordinates reference */ coordinates_ref: (0, field_schema_1.RequiredField)(field_schema_1.str, 'Coordinates reference'), }), }, topology_with_coordinates: { description: 'Auxiliary node corresponding to assigning a separate coordinates to a topology.', parent: ['parse'], params: (0, params_schema_1.SimpleParamsSchema)({ format: (0, field_schema_1.RequiredField)(param_types_1.MolstarParseFormatT, 'File format'), coordinates_ref: (0, field_schema_1.RequiredField)(field_schema_1.str, 'Coordinates reference'), }), }, /** Auxiliary node corresponding to Molstar's ModelFromTrajectory. */ model: { description: "Auxiliary node corresponding to Molstar's ModelFromTrajectory.", parent: ['trajectory', 'trajectory_with_coordinates', 'topology_with_coordinates'], params: (0, params_schema_1.SimpleParamsSchema)((0, object_1.pickObjectKeys)(mvs_tree_1.FullMVSTreeSchema.nodes.structure.params.fields, ['model_index'])), }, /** Auxiliary node corresponding to Molstar's StructureFromModel. */ structure: { ...mvs_tree_1.FullMVSTreeSchema.nodes.structure, parent: ['model'], params: (0, params_schema_1.SimpleParamsSchema)((0, object_1.omitObjectKeys)(mvs_tree_1.FullMVSTreeSchema.nodes.structure.params.fields, ['block_header', 'block_index', 'model_index', 'coordinates_ref'])), }, } });