12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /**
- * 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 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,
- modelNum: number,
- sourceData: Format,
- symmetry: ModelSymmetry,
- entities: Entities,
- sequence: Sequence,
- atomicHierarchy: AtomicHierarchy,
- atomicConformation: AtomicConformation,
- 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
|