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.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * openchemlib - Manipulate molecules
3
- * @version v7.4.3
4
- * @date 2021-10-02T06:09:41.864Z
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.4.3';
137
+ toReturn.version = '7.5.0';
138
138
 
139
139
  return toReturn;
140
140
  }
package/minimal.d.ts CHANGED
@@ -11,5 +11,5 @@ export {
11
11
  SSSearcher,
12
12
  SSSearcherWithIndex,
13
13
  Util,
14
- version
14
+ version,
15
15
  } from './types';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openchemlib",
3
- "version": "7.4.3",
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": "^7.30.0",
57
- "eslint-config-cheminfo": "^5.2.4",
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.0.6",
61
- "prettier": "^2.3.2",
61
+ "jest": "^27.3.1",
62
+ "prettier": "^2.4.1",
62
63
  "rimraf": "^3.0.2",
63
- "yargs": "^17.0.1"
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
- molfile: string
328
- ): { molecule: Molecule; map: number[] };
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: string): Molecule;
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
- * Adds and connects the substituent molecule to the connectionAtom of this molecule.
511
- * Substituent atoms with atomicNo=0 are not copied and considered to represent the connectionAtom.
512
- * Bonds leading to them, however, are copied and connected to the connectionAtom.
513
- * High level function for constructing a molecule.
514
- * @param substituent
515
- * @param connectionAtom
516
- * @return atom mapping from substituent to this molecule after addition of substituent
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
- * Swaps two atoms' indexes/locations in the atom table.
589
- * @param atom1
590
- * @param atom2
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
- * Swaps two bonds' indexes/locations in the atom table.
596
- * @param bond1
597
- * @param bond2
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
- * Empties the molecule to serve as container for constructing a new molecule,
681
- * e.g. by multiply calling addAtom(...), addBond(...) and other high level methods.
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
- * Returns the formal bond order. Delocalized rings have alternating single and double
925
- * bonds, which are returned as such. Bonds that are explicitly marked as being delocalized
926
- * are returned as 1. Dative bonds are returned as 0.
927
- * @param bond
928
- * @return formal bond order 0 (dative bonds), 1, 2, or 3
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
- * @return true if at least one z-coordinate is different from 0.0
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
- * This method returns the count of atom neighbours which are marked as being an exclude group.
1759
- * @param atom
1760
- * @return the number of non-hydrogen neighbor atoms
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
- * In case of a fragment the occupied valence does not include bonds to atoms of which the cAtomQFExcludeGroup flag is set.
1776
- * Atom charge and radical states are not considered.
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
- * Crawls along a chain of sp-hybridized atoms starting from atom2 (which may not be
2202
- * sp-hybridized) away from its sp-hybridized neighbour atom1. Returns the first atom
2203
- * that is either not sp-hybridized anymore or the last atom of the chain if that is still
2204
- * sp-hybridized. Returns -1 in case of an sp-hybridized cycle.
2205
- * @param atom1 sp-hybridized atom
2206
- * @param atom2 neighbour atom of atom1
2207
- * @return first non-sp-hybridized atom when crawling from atom2 away from atom1
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
- * Normalizes charge distribution in single- and multifragment molecules.
2295
- * In a first step polar bonds (both atoms have opposite charge) are neutralized
2296
- * by removing both atom charges and increasing the bond order, provided that atom
2297
- * valences allow the change.
2298
- * Neutralizes positive and an equal amount of negative charges on electronegative atoms,
2299
- * provided these are not on 1,2-dipolar structures, in order to ideally achieve a neutral molecule.
2300
- * This method does not change the overall charge of the molecule. It does not change the number of
2301
- * explicit atoms or bonds or their connectivity except bond orders.
2302
- * This method does not deprotonate acidic groups to compensate for quarternary charged nitrogen.
2303
- * @param allowUnbalancedCharge throws an exception after polar bond neutralization, if overall charge is not zero
2304
- * @return remaining overall molecule charge
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
- * to explicit hydrogens before deleting them and turns another bond into a
2384
+ * to explicit hydrogens before deleting them and turns another bond into a
2384
2385
  * stereo bond to indicate the proper configuration.
2385
- * If the removal of a hydrogen atom would change an atom's implicit valence,
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
- * @param is3D pass true, if atom coordinates are three dimensional
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
- * create a reasonable conformer by starting with the most likely torsion set.
3126
- * If there are collisions, then less likely torsions are tried to find
3127
- * a collision free conformer. If it succeeds, mol receives the modified
3128
- * atom coordinates and mol is returned. If the conformer generation fails,
3129
- * then null is returned. The torsion strategy used is STRATEGY_ADAPTIVE_RANDOM.
3130
- * New 3D-coordinates correctly reflect E/Z and R/S bond/atom parities.
3131
- * This is a convenience method that does not require any initialization.
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
- * conformers of the same molecule by `getNextConformerAsMolecule()`.
3140
- * Open valences of the passed molecule are filled with hydrogen atoms.
3141
- * The passed molecule may repeatedly be used as container for a new conformer's atom
3142
- * coordinates, if it is passed to getNextConformerAsMolecule().
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(mol: Molecule, options?: IInitializeConformersOptions): boolean;
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
- * that was passed when calling `initializeConformers()`. A new conformer is one,
3152
- * whose combination of torsion angles was not used in a previous conformer
3153
- * created by this function since the last call of `initializeConformers()`.
3154
- * Parameter mol may be null or recycle the original molecule to receive new 3D coordinates.
3155
- * If it is null, then a fresh copy of the original molecule with new atom coordinates is returned.
3156
- * Every call of this method creates a new collision-free conformer until the employed torsion set
3157
- * strategy decides that it cannot generate any more suitable torsion sets.
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
- * (torsions per rotatable bond & rigid fragment multiplicities).
3170
- * Cannot be called before calling `initializeConformers()`.
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
- * and based on the individual frequencies of currently active torsions
3177
- * this method returns the conformers's overall contribution to the
3178
- * total set of non colliding conformers.
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(molecule: Molecule, tablename: 'MMFF94' | 'MMFF94s' | 'MMFF94s+', options?: IForceFieldMMFF94Options);
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
  }