David Sehnal 7 years ago
parent
commit
9ecd260f7e

+ 1 - 1
src/mol-base/collections/column.ts

@@ -212,7 +212,7 @@ function windowColumn<T>(column: Column<T>, start: number, end: number) {
 }
 
 function windowTyped<T>(c: Column<T>, start: number, end: number): Column<T> {
-    const array = ColumnHelpers.typedArrayWindow(c['@array'], { start, end });    
+    const array = ColumnHelpers.typedArrayWindow(c['@array'], { start, end });
     return arrayColumn({ array, type: c['@type'], valueKind: c.valueKind }) as any;
 }
 

+ 6 - 1
src/mol-data/model.ts

@@ -8,6 +8,7 @@ import * as Formats from './model/formats'
 import HierarchyProperties from './model/properties/hierarchy'
 import ConformationProperties from './model/properties/conformation'
 import UUID from '../mol-base/utils/uuid'
+import buildMmCIF from './model/builders/mmcif'
 
 export interface Version {
     hierarchy: UUID,
@@ -22,7 +23,7 @@ export interface Version {
 interface Model extends Readonly<{
     id: UUID,
 
-    model_num: number,
+    modelNum: number,
 
     sourceData: Formats.RawData,
 
@@ -32,4 +33,8 @@ interface Model extends Readonly<{
     atomCount: number
 }> { }
 
+namespace Model {
+    export const ofMmCIF = buildMmCIF;
+}
+
 export default Model

+ 2 - 2
src/mol-data/model/builders/mmcif.ts

@@ -54,7 +54,7 @@ function createHierarchyData(data: mmCIF, bounds: Interval, offsets: { residues:
         auth_atom_id: Column.window(atom_site.auth_atom_id, start, end),
         label_alt_id: Column.window(atom_site.label_alt_id, start, end),
         pdbx_formal_charge: Column.window(atom_site.pdbx_formal_charge, start, end)
-    } as any);
+    });
     const residues = Table.view(atom_site, Hierarchy.ResiduesSchema, offsets.residues);
     // Optimize the numeric columns
     Table.columnToArray(residues, 'label_seq_id', Int32Array);
@@ -104,7 +104,7 @@ function createModel(raw: RawData, data: mmCIF, bounds: Interval, previous?: Mod
     return {
         id: newUUID(),
         sourceData: raw,
-        model_num: data.atom_site.pdbx_PDB_model_num.value(Interval.start(bounds)),
+        modelNum: data.atom_site.pdbx_PDB_model_num.value(Interval.start(bounds)),
         hierarchy: { ...hierarchyData, ...hierarchyKeys, ...hierarchySegments },
         conformation: getConformation(data, bounds),
         atomCount: Interval.size(bounds)

+ 2 - 4
src/perf-tests/structure.ts

@@ -10,8 +10,6 @@ import * as util from 'util'
 import * as fs from 'fs'
 import CIF from '../mol-io/reader/cif'
 
-import buildModels from '../mol-data/model/builders/mmcif'
-import { ofModel } from '../mol-data/structure/base'
 import Model from '../mol-data/Model'
 import Structure from '../mol-data/structure'
 import OrdSet from '../mol-base/collections/integer/ordered-set'
@@ -51,9 +49,9 @@ export async function readCIF(path: string) {
     const mmcif = CIF.schema.mmCIF(data);
     console.timeEnd('schema')
     console.time('buildModels')
-    const models = buildModels(mmcif);
+    const models = Model.ofMmCIF(mmcif);
     console.timeEnd('buildModels')
-    const structures = models.map(ofModel);
+    const structures = models.map(Structure.ofModel);
 
     return { mmcif, models, structures };
 }