From 06780bf31079c9135294031b3fb3258b7b183583 Mon Sep 17 00:00:00 2001 From: David Sehnal <david.sehnal@gmail.com> Date: Thu, 26 Oct 2017 14:07:09 +0200 Subject: [PATCH] move column to "mol-base" --- .../reader/common => mol-base/collections}/column.ts | 0 src/mol-data/conformation.ts | 10 ++++++++++ src/mol-data/model.ts | 6 ------ src/mol-data/model/{common.ts => formats.ts} | 0 src/mol-data/model/formats/mmcif.ts | 7 +++++++ src/mol-data/model/interfaces/common.ts | 7 +++++++ src/mol-data/model/interfaces/mmcif.ts | 7 +++++++ src/mol-data/{model/mmcif.ts => selection.ts} | 0 src/mol-data/structure.ts | 3 +++ src/mol-io/reader/_spec/column.spec.ts | 2 +- src/mol-io/reader/cif/binary/field.ts | 2 +- src/mol-io/reader/cif/data-model.ts | 2 +- src/mol-io/reader/cif/schema.ts | 2 +- src/mol-io/reader/cif/text/field.ts | 2 +- src/mol-io/reader/common/text/column/fixed.ts | 2 +- src/mol-io/reader/common/text/column/token.ts | 2 +- src/mol-io/reader/gro/parser.ts | 2 +- src/mol-io/reader/gro/schema.d.ts | 2 +- src/mol-io/reader/mol2/schema.d.ts | 2 +- 19 files changed, 44 insertions(+), 16 deletions(-) rename src/{mol-io/reader/common => mol-base/collections}/column.ts (100%) create mode 100644 src/mol-data/conformation.ts rename src/mol-data/model/{common.ts => formats.ts} (100%) create mode 100644 src/mol-data/model/formats/mmcif.ts create mode 100644 src/mol-data/model/interfaces/common.ts create mode 100644 src/mol-data/model/interfaces/mmcif.ts rename src/mol-data/{model/mmcif.ts => selection.ts} (100%) diff --git a/src/mol-io/reader/common/column.ts b/src/mol-base/collections/column.ts similarity index 100% rename from src/mol-io/reader/common/column.ts rename to src/mol-base/collections/column.ts diff --git a/src/mol-data/conformation.ts b/src/mol-data/conformation.ts new file mode 100644 index 000000000..bffdc60c4 --- /dev/null +++ b/src/mol-data/conformation.ts @@ -0,0 +1,10 @@ +/** + * Copyright (c) 2017 molio contributors, licensed under MIT, See LICENSE file for more info. + * + * @author David Sehnal <david.sehnal@gmail.com> + */ + +interface Conformation { +} + +export default Conformation diff --git a/src/mol-data/model.ts b/src/mol-data/model.ts index b941373a3..af1d9e34b 100644 --- a/src/mol-data/model.ts +++ b/src/mol-data/model.ts @@ -7,12 +7,6 @@ // TODO: define property accessor intefaces, graphs, spatial lookups and what have you. interface Model { - - // Incremented when data changes - dataVersion: number, - - // Incremented when the underlying conformation changes - conformationVersion: number, } export default Model diff --git a/src/mol-data/model/common.ts b/src/mol-data/model/formats.ts similarity index 100% rename from src/mol-data/model/common.ts rename to src/mol-data/model/formats.ts diff --git a/src/mol-data/model/formats/mmcif.ts b/src/mol-data/model/formats/mmcif.ts new file mode 100644 index 000000000..96788f75b --- /dev/null +++ b/src/mol-data/model/formats/mmcif.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2017 molio contributors, licensed under MIT, See LICENSE file for more info. + * + * @author David Sehnal <david.sehnal@gmail.com> + */ + +// TODO: implement interfaces for mmCIF source data format \ No newline at end of file diff --git a/src/mol-data/model/interfaces/common.ts b/src/mol-data/model/interfaces/common.ts new file mode 100644 index 000000000..36e049ca0 --- /dev/null +++ b/src/mol-data/model/interfaces/common.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2017 molio contributors, licensed under MIT, See LICENSE file for more info. + * + * @author David Sehnal <david.sehnal@gmail.com> + */ + +// TODO: define basic hierarchy, sec. structure. etc. \ No newline at end of file diff --git a/src/mol-data/model/interfaces/mmcif.ts b/src/mol-data/model/interfaces/mmcif.ts new file mode 100644 index 000000000..3eae6edc1 --- /dev/null +++ b/src/mol-data/model/interfaces/mmcif.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2017 molio contributors, licensed under MIT, See LICENSE file for more info. + * + * @author David Sehnal <david.sehnal@gmail.com> + */ + +// TODO: map parts of mmCIF schema to create interfaces \ No newline at end of file diff --git a/src/mol-data/model/mmcif.ts b/src/mol-data/selection.ts similarity index 100% rename from src/mol-data/model/mmcif.ts rename to src/mol-data/selection.ts diff --git a/src/mol-data/structure.ts b/src/mol-data/structure.ts index 37727d249..e7ae5aa15 100644 --- a/src/mol-data/structure.ts +++ b/src/mol-data/structure.ts @@ -7,6 +7,7 @@ import { Vec3, Mat4 } from '../mol-base/math/linear-algebra' import AtomSet from './atom-set' import Model from './model' +import Conformation from './conformation' export interface Operator extends Readonly<{ name: string, @@ -29,6 +30,8 @@ export interface Unit extends Readonly<{ // Provides access to the underlying data. model: Model, + conformation: Conformation, + // Determines the operation applied to this unit. // The transform and and inverse are baked into the "getPosition" function operator: Operator diff --git a/src/mol-io/reader/_spec/column.spec.ts b/src/mol-io/reader/_spec/column.spec.ts index 1bd08dfdb..de51bde20 100644 --- a/src/mol-io/reader/_spec/column.spec.ts +++ b/src/mol-io/reader/_spec/column.spec.ts @@ -7,7 +7,7 @@ import FixedColumn from '../common/text/column/fixed' import TokenColumn from '../common/text/column/token' -import { ColumnType, typedArrayWindow } from '../common/column' +import { ColumnType, typedArrayWindow } from '../../../mol-base/collections/column' const lines = [ '1.123 abc', diff --git a/src/mol-io/reader/cif/binary/field.ts b/src/mol-io/reader/cif/binary/field.ts index 2c8821e68..d1d1c035a 100644 --- a/src/mol-io/reader/cif/binary/field.ts +++ b/src/mol-io/reader/cif/binary/field.ts @@ -4,7 +4,7 @@ * @author David Sehnal <david.sehnal@gmail.com> */ -import * as Column from '../../common/column' +import * as Column from '../../../../mol-base/collections/column' import * as Data from '../data-model' import { EncodedColumn } from './encoding' import decode from './decoder' diff --git a/src/mol-io/reader/cif/data-model.ts b/src/mol-io/reader/cif/data-model.ts index aa8a4d89c..e396f71b7 100644 --- a/src/mol-io/reader/cif/data-model.ts +++ b/src/mol-io/reader/cif/data-model.ts @@ -4,7 +4,7 @@ * @author David Sehnal <david.sehnal@gmail.com> */ -import * as Column from '../common/column' +import * as Column from '../../../mol-base/collections/column' export interface File { readonly name?: string, diff --git a/src/mol-io/reader/cif/schema.ts b/src/mol-io/reader/cif/schema.ts index 67f173f0b..b391d05b9 100644 --- a/src/mol-io/reader/cif/schema.ts +++ b/src/mol-io/reader/cif/schema.ts @@ -5,7 +5,7 @@ */ import * as Data from './data-model' -import * as Column from '../common/column' +import * as Column from '../../../mol-base/collections/column' import StringPool from '../../utils/short-string-pool' /** diff --git a/src/mol-io/reader/cif/text/field.ts b/src/mol-io/reader/cif/text/field.ts index 2e09cd1b0..338bc327d 100644 --- a/src/mol-io/reader/cif/text/field.ts +++ b/src/mol-io/reader/cif/text/field.ts @@ -4,7 +4,7 @@ * @author David Sehnal <david.sehnal@gmail.com> */ -import * as Column from '../../common/column' +import * as Column from '../../../../mol-base/collections/column' import * as TokenColumn from '../../common/text/column/token' import { Tokens } from '../../common/text/tokenizer' import * as Data from '../data-model' diff --git a/src/mol-io/reader/common/text/column/fixed.ts b/src/mol-io/reader/common/text/column/fixed.ts index f4b36de8d..0a384f8a4 100644 --- a/src/mol-io/reader/common/text/column/fixed.ts +++ b/src/mol-io/reader/common/text/column/fixed.ts @@ -4,7 +4,7 @@ * @author David Sehnal <david.sehnal@gmail.com> */ -import { Column, ColumnType, createAndFillArray } from '../../column' +import { Column, ColumnType, createAndFillArray } from '../../../../../mol-base/collections/column' import { trimStr, Tokens } from '../tokenizer' import { parseIntSkipLeadingWhitespace, parseFloatSkipLeadingWhitespace } from '../number-parser' import StringPool from '../../../../utils/short-string-pool' diff --git a/src/mol-io/reader/common/text/column/token.ts b/src/mol-io/reader/common/text/column/token.ts index ae203b1fa..0b8d732b9 100644 --- a/src/mol-io/reader/common/text/column/token.ts +++ b/src/mol-io/reader/common/text/column/token.ts @@ -4,7 +4,7 @@ * @author David Sehnal <david.sehnal@gmail.com> */ -import { Column, ColumnType, createAndFillArray } from '../../column' +import { Column, ColumnType, createAndFillArray } from '../../../../../mol-base/collections/column' import { Tokens } from '../tokenizer' import { parseInt as fastParseInt, parseFloat as fastParseFloat } from '../number-parser' import StringPool from '../../../../utils/short-string-pool' diff --git a/src/mol-io/reader/gro/parser.ts b/src/mol-io/reader/gro/parser.ts index 3c71b3adb..f4d28e4b0 100644 --- a/src/mol-io/reader/gro/parser.ts +++ b/src/mol-io/reader/gro/parser.ts @@ -7,7 +7,7 @@ import Tokenizer from '../common/text/tokenizer' import FixedColumn from '../common/text/column/fixed' -import { ColumnType, UndefinedColumn } from '../common/column' +import { ColumnType, UndefinedColumn } from '../../../mol-base/collections/column' import * as Schema from './schema' import Result from '../result' import Computation from '../../../mol-base/computation' diff --git a/src/mol-io/reader/gro/schema.d.ts b/src/mol-io/reader/gro/schema.d.ts index 2ee9bc0ed..981d2906a 100644 --- a/src/mol-io/reader/gro/schema.d.ts +++ b/src/mol-io/reader/gro/schema.d.ts @@ -5,7 +5,7 @@ * @author David Sehnal <david.sehnal@gmail.com> */ -import { Column } from '../common/column' +import { Column } from '../../../mol-base/collections/column' export interface Header { title: string, diff --git a/src/mol-io/reader/mol2/schema.d.ts b/src/mol-io/reader/mol2/schema.d.ts index 7f1e73fb2..8284c6f05 100644 --- a/src/mol-io/reader/mol2/schema.d.ts +++ b/src/mol-io/reader/mol2/schema.d.ts @@ -4,7 +4,7 @@ * @author Alexander Rose <alexander.rose@weirdbyte.de> */ -import { Column } from '../common/column' +import { Column } from '../../../mol-base/collections/column' // Full format http://chemyang.ccnu.edu.cn/ccb/server/AIMMS/mol2.pdf // there are many records but for now ignore (pass over) all but the following -- GitLab