ketcher-core
Version:
Web-based molecule sketcher
36 lines (35 loc) • 1.39 kB
TypeScript
import { BaseSubChain } from "./BaseSubChain";
import { BaseMonomer, SubChainNode, Nucleoside, Nucleotide, MonomerSequenceNode, EmptySequenceNode, PolymerBond } from "./..";
import { EmptySubChain } from "./EmptySubChain";
export declare class Chain {
subChains: BaseSubChain[];
firstMonomer?: BaseMonomer;
isCyclic: boolean;
constructor(firstMonomer?: BaseMonomer, isCyclic?: boolean);
private createSubChainIfNeed;
add(monomer: BaseMonomer): void;
addNode(node: SubChainNode): this;
private fillSubChains;
get lastSubChain(): BaseSubChain;
get nodes(): SubChainNode[];
get lastNode(): EmptySequenceNode | MonomerSequenceNode | Nucleoside | Nucleotide | undefined;
get lastNonEmptyNode(): SubChainNode | undefined;
get firstSubChain(): BaseSubChain;
get firstNode(): SubChainNode;
get length(): number;
get isEmpty(): boolean;
get isAntisense(): boolean;
forEachNode(callback: ({ node, subChain, }: {
node: SubChainNode;
subChain: BaseSubChain;
nodeIndex: number;
}) => void): void;
static createChainWithEmptyNode(): {
emptyChain: Chain;
emptySubChain: EmptySubChain;
emptySequenceNode: EmptySequenceNode;
};
get isNewSequenceChain(): boolean;
get monomers(): BaseMonomer[];
get bonds(): PolymerBond[];
}