molstar
Version:
A comprehensive macromolecular library.
71 lines (70 loc) • 2.99 kB
TypeScript
/**
* Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
/// <reference types="react" />
import { CollapsableControls, PurePluginUIComponent } from '../base';
import { StructureElement } from '../../mol-model/structure';
import { Mat4 } from '../../mol-math/linear-algebra';
import { ParamDefinition as PD } from '../../mol-util/param-definition';
import { StateObjectRef, StateObjectCell } from '../../mol-state';
import { PluginStateObject } from '../../mol-plugin-state/objects';
import { StructureSelectionHistoryEntry } from '../../mol-plugin-state/manager/structure/selection';
export declare class StructureSuperpositionControls extends CollapsableControls {
defaultState(): {
isCollapsed: boolean;
header: string;
brand: {
accent: "gray";
svg: typeof import("../controls/icons").FlipToFrontSvg;
};
isHidden: boolean;
};
componentDidMount(): void;
renderControls(): JSX.Element;
}
export declare const StructureSuperpositionParams: {
alignSequences: PD.BooleanParam;
};
export declare type StructureSuperpositionOptions = PD.ValuesFor<typeof StructureSuperpositionParams>;
declare type SuperpositionControlsState = {
isBusy: boolean;
action?: 'byChains' | 'byAtoms' | 'options';
canUseDb?: boolean;
options: StructureSuperpositionOptions;
};
interface LociEntry {
loci: StructureElement.Loci;
label: string;
cell: StateObjectCell<PluginStateObject.Molecule.Structure>;
}
interface AtomsLociEntry extends LociEntry {
atoms: StructureSelectionHistoryEntry[];
}
export declare class SuperpositionControls extends PurePluginUIComponent<{}, SuperpositionControlsState> {
state: SuperpositionControlsState;
componentDidMount(): void;
get selection(): import("../../mol-plugin-state/manager/structure/selection").StructureSelectionManager;
transform(s: StateObjectRef<PluginStateObject.Molecule.Structure>, matrix: Mat4): Promise<void>;
superposeChains: () => Promise<void>;
superposeAtoms: () => Promise<void>;
superposeDb: () => Promise<void>;
toggleByChains: () => void;
toggleByAtoms: () => void;
toggleOptions: () => void;
highlight(loci: StructureElement.Loci): void;
moveHistory(e: StructureSelectionHistoryEntry, direction: 'up' | 'down'): void;
focusLoci(loci: StructureElement.Loci): void;
lociEntry(e: LociEntry, idx: number): JSX.Element;
historyEntry(e: StructureSelectionHistoryEntry, idx: number): JSX.Element;
atomsLociEntry(e: AtomsLociEntry, idx: number): JSX.Element;
get chainEntries(): LociEntry[];
get atomEntries(): AtomsLociEntry[];
addByChains(): JSX.Element;
addByAtoms(): JSX.Element;
superposeByDbMapping(): JSX.Element;
private setOptions;
render(): JSX.Element;
}
export {};