1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /**
- * Copyright (c) 2017 mol* contributors, licensed under MIT, See LICENSE file for more info.
- *
- * @author David Sehnal <david.sehnal@gmail.com>
- */
- import UUID from 'mol-util/uuid'
- import Format from './format'
- import Sequence from './properties/sequence'
- import { AtomicHierarchy, AtomicConformation } from './properties/atomic'
- import { ModelSymmetry } from './properties/symmetry'
- import { CoarseHierarchy, CoarseConformation } from './properties/coarse'
- import { Entities } from './properties/common';
- import { SecondaryStructure } from './properties/seconday-structure';
- //import from_gro from './formats/gro'
- import from_mmCIF from './formats/mmcif'
- /**
- * Interface to the "source data" of the molecule.
- *
- * "Atoms" are integers in the range [0, atomCount).
- */
- interface Model extends Readonly<{
- id: UUID,
- label: string,
- modelNum: number,
- sourceData: Format,
- symmetry: ModelSymmetry,
- entities: Entities,
- sequence: Sequence,
- atomicHierarchy: AtomicHierarchy,
- atomicConformation: AtomicConformation,
- properties: { secondaryStructure: SecondaryStructure },
- coarseHierarchy: CoarseHierarchy,
- coarseConformation: CoarseConformation
- }> {
- } { }
- namespace Model {
- export function create(format: Format) {
- switch (format.kind) {
- //case 'gro': return from_gro(format);
- case 'mmCIF': return from_mmCIF(format);
- }
- }
- }
- export default Model
|