UNPKG

molstar

Version:

A comprehensive macromolecular library.

50 lines (49 loc) 2.98 kB
/** * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> */ import { AssemblySymmetryQuery } from '../graphql/types'; import { ParamDefinition as PD } from '../../../mol-util/param-definition'; import { Structure } from '../../../mol-model/structure'; import { CustomProperty } from '../../../mol-model-props/common/custom-property'; import { NonNullableArray } from '../../../mol-util/type-helpers'; import { CustomStructureProperty } from '../../../mol-model-props/common/custom-structure-property'; import { ReadonlyVec3 } from '../../../mol-math/linear-algebra/3d/vec3'; export declare function isBiologicalAssembly(structure: Structure): boolean; export declare namespace AssemblySymmetry { enum Tag { Cluster = "rcsb-assembly-symmetry-cluster", Representation = "rcsb-assembly-symmetry-3d" } const DefaultServerUrl = "https://data.rcsb.org/graphql"; function isApplicable(structure?: Structure): boolean; function fetch(ctx: CustomProperty.Context, structure: Structure, props: AssemblySymmetryDataProps): Promise<CustomProperty.Data<AssemblySymmetryDataValue>>; /** Returns the index of the first non C1 symmetry or -1 */ function firstNonC1(assemblySymmetryData: AssemblySymmetryDataValue): number; type RotationAxes = ReadonlyArray<{ order: number; start: ReadonlyVec3; end: ReadonlyVec3; }>; function isRotationAxes(x: AssemblySymmetryValue['rotation_axes']): x is RotationAxes; function getAsymIds(assemblySymmetry: AssemblySymmetryValue): string[]; /** Returns structure limited to all cluster member chains */ function getStructure(structure: Structure, assemblySymmetry: AssemblySymmetryValue): Structure; } export declare function getSymmetrySelectParam(structure?: Structure): PD.Select<number>; export declare const AssemblySymmetryDataParams: { serverUrl: PD.Text<string>; }; export declare type AssemblySymmetryDataParams = typeof AssemblySymmetryDataParams; export declare type AssemblySymmetryDataProps = PD.Values<AssemblySymmetryDataParams>; export declare type AssemblySymmetryDataValue = NonNullableArray<NonNullable<NonNullable<AssemblySymmetryQuery['assembly']>['rcsb_struct_symmetry']>>; export declare const AssemblySymmetryDataProvider: CustomStructureProperty.Provider<AssemblySymmetryDataParams, AssemblySymmetryDataValue>; export declare const AssemblySymmetryParams: { symmetryIndex: PD.Select<number>; serverUrl: PD.Text<string>; }; export declare type AssemblySymmetryParams = typeof AssemblySymmetryParams; export declare type AssemblySymmetryProps = PD.Values<AssemblySymmetryParams>; export declare type AssemblySymmetryValue = AssemblySymmetryDataValue[0]; export declare const AssemblySymmetryProvider: CustomStructureProperty.Provider<AssemblySymmetryParams, AssemblySymmetryValue>;