UNPKG

ketcher-core

Version:
68 lines (67 loc) 3.01 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; private getComplimentaryChainIfNucleotide; private reorderChainsPutSenseChainOrderInAccordanceAntisenseConnection; getAllChainsWithConnectionInBlock(c: Chain): GrouppedChain[]; getChainByMonomer(monomer: BaseMonomer): Chain | undefined; getComplimentaryChainsWithData(chain: Chain): ComplimentaryChainsWithData[]; getAntisenseChainsWithData(chain: Chain): { antisenseChainsWithData: ComplimentaryChainsWithData[]; antisenseChainsStartIndexes: number[]; antisenseChainsStartIndexesMap: Map<number, ComplimentaryChainsWithData>; antisenseNodesToIndexesMap: Map<number, { node: SubChainNode; chain: Chain; nodeIndex: number; }>; }; getAlignedSenseAntisenseChainItems(chain: Chain): ITwoStrandedChainItem[]; getAlignedSenseAntisenseChains(): ITwoStrandedChainItem[][]; }