UNPKG

molstar

Version:

A comprehensive macromolecular library.

105 lines (104 loc) 3.3 kB
/** * Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> * @author Gianluca Tomasello <giagitom@gmail.com> */ import { Unit, StructureElement, Structure } from '../../../../../mol-model/structure'; import { MoleculeType, SecondaryStructureType } from '../../../../../mol-model/structure/model/types'; import { Iterator } from '../../../../../mol-data/iterator'; import { Vec3 } from '../../../../../mol-math/linear-algebra'; type PolymerTraceIteratorOptions = { ignoreSecondaryStructure?: boolean; useHelixOrientation?: boolean; }; /** * Iterates over individual residues/coarse elements in polymers of a unit while * providing information about the neighbourhood in the underlying model for drawing splines */ export declare function PolymerTraceIterator(unit: Unit, structure: Structure, options?: PolymerTraceIteratorOptions): Iterator<PolymerTraceElement>; interface PolymerTraceElement { center: StructureElement.Location; centerPrev: StructureElement.Location; centerNext: StructureElement.Location; first: boolean; last: boolean; initial: boolean; final: boolean; secStrucFirst: boolean; secStrucLast: boolean; secStrucType: SecondaryStructureType; moleculeType: MoleculeType; coarseBackboneFirst: boolean; coarseBackboneLast: boolean; p0: Vec3; p1: Vec3; p2: Vec3; p3: Vec3; p4: Vec3; d12: Vec3; d23: Vec3; } export declare class AtomicPolymerTraceIterator implements Iterator<PolymerTraceElement> { private unit; private value; private polymerIt; private residueIt; private polymerSegment; private cyclicPolymerMap; private residueSegmentMin; private residueSegmentMax; private prevSecStrucType; private currSecStrucType; private nextSecStrucType; private prevCoarseBackbone; private currCoarseBackbone; private nextCoarseBackbone; private state; private polymerRanges; private residueAtomSegments; private traceElementIndex; private directionFromElementIndex; private directionToElementIndex; private moleculeType; private atomicConformation; private secondaryStructure; private helixOrientationCenters; private p0; private p1; private p2; private p3; private p4; private p5; private p6; private d01; private d12; private d23; private d34; hasNext: boolean; private atomicPos; private pos; private updateResidueSegmentRange; private getResidueIndex; private getSecStruc; private setControlPoint; private setFromToVector; private setDirection; move(): PolymerTraceElement; constructor(unit: Unit.Atomic, structure: Structure, options?: PolymerTraceIteratorOptions); } export declare class CoarsePolymerTraceIterator implements Iterator<PolymerTraceElement> { private unit; private value; private polymerIt; private polymerSegment; private state; private conformation; private elementIndex; hasNext: boolean; private getElementIndex; private pos; move(): PolymerTraceElement; constructor(unit: Unit.Spheres | Unit.Gaussians, structure: Structure); } export {};