openchemlib 7.4.3 → 7.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -19
- package/core.d.ts +2 -1
- package/dist/openchemlib-core.js +142 -140
- package/dist/openchemlib-full.js +153 -152
- package/dist/openchemlib-full.pretty.js +7100 -5223
- package/dist/openchemlib-minimal.js +3 -3
- package/minimal.d.ts +1 -1
- package/package.json +7 -6
- package/types.d.ts +150 -111
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* openchemlib - Manipulate molecules
|
|
3
|
-
* @version v7.
|
|
4
|
-
* @date
|
|
3
|
+
* @version v7.5.0
|
|
4
|
+
* @date 2022-08-09T09:45:51.996Z
|
|
5
5
|
* @link https://github.com/cheminfo/openchemlib-js
|
|
6
6
|
* @license BSD-3-Clause
|
|
7
7
|
*/
|
|
@@ -134,7 +134,7 @@ _.put=function qV(a,b){throw IN(new i_.sS('Put not supported on this map'))};_.p
|
|
|
134
134
|
|
|
135
135
|
var toReturn = $wnd["OCL"];
|
|
136
136
|
|
|
137
|
-
toReturn.version = '7.
|
|
137
|
+
toReturn.version = '7.5.0';
|
|
138
138
|
|
|
139
139
|
return toReturn;
|
|
140
140
|
}
|
package/minimal.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openchemlib",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.5.0",
|
|
4
4
|
"description": "Manipulate molecules",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"chemistry",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"export": "node scripts/build.js export",
|
|
18
18
|
"build": "npm run build:min && npm run build-full-pretty",
|
|
19
19
|
"build-core": "npm run build:min -- -m core",
|
|
20
|
+
"build-debug": "npm run build:pretty -- -m full --verbose",
|
|
20
21
|
"build-minimal": "npm run build:min -- -m minimal",
|
|
21
22
|
"build-full-pretty": "npm run build:pretty -- -m full",
|
|
22
23
|
"eslint": "eslint __tests__ scripts benchmark",
|
|
@@ -53,13 +54,13 @@
|
|
|
53
54
|
"homepage": "https://github.com/cheminfo/openchemlib-js",
|
|
54
55
|
"devDependencies": {
|
|
55
56
|
"benchmark": "^2.1.4",
|
|
56
|
-
"eslint": "^
|
|
57
|
-
"eslint-config-cheminfo": "^
|
|
57
|
+
"eslint": "^8.2.0",
|
|
58
|
+
"eslint-config-cheminfo": "^7.2.1",
|
|
58
59
|
"fs-extra": "^10.0.0",
|
|
59
60
|
"gwt-api-exporter": "^2.0.0",
|
|
60
|
-
"jest": "^27.
|
|
61
|
-
"prettier": "^2.
|
|
61
|
+
"jest": "^27.3.1",
|
|
62
|
+
"prettier": "^2.4.1",
|
|
62
63
|
"rimraf": "^3.0.2",
|
|
63
|
-
"yargs": "^17.
|
|
64
|
+
"yargs": "^17.2.1"
|
|
64
65
|
}
|
|
65
66
|
}
|
package/types.d.ts
CHANGED
|
@@ -310,7 +310,7 @@ export declare class Molecule {
|
|
|
310
310
|
*/
|
|
311
311
|
static fromSmiles(
|
|
312
312
|
smiles: string,
|
|
313
|
-
options?: IMoleculeFromSmilesOptions
|
|
313
|
+
options?: IMoleculeFromSmilesOptions,
|
|
314
314
|
): Molecule;
|
|
315
315
|
|
|
316
316
|
/**
|
|
@@ -323,16 +323,17 @@ export declare class Molecule {
|
|
|
323
323
|
* Parse the provided `molfile` and return an object with `Molecule` and map.
|
|
324
324
|
* @param molfile - MDL Molfile string in V2000 or V3000.
|
|
325
325
|
*/
|
|
326
|
-
static fromMolfileWithAtomMap(
|
|
327
|
-
|
|
328
|
-
|
|
326
|
+
static fromMolfileWithAtomMap(molfile: string): {
|
|
327
|
+
molecule: Molecule;
|
|
328
|
+
map: number[];
|
|
329
|
+
};
|
|
329
330
|
|
|
330
331
|
/**
|
|
331
332
|
* Parse the provided `idcode` and return a `Molecule`.
|
|
332
333
|
* @param idcode
|
|
333
334
|
* @param coordinates
|
|
334
335
|
*/
|
|
335
|
-
static fromIDCode(idcode: string, coordinates
|
|
336
|
+
static fromIDCode(idcode: string, coordinates?: string): Molecule;
|
|
336
337
|
|
|
337
338
|
/**
|
|
338
339
|
* Parse the provided `idcode` and return a `Molecule`.
|
|
@@ -394,7 +395,7 @@ export declare class Molecule {
|
|
|
394
395
|
width: number,
|
|
395
396
|
height: number,
|
|
396
397
|
id?: string,
|
|
397
|
-
options?: IMoleculeToSVGOptions
|
|
398
|
+
options?: IMoleculeToSVGOptions,
|
|
398
399
|
): string;
|
|
399
400
|
|
|
400
401
|
getCanonizedIDCode(flag: number): string;
|
|
@@ -474,7 +475,7 @@ export declare class Molecule {
|
|
|
474
475
|
mass: number,
|
|
475
476
|
abnormalValence: number,
|
|
476
477
|
radical: number,
|
|
477
|
-
customLabel: string
|
|
478
|
+
customLabel: string,
|
|
478
479
|
): boolean;
|
|
479
480
|
|
|
480
481
|
addOrChangeBond(atm1: number, atm2: number, type: number): number;
|
|
@@ -490,7 +491,7 @@ export declare class Molecule {
|
|
|
490
491
|
atomicNo: number,
|
|
491
492
|
mass: number,
|
|
492
493
|
abnormalValence: number,
|
|
493
|
-
radical: number
|
|
494
|
+
radical: number,
|
|
494
495
|
): boolean;
|
|
495
496
|
|
|
496
497
|
changeAtomCharge(atom: number, positive: boolean): boolean;
|
|
@@ -507,14 +508,14 @@ export declare class Molecule {
|
|
|
507
508
|
addMolecule(mol: Molecule): number[];
|
|
508
509
|
|
|
509
510
|
/**
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
511
|
+
* Adds and connects the substituent molecule to the connectionAtom of this molecule.
|
|
512
|
+
* Substituent atoms with atomicNo=0 are not copied and considered to represent the connectionAtom.
|
|
513
|
+
* Bonds leading to them, however, are copied and connected to the connectionAtom.
|
|
514
|
+
* High level function for constructing a molecule.
|
|
515
|
+
* @param substituent
|
|
516
|
+
* @param connectionAtom
|
|
517
|
+
* @return atom mapping from substituent to this molecule after addition of substituent
|
|
518
|
+
*/
|
|
518
519
|
addSubstituent(substituent: Molecule, connectionAtom: number): number[];
|
|
519
520
|
|
|
520
521
|
/**
|
|
@@ -540,7 +541,7 @@ export declare class Molecule {
|
|
|
540
541
|
destMol: Molecule,
|
|
541
542
|
sourceAtom: number,
|
|
542
543
|
esrGroupOffsetAND: number,
|
|
543
|
-
esrGroupOffsetOR: number
|
|
544
|
+
esrGroupOffsetOR: number,
|
|
544
545
|
): number;
|
|
545
546
|
|
|
546
547
|
/**
|
|
@@ -556,7 +557,7 @@ export declare class Molecule {
|
|
|
556
557
|
destMol: Molecule,
|
|
557
558
|
sourceBond: number,
|
|
558
559
|
esrGroupOffsetAND: number,
|
|
559
|
-
esrGroupOffsetOR: number
|
|
560
|
+
esrGroupOffsetOR: number,
|
|
560
561
|
): number;
|
|
561
562
|
|
|
562
563
|
/**
|
|
@@ -585,17 +586,17 @@ export declare class Molecule {
|
|
|
585
586
|
renumberESRGroups(type: number): number;
|
|
586
587
|
|
|
587
588
|
/**
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
589
|
+
* Swaps two atoms' indexes/locations in the atom table.
|
|
590
|
+
* @param atom1
|
|
591
|
+
* @param atom2
|
|
592
|
+
*/
|
|
592
593
|
swapAtoms(atom1: number, atom2: number): void;
|
|
593
594
|
|
|
594
595
|
/**
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
596
|
+
* Swaps two bonds' indexes/locations in the atom table.
|
|
597
|
+
* @param bond1
|
|
598
|
+
* @param bond2
|
|
599
|
+
*/
|
|
599
600
|
swapBonds(bond1: number, bond2: number): void;
|
|
600
601
|
|
|
601
602
|
/**
|
|
@@ -677,9 +678,9 @@ export declare class Molecule {
|
|
|
677
678
|
deleteMolecule(): void;
|
|
678
679
|
|
|
679
680
|
/**
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
681
|
+
* Empties the molecule to serve as container for constructing a new molecule,
|
|
682
|
+
* e.g. by multiply calling addAtom(...), addBond(...) and other high level methods.
|
|
683
|
+
*/
|
|
683
684
|
clear(): void;
|
|
684
685
|
|
|
685
686
|
removeAtomSelection(): void;
|
|
@@ -921,12 +922,12 @@ export declare class Molecule {
|
|
|
921
922
|
getBondLength(bond: number): number;
|
|
922
923
|
|
|
923
924
|
/**
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
925
|
+
* Returns the formal bond order. Delocalized rings have alternating single and double
|
|
926
|
+
* bonds, which are returned as such. Bonds that are explicitly marked as being delocalized
|
|
927
|
+
* are returned as 1. Dative bonds are returned as 0.
|
|
928
|
+
* @param bond
|
|
929
|
+
* @return formal bond order 0 (dative bonds), 1, 2, or 3
|
|
930
|
+
*/
|
|
930
931
|
getBondOrder(bond: number): number;
|
|
931
932
|
|
|
932
933
|
/**
|
|
@@ -1092,8 +1093,8 @@ export declare class Molecule {
|
|
|
1092
1093
|
isFragment(): boolean;
|
|
1093
1094
|
|
|
1094
1095
|
/**
|
|
1095
|
-
|
|
1096
|
-
|
|
1096
|
+
* @return true if at least one z-coordinate is different from 0.0
|
|
1097
|
+
*/
|
|
1097
1098
|
is3D(): boolean;
|
|
1098
1099
|
|
|
1099
1100
|
/**
|
|
@@ -1572,7 +1573,7 @@ export declare class Molecule {
|
|
|
1572
1573
|
destMol: Molecule,
|
|
1573
1574
|
includeAtom: boolean[],
|
|
1574
1575
|
recognizeDelocalizedBonds: boolean,
|
|
1575
|
-
atomMap: number[]
|
|
1576
|
+
atomMap: number[],
|
|
1576
1577
|
): void;
|
|
1577
1578
|
|
|
1578
1579
|
/**
|
|
@@ -1594,7 +1595,7 @@ export declare class Molecule {
|
|
|
1594
1595
|
destMol: Molecule,
|
|
1595
1596
|
includeBond: boolean[],
|
|
1596
1597
|
recognizeDelocalizedBonds: boolean,
|
|
1597
|
-
atomMap: number[]
|
|
1598
|
+
atomMap: number[],
|
|
1598
1599
|
): number[];
|
|
1599
1600
|
|
|
1600
1601
|
/**
|
|
@@ -1755,10 +1756,10 @@ export declare class Molecule {
|
|
|
1755
1756
|
getNonHydrogenNeighbourCount(atom: number): number;
|
|
1756
1757
|
|
|
1757
1758
|
/**
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1759
|
+
* This method returns the count of atom neighbours which are marked as being an exclude group.
|
|
1760
|
+
* @param atom
|
|
1761
|
+
* @return the number of non-hydrogen neighbor atoms
|
|
1762
|
+
*/
|
|
1762
1763
|
getExcludedNeighbourCount(atom: number): number;
|
|
1763
1764
|
|
|
1764
1765
|
/**
|
|
@@ -1772,8 +1773,8 @@ export declare class Molecule {
|
|
|
1772
1773
|
|
|
1773
1774
|
/**
|
|
1774
1775
|
* The sum of bond orders of explicitly connected neighbour atoms including explicit hydrogen.
|
|
1775
|
-
|
|
1776
|
-
|
|
1776
|
+
* In case of a fragment the occupied valence does not include bonds to atoms of which the cAtomQFExcludeGroup flag is set.
|
|
1777
|
+
* Atom charge and radical states are not considered.
|
|
1777
1778
|
* @param atom
|
|
1778
1779
|
* @returns explicitly used valence
|
|
1779
1780
|
*/
|
|
@@ -1816,7 +1817,7 @@ export declare class Molecule {
|
|
|
1816
1817
|
*/
|
|
1817
1818
|
getImplicitHigherValence(
|
|
1818
1819
|
atom: number,
|
|
1819
|
-
neglectExplicitHydrogen: boolean
|
|
1820
|
+
neglectExplicitHydrogen: boolean,
|
|
1820
1821
|
): number;
|
|
1821
1822
|
|
|
1822
1823
|
/**
|
|
@@ -1848,7 +1849,7 @@ export declare class Molecule {
|
|
|
1848
1849
|
atom1: number,
|
|
1849
1850
|
atom2: number,
|
|
1850
1851
|
maxLength: number,
|
|
1851
|
-
neglectBond: boolean[]
|
|
1852
|
+
neglectBond: boolean[],
|
|
1852
1853
|
): number;
|
|
1853
1854
|
|
|
1854
1855
|
/**
|
|
@@ -1860,7 +1861,7 @@ export declare class Molecule {
|
|
|
1860
1861
|
getPathBonds(
|
|
1861
1862
|
pathAtom: number[],
|
|
1862
1863
|
pathBond: number[],
|
|
1863
|
-
pathLength: number
|
|
1864
|
+
pathLength: number,
|
|
1864
1865
|
): void;
|
|
1865
1866
|
|
|
1866
1867
|
/**
|
|
@@ -1909,7 +1910,7 @@ export declare class Molecule {
|
|
|
1909
1910
|
getFragmentNumbers(
|
|
1910
1911
|
fragmentNo: number[],
|
|
1911
1912
|
markedAtomsOnly: boolean,
|
|
1912
|
-
considerMetalBonds: boolean
|
|
1913
|
+
considerMetalBonds: boolean,
|
|
1913
1914
|
): number;
|
|
1914
1915
|
|
|
1915
1916
|
/**
|
|
@@ -1935,7 +1936,7 @@ export declare class Molecule {
|
|
|
1935
1936
|
startAtom: number,
|
|
1936
1937
|
aromaticOnly: boolean,
|
|
1937
1938
|
isMemberAtom: boolean[],
|
|
1938
|
-
isMemberBond: boolean[]
|
|
1939
|
+
isMemberBond: boolean[],
|
|
1939
1940
|
): void;
|
|
1940
1941
|
|
|
1941
1942
|
/**
|
|
@@ -1962,7 +1963,7 @@ export declare class Molecule {
|
|
|
1962
1963
|
firstAtom: number,
|
|
1963
1964
|
isMemberAtom: boolean[],
|
|
1964
1965
|
substituent: Molecule,
|
|
1965
|
-
atomMap: number[]
|
|
1966
|
+
atomMap: number[],
|
|
1966
1967
|
): number;
|
|
1967
1968
|
|
|
1968
1969
|
/**
|
|
@@ -2179,7 +2180,7 @@ export declare class Molecule {
|
|
|
2179
2180
|
atom: number,
|
|
2180
2181
|
sortedConnMap: number[],
|
|
2181
2182
|
angle: number[],
|
|
2182
|
-
direction: number[]
|
|
2183
|
+
direction: number[],
|
|
2183
2184
|
): number;
|
|
2184
2185
|
|
|
2185
2186
|
/**
|
|
@@ -2198,14 +2199,14 @@ export declare class Molecule {
|
|
|
2198
2199
|
findAlleneCenterAtom(atom: number): number;
|
|
2199
2200
|
|
|
2200
2201
|
/**
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2202
|
+
* Crawls along a chain of sp-hybridized atoms starting from atom2 (which may not be
|
|
2203
|
+
* sp-hybridized) away from its sp-hybridized neighbour atom1. Returns the first atom
|
|
2204
|
+
* that is either not sp-hybridized anymore or the last atom of the chain if that is still
|
|
2205
|
+
* sp-hybridized. Returns -1 in case of an sp-hybridized cycle.
|
|
2206
|
+
* @param atom1 sp-hybridized atom
|
|
2207
|
+
* @param atom2 neighbour atom of atom1
|
|
2208
|
+
* @return first non-sp-hybridized atom when crawling from atom2 away from atom1
|
|
2209
|
+
*/
|
|
2209
2210
|
findAlleneEndAtom(atom1: number, atom2: number): number;
|
|
2210
2211
|
|
|
2211
2212
|
/**
|
|
@@ -2291,18 +2292,18 @@ export declare class Molecule {
|
|
|
2291
2292
|
isHalogene(atom: number): boolean;
|
|
2292
2293
|
|
|
2293
2294
|
/**
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2295
|
+
* Normalizes charge distribution in single- and multifragment molecules.
|
|
2296
|
+
* In a first step polar bonds (both atoms have opposite charge) are neutralized
|
|
2297
|
+
* by removing both atom charges and increasing the bond order, provided that atom
|
|
2298
|
+
* valences allow the change.
|
|
2299
|
+
* Neutralizes positive and an equal amount of negative charges on electronegative atoms,
|
|
2300
|
+
* provided these are not on 1,2-dipolar structures, in order to ideally achieve a neutral molecule.
|
|
2301
|
+
* This method does not change the overall charge of the molecule. It does not change the number of
|
|
2302
|
+
* explicit atoms or bonds or their connectivity except bond orders.
|
|
2303
|
+
* This method does not deprotonate acidic groups to compensate for quarternary charged nitrogen.
|
|
2304
|
+
* @param allowUnbalancedCharge throws an exception after polar bond neutralization, if overall charge is not zero
|
|
2305
|
+
* @return remaining overall molecule charge
|
|
2306
|
+
*/
|
|
2306
2307
|
canonizeCharge(allowUnbalancedCharge: boolean): number;
|
|
2307
2308
|
|
|
2308
2309
|
/**
|
|
@@ -2380,11 +2381,11 @@ export declare class Molecule {
|
|
|
2380
2381
|
* Removes all plain explicit hydrogens atoms from the molecule, converting them
|
|
2381
2382
|
* effectively to implicit ones. If the molecules has 2D-coordinates (is3D==false),
|
|
2382
2383
|
* then this method perceives stereo configurations from up/down-bonds
|
|
2383
|
-
|
|
2384
|
+
* to explicit hydrogens before deleting them and turns another bond into a
|
|
2384
2385
|
* stereo bond to indicate the proper configuration.
|
|
2385
|
-
|
|
2386
|
+
* If the removal of a hydrogen atom would change an atom's implicit valence,
|
|
2386
2387
|
* the atom's abnormal valence is set accordingly.
|
|
2387
|
-
|
|
2388
|
+
* @param is3D pass true, if atom coordinates are three dimensional
|
|
2388
2389
|
*/
|
|
2389
2390
|
removeExplicitHydrogens(is3D: boolean): void;
|
|
2390
2391
|
|
|
@@ -2550,12 +2551,43 @@ export declare class RingCollection {
|
|
|
2550
2551
|
isAromatic: boolean[],
|
|
2551
2552
|
isDelocalized: boolean[],
|
|
2552
2553
|
heteroPosition: number[],
|
|
2553
|
-
includeTautomericBonds: boolean
|
|
2554
|
+
includeTautomericBonds: boolean,
|
|
2554
2555
|
): void;
|
|
2555
2556
|
|
|
2556
2557
|
qualifiesAsAmideTypeBond(bond: number): boolean;
|
|
2557
2558
|
}
|
|
2558
2559
|
|
|
2560
|
+
/**
|
|
2561
|
+
* Class allowing to acccess advanced options of getIDCode
|
|
2562
|
+
* @example
|
|
2563
|
+
* ```js
|
|
2564
|
+
* let molecule = OCL.Molecule.fromSmiles('C[C@H](Cl)CC');
|
|
2565
|
+
* molecule = OCL.Molecule.fromSmiles('CC=C(O)CC');
|
|
2566
|
+
*
|
|
2567
|
+
* console.log(molecule.getIDCode());
|
|
2568
|
+
* console.log(OCL.CanonizerUtil.getIDCode(molecule, OCL.CanonizerUtil.NORMAL));
|
|
2569
|
+
* console.log(OCL.CanonizerUtil.getIDCode(molecule, OCL.CanonizerUtil.NOSTEREO));
|
|
2570
|
+
* console.log(OCL.CanonizerUtil.getIDCode(molecule, OCL.CanonizerUtil.BACKBONE));
|
|
2571
|
+
* console.log(OCL.CanonizerUtil.getIDCode(molecule, OCL.CanonizerUtil.TAUTOMER));
|
|
2572
|
+
* console.log(OCL.CanonizerUtil.getIDCode(molecule, OCL.CanonizerUtil.NOSTEREO_TAUTOMER));
|
|
2573
|
+
* ```
|
|
2574
|
+
*/
|
|
2575
|
+
export declare class CanonizerUtil {
|
|
2576
|
+
static NORMAL: 0;
|
|
2577
|
+
static NOSTEREO: 1;
|
|
2578
|
+
static BACKBONE: 2;
|
|
2579
|
+
static TAUTOMER: 3;
|
|
2580
|
+
static NOSTEREO_TAUTOMER: 4;
|
|
2581
|
+
|
|
2582
|
+
private constructor();
|
|
2583
|
+
|
|
2584
|
+
/**
|
|
2585
|
+
* @param mol
|
|
2586
|
+
* @param type NORMAL, NOSTEREO, BACKBONE, TAUTOMER, NOSTEREO_TAUTOMER
|
|
2587
|
+
*/
|
|
2588
|
+
static getIDCode(mol: Molecule, type: number): string;
|
|
2589
|
+
}
|
|
2590
|
+
|
|
2559
2591
|
/**
|
|
2560
2592
|
* All depictor options default to `false`.
|
|
2561
2593
|
*/
|
|
@@ -2627,7 +2659,7 @@ export declare class Reaction {
|
|
|
2627
2659
|
* @param rxn - The RXN file's contents
|
|
2628
2660
|
*/
|
|
2629
2661
|
static fromRxn(rxn: string): Reaction;
|
|
2630
|
-
|
|
2662
|
+
|
|
2631
2663
|
/**
|
|
2632
2664
|
* Returns the OCL object.
|
|
2633
2665
|
*/
|
|
@@ -2978,7 +3010,7 @@ export declare namespace Util {
|
|
|
2978
3010
|
*/
|
|
2979
3011
|
export function getHoseCodesFromDiastereotopicID(
|
|
2980
3012
|
diastereotopicID: string,
|
|
2981
|
-
options?: IHoseCodesOptions
|
|
3013
|
+
options?: IHoseCodesOptions,
|
|
2982
3014
|
): string[];
|
|
2983
3015
|
}
|
|
2984
3016
|
|
|
@@ -3049,7 +3081,7 @@ export declare namespace DrugScoreCalculator {
|
|
|
3049
3081
|
mSolubility: number,
|
|
3050
3082
|
mMolweight: number,
|
|
3051
3083
|
mDruglikeness: number,
|
|
3052
|
-
toxRisks: number[]
|
|
3084
|
+
toxRisks: number[],
|
|
3053
3085
|
): number;
|
|
3054
3086
|
}
|
|
3055
3087
|
|
|
@@ -3122,13 +3154,13 @@ export declare class ConformerGenerator {
|
|
|
3122
3154
|
|
|
3123
3155
|
/**
|
|
3124
3156
|
* Fills all free valences of mol with explicit hydrogens and tries to
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3157
|
+
* create a reasonable conformer by starting with the most likely torsion set.
|
|
3158
|
+
* If there are collisions, then less likely torsions are tried to find
|
|
3159
|
+
* a collision free conformer. If it succeeds, mol receives the modified
|
|
3160
|
+
* atom coordinates and mol is returned. If the conformer generation fails,
|
|
3161
|
+
* then null is returned. The torsion strategy used is STRATEGY_ADAPTIVE_RANDOM.
|
|
3162
|
+
* New 3D-coordinates correctly reflect E/Z and R/S bond/atom parities.
|
|
3163
|
+
* This is a convenience method that does not require any initialization.
|
|
3132
3164
|
* @param mol The molecule that will receive new 3D coordinates in place.
|
|
3133
3165
|
* @returns - Original molecule with new 3D-coordinates or null.
|
|
3134
3166
|
*/
|
|
@@ -3136,25 +3168,28 @@ export declare class ConformerGenerator {
|
|
|
3136
3168
|
|
|
3137
3169
|
/**
|
|
3138
3170
|
* The `initializeConformers()` method needs to be called before getting individual
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
|
|
3171
|
+
* conformers of the same molecule by `getNextConformerAsMolecule()`.
|
|
3172
|
+
* Open valences of the passed molecule are filled with hydrogen atoms.
|
|
3173
|
+
* The passed molecule may repeatedly be used as container for a new conformer's atom
|
|
3174
|
+
* coordinates, if it is passed to getNextConformerAsMolecule().
|
|
3143
3175
|
* @param mol - Will be saturated with hydrogen atoms.
|
|
3144
3176
|
* @param options
|
|
3145
3177
|
* @returns - `false` if there is a structure problem.
|
|
3146
3178
|
*/
|
|
3147
|
-
initializeConformers(
|
|
3179
|
+
initializeConformers(
|
|
3180
|
+
mol: Molecule,
|
|
3181
|
+
options?: IInitializeConformersOptions,
|
|
3182
|
+
): boolean;
|
|
3148
3183
|
|
|
3149
3184
|
/**
|
|
3150
3185
|
* Creates the next random, likely or systematic new(!) conformer of the molecule
|
|
3151
|
-
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
|
|
3156
|
-
|
|
3157
|
-
|
|
3186
|
+
* that was passed when calling `initializeConformers()`. A new conformer is one,
|
|
3187
|
+
* whose combination of torsion angles was not used in a previous conformer
|
|
3188
|
+
* created by this function since the last call of `initializeConformers()`.
|
|
3189
|
+
* Parameter mol may be null or recycle the original molecule to receive new 3D coordinates.
|
|
3190
|
+
* If it is null, then a fresh copy of the original molecule with new atom coordinates is returned.
|
|
3191
|
+
* Every call of this method creates a new collision-free conformer until the employed torsion set
|
|
3192
|
+
* strategy decides that it cannot generate any more suitable torsion sets.
|
|
3158
3193
|
* @param mol
|
|
3159
3194
|
*/
|
|
3160
3195
|
getNextConformerAsMolecule(mol?: Molecule): Molecule | null;
|
|
@@ -3166,21 +3201,21 @@ export declare class ConformerGenerator {
|
|
|
3166
3201
|
|
|
3167
3202
|
/**
|
|
3168
3203
|
* Calculates the potential count of conformers by multiplying degrees of freedom
|
|
3169
|
-
|
|
3170
|
-
|
|
3204
|
+
* (torsions per rotatable bond & rigid fragment multiplicities).
|
|
3205
|
+
* Cannot be called before calling `initializeConformers()`.
|
|
3171
3206
|
*/
|
|
3172
3207
|
getPotentialConformerCount(): number;
|
|
3173
3208
|
|
|
3174
3209
|
/**
|
|
3175
3210
|
* With best current knowledge about colliding torsion combinations
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3211
|
+
* and based on the individual frequencies of currently active torsions
|
|
3212
|
+
* this method returns the conformers's overall contribution to the
|
|
3213
|
+
* total set of non colliding conformers.
|
|
3179
3214
|
* @returns - This conformer's contribution to all conformers.
|
|
3180
3215
|
*/
|
|
3181
3216
|
getPreviousConformerContribution(): number;
|
|
3182
3217
|
|
|
3183
|
-
/**
|
|
3218
|
+
/**
|
|
3184
3219
|
* Returns an iterator of molecule conformers.
|
|
3185
3220
|
*/
|
|
3186
3221
|
molecules(): IterableIterator<Molecule>;
|
|
@@ -3216,12 +3251,16 @@ export declare class ForceFieldMMFF94 {
|
|
|
3216
3251
|
static MMFF94SPLUS: 'MMFF94s+';
|
|
3217
3252
|
|
|
3218
3253
|
/**
|
|
3219
|
-
*
|
|
3254
|
+
*
|
|
3220
3255
|
* @param molecule - The molecule to construct the forcefield on.
|
|
3221
3256
|
* @param tablename - The string name for the Tables to be used. Can be `'MMFF94'`, `'MMFF94s'` or `'MMFF94s+'`.
|
|
3222
3257
|
* @param options
|
|
3223
3258
|
*/
|
|
3224
|
-
constructor(
|
|
3259
|
+
constructor(
|
|
3260
|
+
molecule: Molecule,
|
|
3261
|
+
tablename: 'MMFF94' | 'MMFF94s' | 'MMFF94s+',
|
|
3262
|
+
options?: IForceFieldMMFF94Options,
|
|
3263
|
+
);
|
|
3225
3264
|
|
|
3226
3265
|
/**
|
|
3227
3266
|
* Returns the OCL object.
|
|
@@ -3260,13 +3299,13 @@ export declare namespace StructureView {
|
|
|
3260
3299
|
id: string,
|
|
3261
3300
|
idcode: string,
|
|
3262
3301
|
coordinates: string,
|
|
3263
|
-
options?: IDepictorOptions
|
|
3302
|
+
options?: IDepictorOptions,
|
|
3264
3303
|
): void;
|
|
3265
3304
|
|
|
3266
3305
|
export function drawMolecule(
|
|
3267
3306
|
el: HTMLCanvasElement,
|
|
3268
3307
|
mol: Molecule,
|
|
3269
|
-
options?: IDepictorOptions
|
|
3308
|
+
options?: IDepictorOptions,
|
|
3270
3309
|
): void;
|
|
3271
3310
|
|
|
3272
3311
|
export function drawStructureWithText(
|
|
@@ -3274,7 +3313,7 @@ export declare namespace StructureView {
|
|
|
3274
3313
|
idcode: string,
|
|
3275
3314
|
coordinates: string,
|
|
3276
3315
|
options?: IDepictorOptions,
|
|
3277
|
-
atomText?: string[]
|
|
3316
|
+
atomText?: string[],
|
|
3278
3317
|
): void;
|
|
3279
3318
|
}
|
|
3280
3319
|
|
|
@@ -3383,13 +3422,13 @@ export type BondHighlightCallback = (bond: number, selected: boolean) => any;
|
|
|
3383
3422
|
|
|
3384
3423
|
export type ChangeListenerCallback = (
|
|
3385
3424
|
idcode: string,
|
|
3386
|
-
molecule: Molecule
|
|
3425
|
+
molecule: Molecule,
|
|
3387
3426
|
) => any;
|
|
3388
3427
|
|
|
3389
3428
|
export declare namespace SVGRenderer {
|
|
3390
3429
|
export function renderMolecule(
|
|
3391
3430
|
idCode: string,
|
|
3392
3431
|
width: number,
|
|
3393
|
-
height: number
|
|
3432
|
+
height: number,
|
|
3394
3433
|
): string;
|
|
3395
3434
|
}
|