UNPKG

@iktos/rdkitjs

Version:

RDKit-js implementation based on RDKit's original c++ source and emscripten

177 lines (176 loc) 5.99 kB
export declare type StackAlloc = (bytes: number) => number; export declare type StackSave = () => number; export declare type StackRestore = (pointer: number) => void; export declare type ModuleObject = { locateFile: ((path: string, prefix: string) => string) | undefined; }; export interface Mol { add_hs(): string; condense_abbreviations(maxCoverage?: number, useLinkers?: boolean): void; condense_abbreviations_from_defs(definitions: string, maxCoverage: number, areLinkers: boolean): string; draw_to_canvas(canvas: HTMLCanvasElement, width: number, height: number, offsetx: number, offsety: number): string; draw_to_canvas_with_highlights(canvas: HTMLCanvasElement, details: string, width: number, height: number, offsetx: number, offsety: number): string; generate_aligned_coords(templateMol: Mol, useCoordGen?: boolean): string; get_aromatic_form(): string; get_cxsmiles(): string; get_descriptors(): Descriptors; get_inchi(): string; get_inchi_key(): string; get_kekule_form(): string; get_molblock(): string; get_v3Kmolblock(): string; get_new_coords(useCoordGen?: boolean): string; get_smarts(): string; get_smiles(): string; get_stereo_tags(): string; get_substruct_match(q: Mol): string; get_substruct_matches(q: Mol): string; get_svg(width?: number, height?: number, offsetx?: number, offsety?: number): string; get_svg_with_highlights(details: string, width?: number, height?: number, offsetx?: number, offsety?: number): string; has_substruct_match_str(smilesRef: string): boolean; is_valid(): boolean; remove_hs(): string; clog_p(): number; get_morgan_fp(radius?: number, nBits?: number, useChirality?: boolean, useBondTypes?: boolean, onlyNonzeroInvariants?: boolean, useFeatures?: boolean): string; mr(): number; num_aliphatic_carbocycles(): number; num_aliphatic_heterocycles(): number; num_aliphatic_rings(): number; num_aromatic_carbocycles(): number; num_aromatic_heterocycles(): number; num_aromatic_rings(): number; num_hba(): number; num_hbd(): number; num_rotatable_bonds(): number; num_saturated_carbocycles(): number; num_saturated_heterocycles(): number; num_saturated_rings(): number; slog_p_vsa(): Map<number, number>; tpsa(): number; delete(): void; } export interface Bindings { get_inchikey_for_inchi(inchi: string): string; get_mol(smiles: string): Mol; get_qmol(smarts: string): Mol; prefer_coordgen(useCoordGen: boolean): void; } export interface Stack { stackAlloc: StackAlloc; stackRestore: StackRestore; stackSave: StackSave; } export declare type TypeMemory = { F32: Float32Array; F64: Float64Array; S16: Int16Array; S32: Int32Array; S8: Int8Array; U16: Uint16Array; U32: Uint32Array; U8: Uint8Array; }; export interface RdkitModule extends Bindings, Stack { [key: string]: any; HEAP16: Int16Array; HEAP32: Int32Array; HEAP8: Int8Array; HEAPF32: Float32Array; HEAPF64: Float64Array; HEAPU16: Uint16Array; HEAPU32: Uint32Array; HEAPU8: Uint8Array; } export declare type RdkitInstance = { exports: RdkitModule; memory: TypeMemory; }; export declare type Descriptors = { exactmw: number; lipinskiHba: number; lipinskiHbd: number; numRotatableBonds: number; numHba: number; numHbd: number; numHeteroatoms: number; numAmideBonds: number; fractionCsp3: number; numRings: number; numAromaticRings: number; numAliphaticRings: number; numSaturatedRings: number; numHeterocycles: number; numAromaticHeterocycles: number; numSaturatedHeterocycles: number; numAliphaticHeterocycles: number; numSpiroAtoms: number; numBridgeheadAtoms: number; numAtomStereoCenters: number; numUnspecifiedAtomStereoCenters: number; labuteAsa: number; tpsa: number; crippenClogP: number; crippenMr: number; amw: number; pfi: number; }; export declare type SubstructMatch = { atoms?: Array<number>; bonds?: Array<number>; }; export declare type DrawColour = { r: number; g: number; b: number; a?: number; }; /** * @link https://github.com/rdkit/rdkit/blob/d1be88c39ad37ffc646a5ea801c66e6685b3a830/Code/GraphMol/MolDraw2D/MolDraw2D.h */ export declare type DrawerOptions = { atomLabelDeuteriumTritium?: boolean; dummiesAreAttachments?: boolean; circleAtoms?: boolean; highlightColour?: DrawColour; continuousHighlight?: boolean; fillHighlights?: boolean; highlightRadius?: number; flagCloseContactsDist?: number; includeAtomTags?: boolean; clearBackground?: boolean; backgroundColour?: DrawColour; legendFontSize?: number; maxFontSize?: number; minFontSize?: number; annotationFontScale?: number; fontFile?: string; legendColour?: DrawColour; multipleBondOffset?: number; padding?: number; additionalAtomLabelPadding?: number; atomLabels?: Map<number, string> | string[]; symbolColour?: DrawColour; bondLineWidth?: number; scaleBondWidth?: boolean; scaleHighlightBondWidth?: boolean; highlightBondWidthMultiplier?: number; prepareMolsBeforeDrawing?: boolean; fixedScale?: number; fixedBondLength?: number; rotate?: number; addAtomIndices?: boolean; addBondIndices?: boolean; addStereoAnnotation?: boolean; atomHighlightsAreCircles?: boolean; centreMoleculesBeforeDrawing?: boolean; explicitMethyl?: boolean; includeMetadata?: boolean; includeRadicals?: boolean; }; export interface Details extends SubstructMatch, DrawerOptions { height?: number; legend?: string; offsetx?: number; offsety?: number; width?: number; }