UNPKG

ketcher-core

Version:
66 lines (65 loc) 2.83 kB
import { Chain } from "./Chain"; import { AmbiguousMonomer } from "../AmbiguousMonomer"; import type { BaseMonomer } from "../BaseMonomer"; import { Chem } from "../Chem"; import { type SequenceNode, type SubChainNode } from "./types"; import { Peptide } from "../Peptide"; import { Phosphate } from "../Phosphate"; import { RNABase } from "../RNABase"; import { Sugar } from "../Sugar"; import { UnresolvedMonomer } from "../UnresolvedMonomer"; import { UnsplitNucleotide } from "../UnsplitNucleotide"; import type { BaseSubChain } from "./BaseSubChain"; export interface ComplimentaryChainsWithData { complimentaryChain: Chain; chain: Chain; firstConnectedNode: SubChainNode; firstConnectedComplimentaryNode: SubChainNode; chainIdxConnection: number; } export declare type GrouppedChain = { group: number; chain: Chain; }; export interface ITwoStrandedChainItem { senseNode?: SequenceNode; senseNodeIndex: number; chain: Chain; antisenseNode?: SequenceNode; antisenseNodeIndex?: number; antisenseChain?: Chain; } export declare class ChainsCollection { chains: Chain[]; get monomerToChain(): Map<BaseMonomer, Chain>; get monomerToNode(): Map<BaseMonomer, SubChainNode>; rearrange(): void; add(chain: Chain): this; static fromMonomers(monomers: BaseMonomer[]): ChainsCollection; static getFirstMonomersInChains(monomers: BaseMonomer[], MonomerTypes?: Array<typeof Peptide | typeof Chem | typeof Phosphate | typeof Sugar | typeof RNABase | typeof UnresolvedMonomer | typeof UnsplitNucleotide | typeof AmbiguousMonomer>): BaseMonomer[][]; private static getFirstMonomersInMiddleOfChains; get firstNode(): SubChainNode; private static getFirstMonomersInRegularChains; private static getFirstMonomersInCycledChains; private static getMonomerWithLowerCoordsFromMonomerList; get lastNode(): SubChainNode; get length(): number; forEachNode(forEachCallback: (params: { chainIndex: number; subChainIndex: number; nodeIndex: number; nodeIndexOverall: number; node: SubChainNode; subChain: BaseSubChain; chain: Chain; }) => void): void; private getFirstComplimentaryMonomer; private findCycledComplimentaryChains; getComplimentaryChainIfNucleotide(node: SubChainNode, monomerToChain: Map<BaseMonomer, Chain>, monomerToNode: Map<BaseMonomer, SubChainNode>): { complimentaryChain: Chain | undefined; complimentaryNode: SubChainNode | undefined; }; private reorderChainsPutSenseChainOrderInAccordanceAntisenseConnection; getAllChainsWithConnectionInBlock(c: Chain): GrouppedChain[]; getComplimentaryChainsWithData(chain: Chain): ComplimentaryChainsWithData[]; }