molstar
Version:
A comprehensive macromolecular library.
76 lines (75 loc) • 2.06 kB
TypeScript
/**
* Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
import { Vec3, Quat } from '../../mol-math/linear-algebra';
export interface CellPack {
cell: Cell;
packings: CellPacking[];
}
export interface CellPacking {
name: string;
location: 'surface' | 'interior' | 'cytoplasme';
ingredients: Packing['ingredients'];
}
export interface Cell {
recipe: Recipe;
cytoplasme?: Packing;
compartments?: {
[key: string]: Compartment;
};
}
export interface Recipe {
setupfile: string;
paths: [string, string][];
version: string;
name: string;
}
export interface Compartment {
surface?: Packing;
interior?: Packing;
}
export interface Packing {
ingredients: {
[key: string]: Ingredient;
};
}
export interface Positions {
coords?: Vec3[];
}
export interface Radii {
radii?: number[];
}
export interface Ingredient {
source: IngredientSource;
results: [Vec3, Quat][];
name: string;
/** Vec3[]];CoarseGraind Beads coordinates LOD */
positions?: [Positions];
/** number[]];CoarseGraind Beads radii LOD */
radii?: [Radii];
/** Number of `curveX` properties in the object where `X` is a 0-indexed number */
nbCurve?: number;
uLength?: number;
/** Curve properties are Vec3[] but that is not expressable in TypeScript */
[curveX: string]: unknown;
/** the orientation in the membrane */
principalAxis?: Vec3;
/** offset along membrane */
offset?: Vec3;
ingtype?: string;
color?: Vec3;
confidence?: number;
}
export interface IngredientSource {
pdb: string;
bu?: string; /** biological unit e.g AU,BU1,etc.. */
selection?: string; /** NGL selection or :A or :B etc.. */
model?: string; /** model number e.g 0,1,2... */
transform: {
center: boolean;
translate?: Vec3;
};
biomt?: boolean;
}