import * as DG from 'datagrok-api/dg'; import { RDModule } from '@datagrok-libraries/chem-meta/src/rdkit-api'; import { ALPHABET } from '../utils/macromolecule/consts'; import { IMonomerLib, IMonomerLibBase, Monomer } from '../types/monomer-library'; import { Bonds, MolGraph, MonomerMolGraphMap, NucleotideRole } from './types'; import { ISeqHelper, ToAtomicLevelRes } from '../utils/seq-helper'; import { ISeqMonomer, PolymerType } from '../helm/types'; /** Convert Macromolecule column into Molecule column storing molfile V3000 with the help of a monomer library * @param {DG.DataFrame} df - DataFrame containing the column to be converted * @param {DG.Column} seqCol - Column containing the macromolecule sequence * @param {IMonomerLib} monomerLib - Monomer library */ export declare function _toAtomicLevel(df: DG.DataFrame, seqCol: DG.Column, monomerLib: IMonomerLib, seqHelper: ISeqHelper, rdKitModule: RDModule): Promise; /** Get jagged array of monomer symbols for the dataframe * @param {DG.Column} macroMolCol - Column with macro-molecules * @return {string[]} - Jagged array of monomer symbols for the dataframe */ export declare function getMonomerSequencesArray(macroMolCol: DG.Column, seqHelper: ISeqHelper): ISeqMonomer[][]; /** Get a mapping of monomer symbols to MolGraph objects. Notice, the * transformation from molfile V2000 to V3000 takes place, * with the help of async function call from Chem (RdKit module) * @param {ISeqMonomer[][]} monomerSequencesArray - Jagged array of monomer symbols for the dataframe * @param {Array} rolesArray - Per-row NucleotideRole tags (undefined for legacy bases-only rows) * @param {PolymerType} polymerType - Polymer type * @param {ALPHABET} alphabet - Alphabet * @param {IMonomerLibBase} monomerLib - Monomer library * @param {RDModule} rdKitModule - RDKit module * @return {MonomerMolGraphMap} - Mapping of monomer symbols to MolGraph objects */ export declare function getMonomersDictFromLib(monomerSequencesArray: ISeqMonomer[][], rolesArray: (NucleotideRole[] | undefined)[], polymerType: PolymerType, alphabet: ALPHABET, monomerLib: IMonomerLibBase, rdKitModule: RDModule): MonomerMolGraphMap; /** Parse element symbols for R-groups from the HELM monomer library R-group field * @param {any[]} rGroupObjList - R-group object list * @return {Map} - Cap group index map*/ export declare function parseCapGroups(rGroupObjList: any[]): string[]; /** V2000 to V3000 converter * @param {string} molfileV2K - V2000 molfile * @param {any} moduleRdkit - RDKit module * @return {string} - V3000 molfile*/ export declare function convertMolfileToV3K(molfileV2K: string, moduleRdkit: any): string; /** fixes the r lines of the molblock. rdkit sometimes gives v2000 with weird numbers in r atom lines, * that can be interpreted as isotopes or cause downstream weirdness * @param {string} molfileV2K * @return {string} */ export declare function fixV2000MolfileRAtomLines(molfileV2K: string): string; /** Parse V3000 bond block and construct the Bonds object * @param {string} molfileV3K - V3000 molfile * @param {number} bondCount - Number of bonds * @return {Bonds} - Bonds object*/ export declare function parseBondBlock(molfileV3K: string, bondCount: number): Bonds; /** Constructs mapping of r-group nodes to default capGroups, all numeration starting from 1. * According to https://pubs.acs.org/doi/10.1021/ci3001925, R1 and R2 are the chain extending attachment points, * while R3 is the branching attachment point. * @param {string} molfile - V2000 or V3000 molfile * @return {Map} - Map of r-group nodes to default capGroups*/ export declare function parseCapGroupIdxMap(molfile: string): Map; export declare function parseCapGroupIdxMapV2K(molfileV2K: string): Map; export declare function parseCapGroupIdxMapV3K(molfileV3K: string): Map; export declare function parseAtomAndBondCounts(molfileV3K: string): { atomCount: number; bondCount: number; }; export declare function convertMolGraphToMolfileV3K(molGraph: MolGraph): string; export declare function getSymbolToCappedMolfileMap(monomersLibList: any[]): Promise | undefined>; /** Get the V3K molfile corresponding to the capped Monomer (default cap groups) * @param {Monomer} monomer * @return {string} V3K molfile*/ export declare function capPeptideMonomer(monomer: Monomer): string; //# sourceMappingURL=to-atomic-level.d.ts.map