@kent-tokyo/chematic 0.2.11 → 0.4.28
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 +6 -0
- package/chematic_wasm.d.ts +219 -81
- package/chematic_wasm.js +447 -159
- package/chematic_wasm_bg.wasm +0 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -116,6 +116,12 @@ console.log(ifg); // [{"atoms":[1,2,3],"types":"OC=O"}, ...]
|
|
|
116
116
|
- True MHFP (structural fragment hashing)
|
|
117
117
|
- True ERG (Ertl 2017 functional group detection)
|
|
118
118
|
|
|
119
|
+
## Bundle Size
|
|
120
|
+
|
|
121
|
+
~500 KB gzip / ~1.3 MB raw (reduced from ~819 KB gzip in v0.4.17, -38.5%).
|
|
122
|
+
|
|
123
|
+
PNG rasterization (`tiny_skia`) is excluded from the WASM build — use SVG output instead. All SVG depiction APIs remain fully available.
|
|
124
|
+
|
|
119
125
|
## Building from source
|
|
120
126
|
|
|
121
127
|
```sh
|
package/chematic_wasm.d.ts
CHANGED
|
@@ -106,17 +106,6 @@ export class DepictOptions {
|
|
|
106
106
|
set_width(w: number): void;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
/**
|
|
110
|
-
* MinHash LSH index: insert MHFP fingerprints and query by approximate similarity.
|
|
111
|
-
*
|
|
112
|
-
* ```js
|
|
113
|
-
* const idx = new MhfpLshHandle(128);
|
|
114
|
-
* const i0 = idx.add_smiles("c1ccccc1"); // benzene → index 0
|
|
115
|
-
* const i1 = idx.add_smiles("Cc1ccccc1"); // toluene → index 1
|
|
116
|
-
* const hits = JSON.parse(idx.query_json("c1ccccc1", 0.5));
|
|
117
|
-
* // hits: [{index:0,similarity:1.0}, {index:1,similarity:0.xxx}]
|
|
118
|
-
* ```
|
|
119
|
-
*/
|
|
120
109
|
export class MhfpLshHandle {
|
|
121
110
|
free(): void;
|
|
122
111
|
[Symbol.dispose](): void;
|
|
@@ -169,6 +158,15 @@ export class MolHandle {
|
|
|
169
158
|
* Number of heavy atoms (explicit atoms in the graph; does not count implicit H).
|
|
170
159
|
*/
|
|
171
160
|
atom_count(): number;
|
|
161
|
+
/**
|
|
162
|
+
* Returns true when TPSA < 90 Ų, MW < 400, HBD ≤ 3.
|
|
163
|
+
*/
|
|
164
|
+
bbb_passes(): boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Clark (2000) blood-brain barrier logBB score.
|
|
167
|
+
* logBB > −1.0 = likely CNS penetrant.
|
|
168
|
+
*/
|
|
169
|
+
bbb_score(): number;
|
|
172
170
|
/**
|
|
173
171
|
* Bertz complexity index (BertzCT).
|
|
174
172
|
*/
|
|
@@ -177,6 +175,11 @@ export class MolHandle {
|
|
|
177
175
|
* Number of bonds.
|
|
178
176
|
*/
|
|
179
177
|
bond_count(): number;
|
|
178
|
+
/**
|
|
179
|
+
* Palm (1997) Caco-2 intestinal permeability (logPCaco2).
|
|
180
|
+
* > −5.5 = high permeability.
|
|
181
|
+
*/
|
|
182
|
+
caco2_permeability(): number;
|
|
180
183
|
/**
|
|
181
184
|
* Canonical SMILES string.
|
|
182
185
|
*/
|
|
@@ -222,8 +225,12 @@ export class MolHandle {
|
|
|
222
225
|
*/
|
|
223
226
|
chi4v(): number;
|
|
224
227
|
/**
|
|
225
|
-
*
|
|
226
|
-
|
|
228
|
+
* CYP3A4 metabolic inhibition risk score (0.0–1.0).
|
|
229
|
+
*/
|
|
230
|
+
cyp3a4_inhibition_risk(): number;
|
|
231
|
+
/**
|
|
232
|
+
* 2D PNG depiction — not available in the WASM build (PNG stack disabled to reduce bundle size).
|
|
233
|
+
* Use `depict_svg()` in browser contexts; rasterize client-side if needed.
|
|
227
234
|
*/
|
|
228
235
|
depict_png(): Uint8Array;
|
|
229
236
|
/**
|
|
@@ -272,6 +279,10 @@ export class MolHandle {
|
|
|
272
279
|
* Number of non-hydrogen heavy atoms.
|
|
273
280
|
*/
|
|
274
281
|
heavy_atom_count(): number;
|
|
282
|
+
/**
|
|
283
|
+
* hERG cardiac toxicity risk score (0.0–1.0).
|
|
284
|
+
*/
|
|
285
|
+
herg_risk_score(): number;
|
|
275
286
|
/**
|
|
276
287
|
* Isotope distribution as JSON.
|
|
277
288
|
*
|
|
@@ -390,6 +401,14 @@ export class MolHandle {
|
|
|
390
401
|
* Returns `true` if the molecule has no PAINS structural alerts.
|
|
391
402
|
*/
|
|
392
403
|
pains_passes(): boolean;
|
|
404
|
+
/**
|
|
405
|
+
* Most acidic pKa in the molecule, or NaN if no acidic site.
|
|
406
|
+
*/
|
|
407
|
+
pka_acid_value(): number;
|
|
408
|
+
/**
|
|
409
|
+
* Most basic pKa in the molecule, or NaN if no basic site.
|
|
410
|
+
*/
|
|
411
|
+
pka_base_value(): number;
|
|
393
412
|
/**
|
|
394
413
|
* Quantitative Estimate of Drug-likeness (QED); range [0, 1].
|
|
395
414
|
*/
|
|
@@ -448,6 +467,18 @@ export class MolHandle {
|
|
|
448
467
|
*/
|
|
449
468
|
export function add_hydrogens(mol: MolHandle): MolHandle;
|
|
450
469
|
|
|
470
|
+
/**
|
|
471
|
+
* Compute a full ADMET property profile for a molecule.
|
|
472
|
+
*
|
|
473
|
+
* Returns a JSON object with fields:
|
|
474
|
+
* `bbb_score`, `bbb_passes`, `caco2`, `herg_risk`, `cyp3a4_risk`,
|
|
475
|
+
* `pka_acid` (null if absent), `pka_base` (null if absent),
|
|
476
|
+
* `esol`, `logd74`, `mw`, `logp`, `tpsa`, `hbd`, `hba`, `rotatable_bonds`
|
|
477
|
+
*
|
|
478
|
+
* Returns `{"error":"..."}` on parse failure.
|
|
479
|
+
*/
|
|
480
|
+
export function admet_profile_json(smiles: string): string;
|
|
481
|
+
|
|
451
482
|
/**
|
|
452
483
|
* AtomPair fingerprint as a bit-packed byte vector (256 bytes = 2048 bits).
|
|
453
484
|
*/
|
|
@@ -472,6 +503,37 @@ export function autocorr_3d_json(mol: MolHandle): string;
|
|
|
472
503
|
*/
|
|
473
504
|
export function balance_check_json(reaction_smiles: string): string;
|
|
474
505
|
|
|
506
|
+
/**
|
|
507
|
+
* MinHash LSH index: insert MHFP fingerprints and query by approximate similarity.
|
|
508
|
+
*
|
|
509
|
+
* ```js
|
|
510
|
+
* const idx = new MhfpLshHandle(128);
|
|
511
|
+
* const i0 = idx.add_smiles("c1ccccc1"); // benzene → index 0
|
|
512
|
+
* const i1 = idx.add_smiles("Cc1ccccc1"); // toluene → index 1
|
|
513
|
+
* const hits = JSON.parse(idx.query_json("c1ccccc1", 0.5));
|
|
514
|
+
* // hits: [{index:0,similarity:1.0}, {index:1,similarity:0.xxx}]
|
|
515
|
+
* ```
|
|
516
|
+
* Generate a self-contained HTML report for a newline-separated list of SMILES.
|
|
517
|
+
*
|
|
518
|
+
* Empty lines and invalid SMILES are silently skipped.
|
|
519
|
+
* Returns the same card-grid HTML as Python's `chematic.report()`.
|
|
520
|
+
*
|
|
521
|
+
* ```js
|
|
522
|
+
* const html = mod.batch_report_html("CCO\nc1ccccc1\nCC(=O)O");
|
|
523
|
+
* const blob = new Blob([html], {type:'text/html'});
|
|
524
|
+
* const url = URL.createObjectURL(blob);
|
|
525
|
+
* ```
|
|
526
|
+
*/
|
|
527
|
+
export function batch_report_html(smiles_lines: string): string;
|
|
528
|
+
|
|
529
|
+
/**
|
|
530
|
+
* Predict GI absorption and BBB penetration using the BOILED-Egg method
|
|
531
|
+
* (Daina & Zoete 2016).
|
|
532
|
+
*
|
|
533
|
+
* Returns JSON: `{"gi_absorbed":bool,"bbb_penetrant":bool,"logp":f64,"tpsa":f64}`
|
|
534
|
+
*/
|
|
535
|
+
export function boiled_egg_json(smiles: string): string;
|
|
536
|
+
|
|
475
537
|
/**
|
|
476
538
|
* Number of BRICS fragments produced by fragmenting the molecule.
|
|
477
539
|
*
|
|
@@ -566,21 +628,10 @@ export function compare_molecules_batch_json(smiles_batch: string, delimiter: st
|
|
|
566
628
|
export function compare_molecules_json(smiles1: string, smiles2: string): string;
|
|
567
629
|
|
|
568
630
|
/**
|
|
569
|
-
*
|
|
570
|
-
*
|
|
571
|
-
* Returns JSON object: `{ "coulomb_energy": E, "unit": "kcal/mol" }`
|
|
572
|
-
*
|
|
573
|
-
* # Arguments
|
|
574
|
-
* * `mol` - Molecule to evaluate
|
|
575
|
-
*
|
|
576
|
-
* # Example (JavaScript)
|
|
577
|
-
* ```js
|
|
578
|
-
* const mol = parse_smiles("CCO");
|
|
579
|
-
* const result = coulomb_energy_json(mol);
|
|
580
|
-
* // { "coulomb_energy": -12.34, "unit": "kcal/mol" }
|
|
581
|
-
* ```
|
|
631
|
+
* Generate multiple conformers with RMSD-based pruning.
|
|
632
|
+
* Returns JSON: `{"conformers": [[[x,y,z],...], ...], "count": int}`.
|
|
582
633
|
*/
|
|
583
|
-
export function
|
|
634
|
+
export function conformer_ensemble_json(mol: MolHandle, n: number, rmsd_threshold: number): string;
|
|
584
635
|
|
|
585
636
|
/**
|
|
586
637
|
* Return the CPK color (CSS hex string) for the given element symbol.
|
|
@@ -660,21 +711,6 @@ export function depict_svg_grid_highlighted(smiles_block: string, cols: number,
|
|
|
660
711
|
*/
|
|
661
712
|
export function detect_functional_groups(mol: MolHandle): string;
|
|
662
713
|
|
|
663
|
-
/**
|
|
664
|
-
* Infer bond connectivity and bond orders from an XYZ-format string.
|
|
665
|
-
*
|
|
666
|
-
* Explicit hydrogen atoms must be present in the XYZ for reliable bond-order
|
|
667
|
-
* assignment (without H, carbonyl C=O cannot be distinguished from C-O).
|
|
668
|
-
*
|
|
669
|
-
* Returns JSON on success: `{"smiles":"CCO","atom_count":3,"bond_count":2}`.
|
|
670
|
-
* `atom_count` and `bond_count` refer to the heavy-atom skeleton (H removed).
|
|
671
|
-
*
|
|
672
|
-
* Returns JSON on error: `{"error":"molecule has 450 atoms; maximum is 300"}`.
|
|
673
|
-
*
|
|
674
|
-
* Safe: never freezes. All internal loops are O(n²). Capped at 300 atoms.
|
|
675
|
-
*/
|
|
676
|
-
export function determine_bonds_from_xyz_json(xyz_str: string): string;
|
|
677
|
-
|
|
678
714
|
/**
|
|
679
715
|
* Dice similarity between `a` and `b` using ECFP4 fingerprints.
|
|
680
716
|
*/
|
|
@@ -805,6 +841,19 @@ export function find_reaction_center_json(reaction_smiles: string): string;
|
|
|
805
841
|
*/
|
|
806
842
|
export function gasteiger_charges_json(mol: MolHandle): string;
|
|
807
843
|
|
|
844
|
+
/**
|
|
845
|
+
* Generate 3D coordinates as raw JSON array [[x,y,z], ...].
|
|
846
|
+
*
|
|
847
|
+
* Unlike `generate_3d_pdb`, this returns coordinates that can be passed
|
|
848
|
+
* to descriptor functions like `whim_descriptors_json` or `shape_descriptors_json`.
|
|
849
|
+
*/
|
|
850
|
+
export function generate_3d_coords_json(mol: MolHandle): string;
|
|
851
|
+
|
|
852
|
+
/**
|
|
853
|
+
* Generate 3D coordinates using ETKDG as raw JSON array [[x,y,z], ...].
|
|
854
|
+
*/
|
|
855
|
+
export function generate_3d_etkdg_coords_json(mol: MolHandle): string;
|
|
856
|
+
|
|
808
857
|
/**
|
|
809
858
|
* Generate 3D coordinates using ETKDG and minimize with DREIDING force field.
|
|
810
859
|
*/
|
|
@@ -941,13 +990,33 @@ export function get_descriptors_json(mol: MolHandle): string;
|
|
|
941
990
|
export function get_dihedral_json(smiles: string, a: number, b: number, c: number, d: number): any;
|
|
942
991
|
|
|
943
992
|
/**
|
|
944
|
-
* Compute GETAWAY descriptors (
|
|
945
|
-
*
|
|
946
|
-
*
|
|
947
|
-
*
|
|
993
|
+
* Compute GETAWAY descriptors (GEometry, Topology and Atom-Weights AssemblY) from 3D coords.
|
|
994
|
+
*
|
|
995
|
+
* Returns a JSON array of **19** values:
|
|
996
|
+
* - `[0..7]` H[1..8] — leverage autocorrelation at topological lags 1–8
|
|
997
|
+
* - `[8..15]` R[1..8] — H[k] normalised by pair count W_k
|
|
998
|
+
* - `[16]` Hmax, `[17]` Hmean, `[18]` Htot — per-atom leverage statistics
|
|
999
|
+
*
|
|
1000
|
+
* Note: requires 3D coordinates (non-planar); for flat/2D structures the hat matrix
|
|
1001
|
+
* is degenerate and descriptors reflect squared centroid distances, not true leverage.
|
|
948
1002
|
*/
|
|
949
1003
|
export function getaway_descriptors_json(mol: MolHandle): string;
|
|
950
1004
|
|
|
1005
|
+
/**
|
|
1006
|
+
* Parse a ChemDraw XML (CDXML) string into a `MolHandle`.
|
|
1007
|
+
*
|
|
1008
|
+
* Compute an HDF fingerprint and return it as a JSON array of float32 values.
|
|
1009
|
+
*
|
|
1010
|
+
* Returns a unit-norm vector of length `dim` as a JSON number array.
|
|
1011
|
+
* Use cosine dot product for similarity: `a · b = sum(a[i]*b[i])`.
|
|
1012
|
+
*
|
|
1013
|
+
* ```js
|
|
1014
|
+
* const fp = JSON.parse(hdf_json(mol)); // float[] of length 1024
|
|
1015
|
+
* const sim = fp.reduce((s, v, i) => s + v * fp2[i], 0); // cosine similarity
|
|
1016
|
+
* ```
|
|
1017
|
+
*/
|
|
1018
|
+
export function hdf_json(mol: MolHandle, dim: number, radius: number, seed: bigint): string;
|
|
1019
|
+
|
|
951
1020
|
/**
|
|
952
1021
|
* Identify functional groups. Returns a JSON array of objects:
|
|
953
1022
|
* `[{"atoms":[0,2,3],"type":"C,N,O"}, …]`
|
|
@@ -1036,6 +1105,16 @@ export function maxmin_picks_ecfp4_json(smiles_json: string, n: number): string;
|
|
|
1036
1105
|
*/
|
|
1037
1106
|
export function mcs_smiles_json(smiles_json: string): string;
|
|
1038
1107
|
|
|
1108
|
+
/**
|
|
1109
|
+
* MCS with ring-awareness constraints.
|
|
1110
|
+
*
|
|
1111
|
+
* `smiles_json` — JSON array of at least 2 SMILES strings.
|
|
1112
|
+
* `ring_matches_ring_only` — ring atoms may only match ring atoms.
|
|
1113
|
+
* `complete_rings_only` — partial ring inclusion is removed from the result.
|
|
1114
|
+
* Returns the MCS SMILES, or `"null"` when no common substructure was found.
|
|
1115
|
+
*/
|
|
1116
|
+
export function mcs_smiles_json_with_ring_config(smiles_json: string, ring_matches_ring_only: boolean, complete_rings_only: boolean): string;
|
|
1117
|
+
|
|
1039
1118
|
/**
|
|
1040
1119
|
* MinHash fingerprint (128 hashes) as JSON.
|
|
1041
1120
|
*
|
|
@@ -1071,6 +1150,17 @@ export function minimize_mmff94_json(mol: MolHandle, max_iter: number): string;
|
|
|
1071
1150
|
*/
|
|
1072
1151
|
export function minimize_mmff94_lbfgs_json(mol: MolHandle, max_iter: number): string;
|
|
1073
1152
|
|
|
1153
|
+
/**
|
|
1154
|
+
* Minimise a molecule's geometry using the Universal Force Field (UFF).
|
|
1155
|
+
*
|
|
1156
|
+
* `coords_json` — JSON array of `[x,y,z]` arrays (Å), one per atom.
|
|
1157
|
+
* `max_iter` — maximum iterations (0 = default 500).
|
|
1158
|
+
*
|
|
1159
|
+
* Returns JSON: `{"coords":[[x,y,z],...], "energy":float, "iterations":int, "converged":bool}`
|
|
1160
|
+
* or `{"error":"<msg>"}` on failure.
|
|
1161
|
+
*/
|
|
1162
|
+
export function minimize_uff_json(smiles: string, coords_json: string, max_iter: number): string;
|
|
1163
|
+
|
|
1074
1164
|
/**
|
|
1075
1165
|
* MMFF94 partial charges (BCI table, ±0.1e accuracy) as a JSON array of f64.
|
|
1076
1166
|
*
|
|
@@ -1148,8 +1238,6 @@ export function mol_block_coords_json(mol_block: string): string;
|
|
|
1148
1238
|
export function mol_block_from_smiles(smiles: string): string;
|
|
1149
1239
|
|
|
1150
1240
|
/**
|
|
1151
|
-
* Parse a ChemDraw XML (CDXML) string into a `MolHandle`.
|
|
1152
|
-
*
|
|
1153
1241
|
* Only the first molecular fragment in the document is returned.
|
|
1154
1242
|
* Returns a JS error if the document cannot be parsed.
|
|
1155
1243
|
*/
|
|
@@ -1162,6 +1250,14 @@ export function mol_from_cdxml(cdxml: string): MolHandle;
|
|
|
1162
1250
|
*/
|
|
1163
1251
|
export function mol_from_cml(cml: string): MolHandle;
|
|
1164
1252
|
|
|
1253
|
+
/**
|
|
1254
|
+
* Parse a MolJSON string into a `MolHandle`.
|
|
1255
|
+
*
|
|
1256
|
+
* MolJSON is a JSON-based molecular representation designed for LLM
|
|
1257
|
+
* (large language model) compatibility. Returns a JS error on invalid input.
|
|
1258
|
+
*/
|
|
1259
|
+
export function mol_from_moljson(json: string): MolHandle;
|
|
1260
|
+
|
|
1165
1261
|
/**
|
|
1166
1262
|
* Parse a PDB file and return a `MolHandle` (topology only; coordinates are discarded).
|
|
1167
1263
|
*
|
|
@@ -1357,6 +1453,15 @@ export function pharmacophore_fp_2d_summary(mol: MolHandle): string;
|
|
|
1357
1453
|
*/
|
|
1358
1454
|
export function pharmacophore_fp_3d_summary(mol: MolHandle): string;
|
|
1359
1455
|
|
|
1456
|
+
/**
|
|
1457
|
+
* Predict pKa for all ionizable sites in a molecule.
|
|
1458
|
+
*
|
|
1459
|
+
* Returns a JSON array: `[{"atom_idx":8,"pka":4.0,"type":"acid","group":"carboxylic_acid"},...]`
|
|
1460
|
+
*
|
|
1461
|
+
* Returns `[]` if no ionizable sites are found, or `{"error":"..."}` on parse failure.
|
|
1462
|
+
*/
|
|
1463
|
+
export function predict_pka_json(smiles: string): string;
|
|
1464
|
+
|
|
1360
1465
|
/**
|
|
1361
1466
|
* Generate `count` random SMILES from a SMILES string using the given seed.
|
|
1362
1467
|
* Atoms are permuted based on xorshift64 RNG. Each variant should parse back
|
|
@@ -1409,15 +1514,6 @@ export function rgroup_decompose_json(smiles_json: string, core_smarts: string):
|
|
|
1409
1514
|
*/
|
|
1410
1515
|
export function ring_families_json(mol: MolHandle): string;
|
|
1411
1516
|
|
|
1412
|
-
/**
|
|
1413
|
-
* Run molecular dynamics simulation and return trajectory as JSON.
|
|
1414
|
-
*
|
|
1415
|
-
* Returns JSON object with trajectory frames: `{ "frames": [{ "step": N, "potential": E, "kinetic": K, "temp": T }, …] }`
|
|
1416
|
-
* Uses NVT ensemble (Berendsen thermostat) at 300 K by default.
|
|
1417
|
-
* Note: Limited to molecules with ~50 atoms or fewer for practical WASM performance.
|
|
1418
|
-
*/
|
|
1419
|
-
export function run_md_json(mol: MolHandle, steps: number, temp_k: number): string;
|
|
1420
|
-
|
|
1421
1517
|
/**
|
|
1422
1518
|
* Apply a SMIRKS reaction template and return product SMILES as a JSON string.
|
|
1423
1519
|
*
|
|
@@ -1551,6 +1647,17 @@ export function smiles_array_to_sdf(smiles_json: string): string;
|
|
|
1551
1647
|
*/
|
|
1552
1648
|
export function smiles_to_mol2(smiles: string): string;
|
|
1553
1649
|
|
|
1650
|
+
/**
|
|
1651
|
+
* Write a molecule to AutoDock PDBQT format.
|
|
1652
|
+
*
|
|
1653
|
+
* `coords_json` — JSON array of `[x,y,z]` arrays (Å). Pass `"[]"` for zero coords.
|
|
1654
|
+
* `charges_json` — JSON array of partial charges. Pass `"[]"` to write zeros.
|
|
1655
|
+
* `name` — ligand name for the REMARK header.
|
|
1656
|
+
*
|
|
1657
|
+
* Returns the PDBQT string, or `"error:<msg>"` on failure.
|
|
1658
|
+
*/
|
|
1659
|
+
export function smiles_to_pdbqt(smiles: string, coords_json: string, charges_json: string, name: string): string;
|
|
1660
|
+
|
|
1554
1661
|
/**
|
|
1555
1662
|
* Render a highlighted SVG from a SMILES string in one call.
|
|
1556
1663
|
*
|
|
@@ -1676,6 +1783,14 @@ export function to_mol_block(mol: MolHandle): string;
|
|
|
1676
1783
|
*/
|
|
1677
1784
|
export function to_mol_v3000_block(mol: MolHandle): string;
|
|
1678
1785
|
|
|
1786
|
+
/**
|
|
1787
|
+
* Serialise a `MolHandle` to a MolJSON string (pretty-printed).
|
|
1788
|
+
*
|
|
1789
|
+
* Atom IDs are assigned as `"a1"`, `"a2"`, … in molecule atom order.
|
|
1790
|
+
* The `hydrogens` field reflects computed implicit H count.
|
|
1791
|
+
*/
|
|
1792
|
+
export function to_moljson(mol: MolHandle): string;
|
|
1793
|
+
|
|
1679
1794
|
/**
|
|
1680
1795
|
* Serialize a molecule to XYZ format.
|
|
1681
1796
|
*
|
|
@@ -1688,12 +1803,6 @@ export function to_xyz(mol: MolHandle): string;
|
|
|
1688
1803
|
*/
|
|
1689
1804
|
export function torsion_bitvec(mol: MolHandle): Uint8Array;
|
|
1690
1805
|
|
|
1691
|
-
/**
|
|
1692
|
-
* Scan a torsion dihedral i-j-k-l from 0° to 360° in `steps` increments.
|
|
1693
|
-
* Returns JSON array: [{"angle":0.0,"energy":E},...] or {"error":"..."}.
|
|
1694
|
-
*/
|
|
1695
|
-
export function torsion_scan_json(mol: MolHandle, i: number, j: number, k: number, l: number, steps: number): string;
|
|
1696
|
-
|
|
1697
1806
|
/**
|
|
1698
1807
|
* Virtual screen a query SMILES against a database of SMILES using ECFP4 Tanimoto.
|
|
1699
1808
|
*
|
|
@@ -1707,14 +1816,15 @@ export function virtual_screen_ecfp4_json(query_smi: string, db_smiles_json: str
|
|
|
1707
1816
|
|
|
1708
1817
|
/**
|
|
1709
1818
|
* Compute WHIM descriptors (Weighted Holistic Invariant Molecular) from 3D coordinates.
|
|
1710
|
-
* Returns JSON array of
|
|
1711
|
-
*
|
|
1712
|
-
* BETA = average pairwise interaction, GAMMA = geometric mean, DELTA = anisotropy.
|
|
1819
|
+
* Returns JSON array of 22 values: 11 unit-weight descriptors followed by 11 mass-weight
|
|
1820
|
+
* descriptors. Each 11-element block is [λ₁, λ₂, λ₃, ν₁, ν₂, ν₃, T, A, V, K, D].
|
|
1713
1821
|
*/
|
|
1714
1822
|
export function whim_descriptors_json(mol: MolHandle): string;
|
|
1715
1823
|
|
|
1716
1824
|
/**
|
|
1717
|
-
* Compute combined WHIM + GETAWAY descriptors (
|
|
1825
|
+
* Compute combined WHIM + GETAWAY descriptors (**41** values total) as JSON array.
|
|
1826
|
+
*
|
|
1827
|
+
* Returns WHIM[0..21] (22 values) followed by GETAWAY[0..18] (19 values) = 41 total.
|
|
1718
1828
|
* Useful for ML pipelines requiring both shape and topologic features.
|
|
1719
1829
|
*/
|
|
1720
1830
|
export function whim_getaway_combined_json(mol: MolHandle): string;
|
|
@@ -1728,6 +1838,18 @@ export function whim_getaway_combined_json(mol: MolHandle): string;
|
|
|
1728
1838
|
*/
|
|
1729
1839
|
export function write_smiles(mol: MolHandle): string;
|
|
1730
1840
|
|
|
1841
|
+
/**
|
|
1842
|
+
* XLogP3 partition coefficient (alternative to Crippen LogP).
|
|
1843
|
+
* Returns JSON: `{"xlogp3": float}`.
|
|
1844
|
+
*/
|
|
1845
|
+
export function xlogp3_json(mol: MolHandle): string;
|
|
1846
|
+
|
|
1847
|
+
/**
|
|
1848
|
+
* Per-atom XLogP3 contributions.
|
|
1849
|
+
* Returns JSON array of floats (one per heavy atom).
|
|
1850
|
+
*/
|
|
1851
|
+
export function xlogp3_per_atom_json(mol: MolHandle): string;
|
|
1852
|
+
|
|
1731
1853
|
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
1732
1854
|
|
|
1733
1855
|
export interface InitOutput {
|
|
@@ -1737,10 +1859,13 @@ export interface InitOutput {
|
|
|
1737
1859
|
readonly __wbg_mhfplshhandle_free: (a: number, b: number) => void;
|
|
1738
1860
|
readonly __wbg_molhandle_free: (a: number, b: number) => void;
|
|
1739
1861
|
readonly add_hydrogens: (a: number) => number;
|
|
1862
|
+
readonly admet_profile_json: (a: number, b: number) => [number, number];
|
|
1740
1863
|
readonly atom_pair_bitvec: (a: number) => [number, number];
|
|
1741
1864
|
readonly autocorr_2d_json: (a: number) => [number, number];
|
|
1742
1865
|
readonly autocorr_3d_json: (a: number) => [number, number];
|
|
1743
1866
|
readonly balance_check_json: (a: number, b: number) => [number, number];
|
|
1867
|
+
readonly batch_report_html: (a: number, b: number) => [number, number];
|
|
1868
|
+
readonly boiled_egg_json: (a: number, b: number) => [number, number];
|
|
1744
1869
|
readonly brics_fragment_count: (a: number) => number;
|
|
1745
1870
|
readonly brics_fragments_json: (a: number) => [number, number];
|
|
1746
1871
|
readonly butina_cluster_ecfp4_json: (a: number, b: number, c: number) => [number, number, number, number];
|
|
@@ -1748,6 +1873,9 @@ export interface InitOutput {
|
|
|
1748
1873
|
readonly canonical_tautomer_with_blocked_atoms_json: (a: number, b: number, c: number) => [number, number];
|
|
1749
1874
|
readonly cdxml_to_smiles_json: (a: number, b: number) => [number, number, number, number];
|
|
1750
1875
|
readonly cip_assignments_json: (a: number) => [number, number];
|
|
1876
|
+
readonly compare_molecules_batch_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1877
|
+
readonly compare_molecules_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1878
|
+
readonly conformer_ensemble_json: (a: number, b: number, c: number) => [number, number];
|
|
1751
1879
|
readonly conformerhandle_add_generated_conformer: (a: number) => number;
|
|
1752
1880
|
readonly conformerhandle_add_minimized_conformer: (a: number) => number;
|
|
1753
1881
|
readonly conformerhandle_cluster_conformers_json: (a: number, b: number) => [number, number];
|
|
@@ -1758,7 +1886,6 @@ export interface InitOutput {
|
|
|
1758
1886
|
readonly conformerhandle_mol: (a: number) => number;
|
|
1759
1887
|
readonly conformerhandle_new: (a: number, b: number) => [number, number, number];
|
|
1760
1888
|
readonly conformerhandle_remove_conformer: (a: number, b: number) => number;
|
|
1761
|
-
readonly coulomb_energy_json: (a: number) => [number, number];
|
|
1762
1889
|
readonly cpk_color: (a: number, b: number) => [number, number];
|
|
1763
1890
|
readonly depict_data_json: (a: number) => [number, number];
|
|
1764
1891
|
readonly depict_data_with_coords_json: (a: number, b: number, c: number) => [number, number];
|
|
@@ -1779,7 +1906,6 @@ export interface InitOutput {
|
|
|
1779
1906
|
readonly depictoptions_set_show_atom_indices: (a: number, b: number) => void;
|
|
1780
1907
|
readonly depictoptions_set_width: (a: number, b: number) => void;
|
|
1781
1908
|
readonly detect_functional_groups: (a: number) => [number, number];
|
|
1782
|
-
readonly determine_bonds_from_xyz_json: (a: number, b: number) => [number, number];
|
|
1783
1909
|
readonly dice_ecfp4: (a: number, b: number) => number;
|
|
1784
1910
|
readonly dice_ecfp6: (a: number, b: number) => number;
|
|
1785
1911
|
readonly dice_maccs: (a: number, b: number) => number;
|
|
@@ -1797,9 +1923,13 @@ export interface InitOutput {
|
|
|
1797
1923
|
readonly fcfp6_bitvec: (a: number) => [number, number];
|
|
1798
1924
|
readonly find_reaction_center_json: (a: number, b: number) => [number, number];
|
|
1799
1925
|
readonly gasteiger_charges_json: (a: number) => [number, number];
|
|
1926
|
+
readonly generate_3d_coords_json: (a: number) => [number, number];
|
|
1927
|
+
readonly generate_3d_etkdg_coords_json: (a: number) => [number, number];
|
|
1800
1928
|
readonly generate_3d_etkdg_minimized_pdb: (a: number) => [number, number];
|
|
1801
1929
|
readonly generate_3d_etkdg_pdb: (a: number) => [number, number];
|
|
1930
|
+
readonly generate_3d_from_smiles: (a: number, b: number) => [number, number, number, number];
|
|
1802
1931
|
readonly generate_3d_minimized_pdb: (a: number) => [number, number];
|
|
1932
|
+
readonly generate_3d_optimized_pdb: (a: number, b: number) => [number, number, number, number];
|
|
1803
1933
|
readonly generate_3d_pdb: (a: number) => [number, number];
|
|
1804
1934
|
readonly generic_murcko_scaffold: (a: number) => number;
|
|
1805
1935
|
readonly get_atom_info: (a: number, b: number) => [number, number];
|
|
@@ -1809,6 +1939,7 @@ export interface InitOutput {
|
|
|
1809
1939
|
readonly get_descriptors_json: (a: number) => [number, number];
|
|
1810
1940
|
readonly get_dihedral_json: (a: number, b: number, c: number, d: number, e: number, f: number) => any;
|
|
1811
1941
|
readonly getaway_descriptors_json: (a: number) => [number, number];
|
|
1942
|
+
readonly hdf_json: (a: number, b: number, c: number, d: bigint) => [number, number];
|
|
1812
1943
|
readonly identify_functional_groups: (a: number) => [number, number];
|
|
1813
1944
|
readonly inchi_from_smiles: (a: number, b: number) => [number, number];
|
|
1814
1945
|
readonly inchikey_from_smiles: (a: number, b: number) => [number, number];
|
|
@@ -1821,6 +1952,7 @@ export interface InitOutput {
|
|
|
1821
1952
|
readonly match_smarts_smiles: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1822
1953
|
readonly maxmin_picks_ecfp4_json: (a: number, b: number, c: number) => [number, number, number, number];
|
|
1823
1954
|
readonly mcs_smiles_json: (a: number, b: number) => [number, number, number, number];
|
|
1955
|
+
readonly mcs_smiles_json_with_ring_config: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1824
1956
|
readonly mhfp_hashes_json: (a: number) => [number, number];
|
|
1825
1957
|
readonly mhfplshhandle_add_smiles: (a: number, b: number, c: number) => [number, number, number];
|
|
1826
1958
|
readonly mhfplshhandle_is_empty: (a: number) => number;
|
|
@@ -1830,6 +1962,7 @@ export interface InitOutput {
|
|
|
1830
1962
|
readonly minimize_dreiding_json: (a: number) => [number, number];
|
|
1831
1963
|
readonly minimize_mmff94_json: (a: number, b: number) => [number, number];
|
|
1832
1964
|
readonly minimize_mmff94_lbfgs_json: (a: number, b: number) => [number, number];
|
|
1965
|
+
readonly minimize_uff_json: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
1833
1966
|
readonly mmff94_charges_json: (a: number) => [number, number];
|
|
1834
1967
|
readonly mmff94_charges_typed_json: (a: number) => [number, number];
|
|
1835
1968
|
readonly mmff94_energy_breakdown_json: (a: number) => [number, number];
|
|
@@ -1840,6 +1973,7 @@ export interface InitOutput {
|
|
|
1840
1973
|
readonly mol_block_from_smiles: (a: number, b: number) => [number, number, number, number];
|
|
1841
1974
|
readonly mol_from_cdxml: (a: number, b: number) => [number, number, number];
|
|
1842
1975
|
readonly mol_from_cml: (a: number, b: number) => [number, number, number];
|
|
1976
|
+
readonly mol_from_moljson: (a: number, b: number) => [number, number, number];
|
|
1843
1977
|
readonly mol_from_pdb: (a: number, b: number) => number;
|
|
1844
1978
|
readonly mol_from_sdf_block: (a: number, b: number) => [number, number, number];
|
|
1845
1979
|
readonly mol_from_v3000_block: (a: number, b: number) => [number, number, number];
|
|
@@ -1851,10 +1985,14 @@ export interface InitOutput {
|
|
|
1851
1985
|
readonly mol_with_atom_removed: (a: number, b: number) => [number, number, number];
|
|
1852
1986
|
readonly mol_with_bond_added: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
1853
1987
|
readonly mol_with_bond_removed: (a: number, b: number) => [number, number, number];
|
|
1988
|
+
readonly molecule_report_json: (a: number, b: number) => [number, number, number, number];
|
|
1854
1989
|
readonly molhandle_aromatic_ring_count: (a: number) => number;
|
|
1855
1990
|
readonly molhandle_assign_cip_json: (a: number) => [number, number];
|
|
1991
|
+
readonly molhandle_bbb_passes: (a: number) => number;
|
|
1992
|
+
readonly molhandle_bbb_score: (a: number) => number;
|
|
1856
1993
|
readonly molhandle_bertz_ct: (a: number) => number;
|
|
1857
1994
|
readonly molhandle_bond_count: (a: number) => number;
|
|
1995
|
+
readonly molhandle_caco2_permeability: (a: number) => number;
|
|
1858
1996
|
readonly molhandle_canonical_smiles: (a: number) => [number, number];
|
|
1859
1997
|
readonly molhandle_chi0: (a: number) => number;
|
|
1860
1998
|
readonly molhandle_chi0v: (a: number) => number;
|
|
@@ -1866,6 +2004,7 @@ export interface InitOutput {
|
|
|
1866
2004
|
readonly molhandle_chi3v: (a: number) => number;
|
|
1867
2005
|
readonly molhandle_chi4: (a: number) => number;
|
|
1868
2006
|
readonly molhandle_chi4v: (a: number) => number;
|
|
2007
|
+
readonly molhandle_cyp3a4_inhibition_risk: (a: number) => number;
|
|
1869
2008
|
readonly molhandle_depict_png: (a: number) => [number, number];
|
|
1870
2009
|
readonly molhandle_depict_svg: (a: number) => [number, number];
|
|
1871
2010
|
readonly molhandle_depict_svg_opts: (a: number, b: number) => [number, number];
|
|
@@ -1878,6 +2017,7 @@ export interface InitOutput {
|
|
|
1878
2017
|
readonly molhandle_hba_count: (a: number) => number;
|
|
1879
2018
|
readonly molhandle_hbd_count: (a: number) => number;
|
|
1880
2019
|
readonly molhandle_heavy_atom_count: (a: number) => number;
|
|
2020
|
+
readonly molhandle_herg_risk_score: (a: number) => number;
|
|
1881
2021
|
readonly molhandle_isotope_distribution_json: (a: number, b: number) => [number, number];
|
|
1882
2022
|
readonly molhandle_iupac_name: (a: number) => [number, number];
|
|
1883
2023
|
readonly molhandle_kappa1: (a: number) => number;
|
|
@@ -1904,6 +2044,8 @@ export interface InitOutput {
|
|
|
1904
2044
|
readonly molhandle_num_stereocenters: (a: number) => number;
|
|
1905
2045
|
readonly molhandle_num_unspecified_stereocenters: (a: number) => number;
|
|
1906
2046
|
readonly molhandle_pains_passes: (a: number) => number;
|
|
2047
|
+
readonly molhandle_pka_acid_value: (a: number) => number;
|
|
2048
|
+
readonly molhandle_pka_base_value: (a: number) => number;
|
|
1907
2049
|
readonly molhandle_qed: (a: number) => number;
|
|
1908
2050
|
readonly molhandle_randic_index: (a: number) => number;
|
|
1909
2051
|
readonly molhandle_reos_passes: (a: number) => number;
|
|
@@ -1931,13 +2073,14 @@ export interface InitOutput {
|
|
|
1931
2073
|
readonly pharmacophore_features_json: (a: number) => [number, number];
|
|
1932
2074
|
readonly pharmacophore_fp_2d_summary: (a: number) => [number, number];
|
|
1933
2075
|
readonly pharmacophore_fp_3d_summary: (a: number) => [number, number];
|
|
2076
|
+
readonly predict_pka_json: (a: number, b: number) => [number, number];
|
|
1934
2077
|
readonly random_smiles_json: (a: number, b: number, c: number, d: bigint) => [number, number, number, number];
|
|
1935
2078
|
readonly remove_hydrogens: (a: number) => number;
|
|
1936
2079
|
readonly rgroup_decompose_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1937
2080
|
readonly ring_families_json: (a: number) => [number, number, number, number];
|
|
1938
|
-
readonly run_md_json: (a: number, b: number, c: number) => [number, number];
|
|
1939
2081
|
readonly run_reactants: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1940
2082
|
readonly sa_score: (a: number) => number;
|
|
2083
|
+
readonly screen_smiles_json: (a: number, b: number, c: number, d: number) => [number, number];
|
|
1941
2084
|
readonly sdf_from_records_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
1942
2085
|
readonly sdf_to_records_json: (a: number, b: number) => [number, number];
|
|
1943
2086
|
readonly sdf_to_smiles_json: (a: number, b: number) => [number, number];
|
|
@@ -1948,6 +2091,7 @@ export interface InitOutput {
|
|
|
1948
2091
|
readonly smarts_match_atoms_with_chirality: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1949
2092
|
readonly smiles_array_to_sdf: (a: number, b: number) => [number, number, number, number];
|
|
1950
2093
|
readonly smiles_to_mol2: (a: number, b: number) => [number, number];
|
|
2094
|
+
readonly smiles_to_pdbqt: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
1951
2095
|
readonly smiles_to_svg_highlighted: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
1952
2096
|
readonly smr_vsa_json: (a: number) => [number, number];
|
|
1953
2097
|
readonly sssr_rings_json: (a: number) => [number, number];
|
|
@@ -1967,27 +2111,21 @@ export interface InitOutput {
|
|
|
1967
2111
|
readonly to_cml: (a: number) => [number, number];
|
|
1968
2112
|
readonly to_mol_block: (a: number) => [number, number];
|
|
1969
2113
|
readonly to_mol_v3000_block: (a: number) => [number, number];
|
|
2114
|
+
readonly to_moljson: (a: number) => [number, number];
|
|
1970
2115
|
readonly to_xyz: (a: number) => [number, number];
|
|
1971
2116
|
readonly torsion_bitvec: (a: number) => [number, number];
|
|
1972
|
-
readonly torsion_scan_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
1973
2117
|
readonly virtual_screen_ecfp4_json: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
1974
2118
|
readonly whim_descriptors_json: (a: number) => [number, number];
|
|
1975
2119
|
readonly whim_getaway_combined_json: (a: number) => [number, number];
|
|
1976
2120
|
readonly write_smiles: (a: number) => [number, number];
|
|
1977
|
-
readonly
|
|
2121
|
+
readonly xlogp3_json: (a: number) => [number, number];
|
|
2122
|
+
readonly xlogp3_per_atom_json: (a: number) => [number, number];
|
|
1978
2123
|
readonly molhandle_atom_count: (a: number) => number;
|
|
1979
|
-
readonly
|
|
1980
|
-
readonly compare_molecules_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1981
|
-
readonly generate_3d_from_smiles: (a: number, b: number) => [number, number, number, number];
|
|
1982
|
-
readonly generate_3d_optimized_pdb: (a: number, b: number) => [number, number, number, number];
|
|
1983
|
-
readonly molecule_report_json: (a: number, b: number) => [number, number, number, number];
|
|
1984
|
-
readonly screen_smiles_json: (a: number, b: number, c: number, d: number) => [number, number];
|
|
2124
|
+
readonly start: () => void;
|
|
1985
2125
|
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
1986
2126
|
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
1987
|
-
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
1988
|
-
readonly __wbindgen_exn_store: (a: number) => void;
|
|
1989
|
-
readonly __externref_table_alloc: () => number;
|
|
1990
2127
|
readonly __wbindgen_externrefs: WebAssembly.Table;
|
|
2128
|
+
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
1991
2129
|
readonly __externref_table_dealloc: (a: number) => void;
|
|
1992
2130
|
readonly __wbindgen_start: () => void;
|
|
1993
2131
|
}
|