molstar
Version:
A comprehensive macromolecular library.
50 lines (49 loc) • 2.98 kB
TypeScript
/**
* 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>;