UNPKG

ketcher-core

Version:
58 lines (57 loc) 2.6 kB
import { Chain } from "./Chain"; import { AmbiguousMonomer, BaseMonomer, Chem, Peptide, Phosphate, RNABase, SubChainNode, Sugar, UnresolvedMonomer, UnsplitNucleotide } from "./.."; import { BaseSubChain } from "./BaseSubChain"; import { BackBoneSequenceNode } from "../BackBoneSequenceNode"; 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?: SubChainNode | BackBoneSequenceNode; senseNodeIndex: number; chain: Chain; antisenseNode?: SubChainNode | BackBoneSequenceNode; 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[]; }