UNPKG

molstar

Version:

A comprehensive macromolecular library.

63 lines 3.18 kB
"use strict"; /** * Copyright (c) 2017-2018 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal <david.sehnal@gmail.com> */ Object.defineProperty(exports, "__esModule", { value: true }); exports._pdbx_nonpoly_scheme = exports._pdbx_chem_comp_identifier = exports._chem_comp_bond = exports._chem_comp = void 0; var db_1 = require("../../../../mol-data/db"); var cif_1 = require("../../../../mol-io/writer/cif"); var utils_1 = require("./utils"); var CifCategory = cif_1.CifWriter.Category; exports._chem_comp = { name: 'chem_comp', instance: function (_a) { var firstModel = _a.firstModel, structures = _a.structures, cache = _a.cache; var chem_comp = (0, utils_1.getModelMmCifCategory)(structures[0].model, 'chem_comp'); if (!chem_comp) return CifCategory.Empty; var id = chem_comp.id; var names = cache.uniqueResidueNames || (cache.uniqueResidueNames = (0, utils_1.getUniqueResidueNamesFromStructures)(structures)); var indices = db_1.Column.indicesOf(id, function (id) { return names.has(id); }); return CifCategory.ofTable(chem_comp, indices); } }; exports._chem_comp_bond = { name: 'chem_comp_bond', instance: function (_a) { var firstModel = _a.firstModel, structures = _a.structures, cache = _a.cache; var chem_comp_bond = (0, utils_1.getModelMmCifCategory)(structures[0].model, 'chem_comp_bond'); if (!chem_comp_bond) return CifCategory.Empty; var comp_id = chem_comp_bond.comp_id; var names = cache.uniqueResidueNames || (cache.uniqueResidueNames = (0, utils_1.getUniqueResidueNamesFromStructures)(structures)); var indices = db_1.Column.indicesOf(comp_id, function (id) { return names.has(id); }); return CifCategory.ofTable(chem_comp_bond, indices); } }; exports._pdbx_chem_comp_identifier = { name: 'pdbx_chem_comp_identifier', instance: function (_a) { var firstModel = _a.firstModel, structures = _a.structures, cache = _a.cache; var pdbx_chem_comp_identifier = (0, utils_1.getModelMmCifCategory)(firstModel, 'pdbx_chem_comp_identifier'); if (!pdbx_chem_comp_identifier) return CifCategory.Empty; var comp_id = pdbx_chem_comp_identifier.comp_id; var names = cache.uniqueResidueNames || (cache.uniqueResidueNames = (0, utils_1.getUniqueResidueNamesFromStructures)(structures)); var indices = db_1.Column.indicesOf(comp_id, function (id) { return names.has(id); }); return CifCategory.ofTable(pdbx_chem_comp_identifier, indices); } }; exports._pdbx_nonpoly_scheme = { name: 'pdbx_nonpoly_scheme', instance: function (_a) { var firstModel = _a.firstModel, structures = _a.structures, cache = _a.cache; var pdbx_nonpoly_scheme = (0, utils_1.getModelMmCifCategory)(firstModel, 'pdbx_nonpoly_scheme'); if (!pdbx_nonpoly_scheme) return CifCategory.Empty; // TODO: filter? return CifCategory.ofTable(pdbx_nonpoly_scheme); } }; //# sourceMappingURL=misc.js.map