@kent-tokyo/chematic 1.1.3 → 1.1.5
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 +1 -1
- package/chematic_wasm.d.ts +115 -0
- package/chematic_wasm.js +424 -0
- package/chematic_wasm_bg.wasm +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ WebAssembly bindings for [chematic](https://github.com/kent-tokyo/chematic), a p
|
|
|
4
4
|
|
|
5
5
|
Published to npm as [`@kent-tokyo/chematic`](https://www.npmjs.com/package/@kent-tokyo/chematic).
|
|
6
6
|
|
|
7
|
-
The current workspace line is 1.1.
|
|
7
|
+
The current workspace line is 1.1.5. The binding keeps bounded parsing,
|
|
8
8
|
typed failures, and opt-in `embed_pipeline_v2_json`; 3D/MMFF94 behavior remains
|
|
9
9
|
Experimental and is not a claim of full RDKit parity.
|
|
10
10
|
|
package/chematic_wasm.d.ts
CHANGED
|
@@ -454,6 +454,18 @@ export class MolHandle {
|
|
|
454
454
|
* weights use zero-based molecule atom order.
|
|
455
455
|
*/
|
|
456
456
|
rdkit_align_json(probe_coords_json: string, reference_coords_json: string, atom_map_json: string | null | undefined, weights_json: string | null | undefined, reflect: boolean, max_iterations: number): string;
|
|
457
|
+
/**
|
|
458
|
+
* RDKit `GetAllConformerBestRMS` as a JSON number array in
|
|
459
|
+
* `(1,0), (2,0), (2,1), ...` order. Atom mappings are computed once for
|
|
460
|
+
* the entire batch.
|
|
461
|
+
*/
|
|
462
|
+
rdkit_all_conformer_best_rms_json(conformers_json: string, max_matches: number, symmetrize: boolean, weights_json?: string | null): string;
|
|
463
|
+
/**
|
|
464
|
+
* RDKit 2026.09.1 `GetAllConformerBestRMSToRef` as a JSON number array
|
|
465
|
+
* in reference-major order. Atom mappings are computed once for the
|
|
466
|
+
* entire Cartesian product.
|
|
467
|
+
*/
|
|
468
|
+
rdkit_all_conformer_best_rms_to_reference_json(reference: MolHandle, probe_conformers_json: string, reference_conformers_json: string, max_matches: number, symmetrize: boolean, weights_json?: string | null): string;
|
|
457
469
|
/**
|
|
458
470
|
* RDKit `GetBestAlignmentTransform` as JSON, bounded by `max_matches`.
|
|
459
471
|
*/
|
|
@@ -468,6 +480,15 @@ export class MolHandle {
|
|
|
468
480
|
* diagonal and lower bounds below it. At most 512 atoms are accepted.
|
|
469
481
|
*/
|
|
470
482
|
rdkit_bounds_matrix_json(set15bounds: boolean, do_triangle_smoothing: boolean, use_macrocycle_14_config: boolean): string;
|
|
483
|
+
/**
|
|
484
|
+
* Distance-geometry bounds with user bond-length, angle and torsion
|
|
485
|
+
* constraints injected before triangle smoothing.
|
|
486
|
+
*
|
|
487
|
+
* `constraintsJson` contains optional camelCase arrays `bondLengths`,
|
|
488
|
+
* `bondAngles`, and `torsions`; atom indices are zero based. Lengths use
|
|
489
|
+
* angstrom and angles use degrees.
|
|
490
|
+
*/
|
|
491
|
+
rdkit_bounds_matrix_with_constraints_json(constraints_json: string, set15bounds: boolean, do_triangle_smoothing: boolean, use_macrocycle_14_config: boolean): string;
|
|
471
492
|
/**
|
|
472
493
|
* RDKit `CalcRMS`, bounded by `max_matches <= 1_000_000`.
|
|
473
494
|
*/
|
|
@@ -480,11 +501,21 @@ export class MolHandle {
|
|
|
480
501
|
* RDKit-compatible CXSMARTS.
|
|
481
502
|
*/
|
|
482
503
|
rdkit_cx_smarts(): string;
|
|
504
|
+
/**
|
|
505
|
+
* Checked 3D matrix in prepared RDKit atom order. JSON has one [x,y,z]
|
|
506
|
+
* row per prepared atom; malformed/nonfinite/unrepresentable input refuses.
|
|
507
|
+
*/
|
|
508
|
+
rdkit_distance_matrix_3d_checked_json(coords_json: string, use_atom_wts: boolean): string;
|
|
483
509
|
/**
|
|
484
510
|
* Seeded RDKit ETKDGv3 coordinates as JSON. Call on an
|
|
485
511
|
* explicit-hydrogen molecule. At most 512 atoms are accepted.
|
|
486
512
|
*/
|
|
487
513
|
rdkit_embed_json(random_seed: number, max_iterations: number): string;
|
|
514
|
+
/**
|
|
515
|
+
* Seeded ETKDG embedding using constraints injected before triangle
|
|
516
|
+
* smoothing. Returns one `[x,y,z]` row per atom as JSON.
|
|
517
|
+
*/
|
|
518
|
+
rdkit_embed_with_constraints_json(constraints_json: string, random_seed: number, max_iterations: number): string;
|
|
488
519
|
/**
|
|
489
520
|
* RDKit MolHash by case-insensitive function name.
|
|
490
521
|
*/
|
|
@@ -1261,6 +1292,18 @@ export function erg_vec_json(mol: MolHandle): string;
|
|
|
1261
1292
|
*/
|
|
1262
1293
|
export function estate_indices_json(mol: MolHandle): string;
|
|
1263
1294
|
|
|
1295
|
+
/**
|
|
1296
|
+
* Decode an RDKit atom code as stable JSON.
|
|
1297
|
+
*
|
|
1298
|
+
* Returns `{"symbol":"C","branchCount":3,"piElectronCount":1}`.
|
|
1299
|
+
*/
|
|
1300
|
+
export function explain_rdkit_atom_code_json(code: number): string;
|
|
1301
|
+
|
|
1302
|
+
/**
|
|
1303
|
+
* Decode a decimal legacy RDKit torsion code as stable JSON.
|
|
1304
|
+
*/
|
|
1305
|
+
export function explain_rdkit_topological_torsion_code_json(code_decimal: string, size: number): string;
|
|
1306
|
+
|
|
1264
1307
|
/**
|
|
1265
1308
|
* Extract an extxyz frame's coordinates, cell, per-atom properties and
|
|
1266
1309
|
* frame metadata as JSON, in the SAME atom order [`mol_from_extxyz`]
|
|
@@ -1955,6 +1998,12 @@ export function mol_block_stereo_diagnostics_json(mol_block: string): string;
|
|
|
1955
1998
|
*/
|
|
1956
1999
|
export function mol_block_stereo_loss_json(mol: MolHandle): string;
|
|
1957
2000
|
|
|
2001
|
+
/**
|
|
2002
|
+
* Project explicit CCD topology. Unassigned stereo annotations require
|
|
2003
|
+
* explicit loss consent; coordinates remain in parse_ccd_json's record.
|
|
2004
|
+
*/
|
|
2005
|
+
export function mol_from_ccd(text: string, allow_stereo_loss: boolean): MolHandle;
|
|
2006
|
+
|
|
1958
2007
|
/**
|
|
1959
2008
|
* Only the first molecular fragment in the document is returned.
|
|
1960
2009
|
* Returns a JS error if the document cannot be parsed.
|
|
@@ -2297,6 +2346,12 @@ export function orca_output_to_json(text: string): string;
|
|
|
2297
2346
|
*/
|
|
2298
2347
|
export function pains_matches_json(mol: MolHandle): string;
|
|
2299
2348
|
|
|
2349
|
+
/**
|
|
2350
|
+
* One CCD template including source IDs, charges, explicit bonds, optional
|
|
2351
|
+
* coordinates and unassigned stereo labels. No atom_site bond perception.
|
|
2352
|
+
*/
|
|
2353
|
+
export function parse_ccd_json(text: string): string;
|
|
2354
|
+
|
|
2300
2355
|
/**
|
|
2301
2356
|
* Inspect strictly validated CJSON with exact source and opaque field paths.
|
|
2302
2357
|
*/
|
|
@@ -2318,6 +2373,11 @@ export function parse_cxsmarts_json(s: string): string;
|
|
|
2318
2373
|
*/
|
|
2319
2374
|
export function parse_cxsmiles_json(s: string): string;
|
|
2320
2375
|
|
|
2376
|
+
/**
|
|
2377
|
+
* Inspect the bounded HIN record, including literal aromatic bonds and charges.
|
|
2378
|
+
*/
|
|
2379
|
+
export function parse_hin_record_json(text: string): string;
|
|
2380
|
+
|
|
2321
2381
|
/**
|
|
2322
2382
|
* Inspect partial charges, atom types and source retention for MOL2.
|
|
2323
2383
|
*/
|
|
@@ -2444,6 +2504,17 @@ export function preflight_smiles_json(smiles: string, width: number, height: num
|
|
|
2444
2504
|
*/
|
|
2445
2505
|
export function prepare_rdkit_ecfp4(mol: MolHandle): PreparedRdkitEcfp4Handle;
|
|
2446
2506
|
|
|
2507
|
+
/**
|
|
2508
|
+
* Amino-acid-only mmCIF projection in the same schema as
|
|
2509
|
+
* [`protein_from_pdb_json`].
|
|
2510
|
+
*/
|
|
2511
|
+
export function protein_from_mmcif_json(text: string): string;
|
|
2512
|
+
|
|
2513
|
+
/**
|
|
2514
|
+
* Amino-acid-only PDB projection as stable JSON.
|
|
2515
|
+
*/
|
|
2516
|
+
export function protein_from_pdb_json(text: string): string;
|
|
2517
|
+
|
|
2447
2518
|
/**
|
|
2448
2519
|
* Coordinates (Å) plus molecular charge/multiplicity from a QCSchema
|
|
2449
2520
|
* `qcschema_molecule` document, in the SAME atom order
|
|
@@ -2490,6 +2561,14 @@ export function qcschema_validate_atomic_result(json: string): string;
|
|
|
2490
2561
|
*/
|
|
2491
2562
|
export function random_smiles_json(smiles: string, count: number, seed: bigint): string;
|
|
2492
2563
|
|
|
2564
|
+
/**
|
|
2565
|
+
* RDKit atom-pair atom code for one atom.
|
|
2566
|
+
*
|
|
2567
|
+
* `branch_subtract` is normally 0 for atom-pair diagnostics, 1 for a
|
|
2568
|
+
* torsion endpoint, and 2 for an interior torsion atom.
|
|
2569
|
+
*/
|
|
2570
|
+
export function rdkit_atom_code(mol: MolHandle, atom_index: number, branch_subtract: number): number;
|
|
2571
|
+
|
|
2493
2572
|
/**
|
|
2494
2573
|
* RDKit-bit-exact ECFP4 (radius=2, 2048 bits, `useChirality=false`, `useBondTypes=true`,
|
|
2495
2574
|
* RDKit's default atom invariant) as a bit-packed byte vector (256 bytes = 2048 bits).
|
|
@@ -2590,6 +2669,21 @@ export function rdkit_path_bitvec(mol: MolHandle): Uint8Array;
|
|
|
2590
2669
|
*/
|
|
2591
2670
|
export function rdkit_rdk_bitvec(mol: MolHandle): Uint8Array;
|
|
2592
2671
|
|
|
2672
|
+
/**
|
|
2673
|
+
* RDKit 2026.09.1 RDKFingerprint with `ignoreAtoms`: every branched path
|
|
2674
|
+
* containing one of `ignored_atoms` is excluded. Invalid indices return a JS
|
|
2675
|
+
* error; an empty list is bit-identical to [`rdkit_rdk_bitvec`].
|
|
2676
|
+
*/
|
|
2677
|
+
export function rdkit_rdk_bitvec_ignoring_atoms(mol: MolHandle, ignored_atoms: Uint32Array): Uint8Array;
|
|
2678
|
+
|
|
2679
|
+
/**
|
|
2680
|
+
* Pack a JSON array of atom indices into RDKit's legacy torsion code.
|
|
2681
|
+
*
|
|
2682
|
+
* The decimal string return type avoids losing precision in JavaScript's
|
|
2683
|
+
* `number` type for codes above 2^53.
|
|
2684
|
+
*/
|
|
2685
|
+
export function rdkit_topological_torsion_path_code_decimal(mol: MolHandle, path_json: string): string;
|
|
2686
|
+
|
|
2593
2687
|
/**
|
|
2594
2688
|
* Compute the opt-in RDKit-compatible hashed topological-torsion fingerprint
|
|
2595
2689
|
* as a bit-packed byte vector (256 bytes = 2048 bits). This remains separate
|
|
@@ -2699,6 +2793,11 @@ export function ring_families_json(mol: MolHandle): string;
|
|
|
2699
2793
|
*/
|
|
2700
2794
|
export function roundtrip_cjson_record(text: string): string;
|
|
2701
2795
|
|
|
2796
|
+
/**
|
|
2797
|
+
* Validate a single HIN record and retain exact source text and line endings.
|
|
2798
|
+
*/
|
|
2799
|
+
export function roundtrip_hin_record(text: string): string;
|
|
2800
|
+
|
|
2702
2801
|
/**
|
|
2703
2802
|
* Validate one MOL2 record and preserve its exact source, including metadata.
|
|
2704
2803
|
*/
|
|
@@ -3427,6 +3526,8 @@ export interface InitOutput {
|
|
|
3427
3526
|
readonly enumerate_tautomers_json: (a: number) => [number, number];
|
|
3428
3527
|
readonly erg_vec_json: (a: number) => [number, number];
|
|
3429
3528
|
readonly estate_indices_json: (a: number) => [number, number];
|
|
3529
|
+
readonly explain_rdkit_atom_code_json: (a: number) => [number, number];
|
|
3530
|
+
readonly explain_rdkit_topological_torsion_code_json: (a: number, b: number, c: number) => [number, number, number, number];
|
|
3430
3531
|
readonly extxyz_frame_json: (a: number, b: number) => [number, number, number, number];
|
|
3431
3532
|
readonly extxyz_frames_batch_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
3432
3533
|
readonly fcfp4_bitvec: (a: number) => [number, number];
|
|
@@ -3501,6 +3602,7 @@ export interface InitOutput {
|
|
|
3501
3602
|
readonly mol_block_from_smiles: (a: number, b: number) => [number, number, number, number];
|
|
3502
3603
|
readonly mol_block_stereo_diagnostics_json: (a: number, b: number) => [number, number, number, number];
|
|
3503
3604
|
readonly mol_block_stereo_loss_json: (a: number) => [number, number];
|
|
3605
|
+
readonly mol_from_ccd: (a: number, b: number, c: number) => [number, number, number];
|
|
3504
3606
|
readonly mol_from_cdxml: (a: number, b: number) => [number, number, number];
|
|
3505
3607
|
readonly mol_from_cjson: (a: number, b: number) => [number, number, number];
|
|
3506
3608
|
readonly mol_from_cml: (a: number, b: number) => [number, number, number];
|
|
@@ -3597,13 +3699,18 @@ export interface InitOutput {
|
|
|
3597
3699
|
readonly molhandle_qed: (a: number) => number;
|
|
3598
3700
|
readonly molhandle_randic_index: (a: number) => number;
|
|
3599
3701
|
readonly molhandle_rdkit_align_json: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => [number, number, number, number];
|
|
3702
|
+
readonly molhandle_rdkit_all_conformer_best_rms_json: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
3703
|
+
readonly molhandle_rdkit_all_conformer_best_rms_to_reference_json: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
|
|
3600
3704
|
readonly molhandle_rdkit_best_alignment_json: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
|
|
3601
3705
|
readonly molhandle_rdkit_best_rms: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number];
|
|
3602
3706
|
readonly molhandle_rdkit_bounds_matrix_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
3707
|
+
readonly molhandle_rdkit_bounds_matrix_with_constraints_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
3603
3708
|
readonly molhandle_rdkit_calc_rms: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number];
|
|
3604
3709
|
readonly molhandle_rdkit_chiral_centers_json: (a: number, b: number) => [number, number, number, number];
|
|
3605
3710
|
readonly molhandle_rdkit_cx_smarts: (a: number) => [number, number, number, number];
|
|
3711
|
+
readonly molhandle_rdkit_distance_matrix_3d_checked_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
3606
3712
|
readonly molhandle_rdkit_embed_json: (a: number, b: number, c: number) => [number, number, number, number];
|
|
3713
|
+
readonly molhandle_rdkit_embed_with_constraints_json: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
3607
3714
|
readonly molhandle_rdkit_mol_hash: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
3608
3715
|
readonly molhandle_rdkit_morgan_bit_info_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
3609
3716
|
readonly molhandle_rdkit_murcko_scaffold: (a: number) => [number, number, number, number];
|
|
@@ -3638,9 +3745,11 @@ export interface InitOutput {
|
|
|
3638
3745
|
readonly orca_input_to_json: (a: number, b: number) => [number, number, number, number];
|
|
3639
3746
|
readonly orca_output_to_json: (a: number, b: number) => [number, number, number, number];
|
|
3640
3747
|
readonly pains_matches_json: (a: number) => [number, number];
|
|
3748
|
+
readonly parse_ccd_json: (a: number, b: number) => [number, number, number, number];
|
|
3641
3749
|
readonly parse_cjson_record_json: (a: number, b: number) => [number, number, number, number];
|
|
3642
3750
|
readonly parse_cxsmarts_json: (a: number, b: number) => [number, number, number, number];
|
|
3643
3751
|
readonly parse_cxsmiles_json: (a: number, b: number) => [number, number, number, number];
|
|
3752
|
+
readonly parse_hin_record_json: (a: number, b: number) => [number, number, number, number];
|
|
3644
3753
|
readonly parse_mol2_record_json: (a: number, b: number) => [number, number, number, number];
|
|
3645
3754
|
readonly parse_smiles: (a: number, b: number) => [number, number, number];
|
|
3646
3755
|
readonly pdb_coords_json: (a: number, b: number) => [number, number];
|
|
@@ -3657,10 +3766,13 @@ export interface InitOutput {
|
|
|
3657
3766
|
readonly preflight_smiles_json: (a: number, b: number, c: number, d: number) => [number, number];
|
|
3658
3767
|
readonly prepare_rdkit_ecfp4: (a: number) => [number, number, number];
|
|
3659
3768
|
readonly preparedrdkitecfp4handle_bitvec: (a: number) => [number, number];
|
|
3769
|
+
readonly protein_from_mmcif_json: (a: number, b: number) => [number, number, number, number];
|
|
3770
|
+
readonly protein_from_pdb_json: (a: number, b: number) => [number, number, number, number];
|
|
3660
3771
|
readonly qcschema_molecule_coords_json: (a: number, b: number) => [number, number, number, number];
|
|
3661
3772
|
readonly qcschema_validate_atomic_input: (a: number, b: number) => [number, number, number, number];
|
|
3662
3773
|
readonly qcschema_validate_atomic_result: (a: number, b: number) => [number, number, number, number];
|
|
3663
3774
|
readonly random_smiles_json: (a: number, b: number, c: number, d: bigint) => [number, number, number, number];
|
|
3775
|
+
readonly rdkit_atom_code: (a: number, b: number, c: number) => [number, number, number];
|
|
3664
3776
|
readonly rdkit_ecfp4_bitvec: (a: number) => [number, number, number, number];
|
|
3665
3777
|
readonly rdkit_ecfp4_detail_json: (a: number) => [number, number, number, number];
|
|
3666
3778
|
readonly rdkit_ecfp_config_bitvec: (a: number, b: number, c: number) => [number, number, number, number];
|
|
@@ -3673,6 +3785,8 @@ export interface InitOutput {
|
|
|
3673
3785
|
readonly rdkit_nearest_neighbors_json: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
3674
3786
|
readonly rdkit_path_bitvec: (a: number) => [number, number];
|
|
3675
3787
|
readonly rdkit_rdk_bitvec: (a: number) => [number, number];
|
|
3788
|
+
readonly rdkit_rdk_bitvec_ignoring_atoms: (a: number, b: number, c: number) => [number, number, number, number];
|
|
3789
|
+
readonly rdkit_topological_torsion_path_code_decimal: (a: number, b: number, c: number) => [number, number, number, number];
|
|
3676
3790
|
readonly rdkit_torsion_bitvec: (a: number) => [number, number];
|
|
3677
3791
|
readonly rdkitreadresult_coords_json: (a: number) => [number, number, number, number];
|
|
3678
3792
|
readonly rdkitreadresult_molecule: (a: number) => number;
|
|
@@ -3692,6 +3806,7 @@ export interface InitOutput {
|
|
|
3692
3806
|
readonly rgroup_decompose_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
3693
3807
|
readonly ring_families_json: (a: number) => [number, number, number, number];
|
|
3694
3808
|
readonly roundtrip_cjson_record: (a: number, b: number) => [number, number, number, number];
|
|
3809
|
+
readonly roundtrip_hin_record: (a: number, b: number) => [number, number, number, number];
|
|
3695
3810
|
readonly roundtrip_mol2_record: (a: number, b: number) => [number, number, number, number];
|
|
3696
3811
|
readonly roundtrip_mol_v3000_block: (a: number, b: number) => [number, number, number, number];
|
|
3697
3812
|
readonly run_reactants: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
package/chematic_wasm.js
CHANGED
|
@@ -1092,6 +1092,75 @@ export class MolHandle {
|
|
|
1092
1092
|
wasm.__wbindgen_free(deferred6_0, deferred6_1, 1);
|
|
1093
1093
|
}
|
|
1094
1094
|
}
|
|
1095
|
+
/**
|
|
1096
|
+
* RDKit `GetAllConformerBestRMS` as a JSON number array in
|
|
1097
|
+
* `(1,0), (2,0), (2,1), ...` order. Atom mappings are computed once for
|
|
1098
|
+
* the entire batch.
|
|
1099
|
+
* @param {string} conformers_json
|
|
1100
|
+
* @param {number} max_matches
|
|
1101
|
+
* @param {boolean} symmetrize
|
|
1102
|
+
* @param {string | null} [weights_json]
|
|
1103
|
+
* @returns {string}
|
|
1104
|
+
*/
|
|
1105
|
+
rdkit_all_conformer_best_rms_json(conformers_json, max_matches, symmetrize, weights_json) {
|
|
1106
|
+
let deferred4_0;
|
|
1107
|
+
let deferred4_1;
|
|
1108
|
+
try {
|
|
1109
|
+
const ptr0 = passStringToWasm0(conformers_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1110
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1111
|
+
var ptr1 = isLikeNone(weights_json) ? 0 : passStringToWasm0(weights_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1112
|
+
var len1 = WASM_VECTOR_LEN;
|
|
1113
|
+
const ret = wasm.molhandle_rdkit_all_conformer_best_rms_json(this.__wbg_ptr, ptr0, len0, max_matches, symmetrize, ptr1, len1);
|
|
1114
|
+
var ptr3 = ret[0];
|
|
1115
|
+
var len3 = ret[1];
|
|
1116
|
+
if (ret[3]) {
|
|
1117
|
+
ptr3 = 0; len3 = 0;
|
|
1118
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
1119
|
+
}
|
|
1120
|
+
deferred4_0 = ptr3;
|
|
1121
|
+
deferred4_1 = len3;
|
|
1122
|
+
return getStringFromWasm0(ptr3, len3);
|
|
1123
|
+
} finally {
|
|
1124
|
+
wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1127
|
+
/**
|
|
1128
|
+
* RDKit 2026.09.1 `GetAllConformerBestRMSToRef` as a JSON number array
|
|
1129
|
+
* in reference-major order. Atom mappings are computed once for the
|
|
1130
|
+
* entire Cartesian product.
|
|
1131
|
+
* @param {MolHandle} reference
|
|
1132
|
+
* @param {string} probe_conformers_json
|
|
1133
|
+
* @param {string} reference_conformers_json
|
|
1134
|
+
* @param {number} max_matches
|
|
1135
|
+
* @param {boolean} symmetrize
|
|
1136
|
+
* @param {string | null} [weights_json]
|
|
1137
|
+
* @returns {string}
|
|
1138
|
+
*/
|
|
1139
|
+
rdkit_all_conformer_best_rms_to_reference_json(reference, probe_conformers_json, reference_conformers_json, max_matches, symmetrize, weights_json) {
|
|
1140
|
+
let deferred5_0;
|
|
1141
|
+
let deferred5_1;
|
|
1142
|
+
try {
|
|
1143
|
+
_assertClass(reference, MolHandle);
|
|
1144
|
+
const ptr0 = passStringToWasm0(probe_conformers_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1145
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1146
|
+
const ptr1 = passStringToWasm0(reference_conformers_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1147
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1148
|
+
var ptr2 = isLikeNone(weights_json) ? 0 : passStringToWasm0(weights_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1149
|
+
var len2 = WASM_VECTOR_LEN;
|
|
1150
|
+
const ret = wasm.molhandle_rdkit_all_conformer_best_rms_to_reference_json(this.__wbg_ptr, reference.__wbg_ptr, ptr0, len0, ptr1, len1, max_matches, symmetrize, ptr2, len2);
|
|
1151
|
+
var ptr4 = ret[0];
|
|
1152
|
+
var len4 = ret[1];
|
|
1153
|
+
if (ret[3]) {
|
|
1154
|
+
ptr4 = 0; len4 = 0;
|
|
1155
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
1156
|
+
}
|
|
1157
|
+
deferred5_0 = ptr4;
|
|
1158
|
+
deferred5_1 = len4;
|
|
1159
|
+
return getStringFromWasm0(ptr4, len4);
|
|
1160
|
+
} finally {
|
|
1161
|
+
wasm.__wbindgen_free(deferred5_0, deferred5_1, 1);
|
|
1162
|
+
}
|
|
1163
|
+
}
|
|
1095
1164
|
/**
|
|
1096
1165
|
* RDKit `GetBestAlignmentTransform` as JSON, bounded by `max_matches`.
|
|
1097
1166
|
* @param {string} probe_coords_json
|
|
@@ -1174,6 +1243,39 @@ export class MolHandle {
|
|
|
1174
1243
|
wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
|
|
1175
1244
|
}
|
|
1176
1245
|
}
|
|
1246
|
+
/**
|
|
1247
|
+
* Distance-geometry bounds with user bond-length, angle and torsion
|
|
1248
|
+
* constraints injected before triangle smoothing.
|
|
1249
|
+
*
|
|
1250
|
+
* `constraintsJson` contains optional camelCase arrays `bondLengths`,
|
|
1251
|
+
* `bondAngles`, and `torsions`; atom indices are zero based. Lengths use
|
|
1252
|
+
* angstrom and angles use degrees.
|
|
1253
|
+
* @param {string} constraints_json
|
|
1254
|
+
* @param {boolean} set15bounds
|
|
1255
|
+
* @param {boolean} do_triangle_smoothing
|
|
1256
|
+
* @param {boolean} use_macrocycle_14_config
|
|
1257
|
+
* @returns {string}
|
|
1258
|
+
*/
|
|
1259
|
+
rdkit_bounds_matrix_with_constraints_json(constraints_json, set15bounds, do_triangle_smoothing, use_macrocycle_14_config) {
|
|
1260
|
+
let deferred3_0;
|
|
1261
|
+
let deferred3_1;
|
|
1262
|
+
try {
|
|
1263
|
+
const ptr0 = passStringToWasm0(constraints_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1264
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1265
|
+
const ret = wasm.molhandle_rdkit_bounds_matrix_with_constraints_json(this.__wbg_ptr, ptr0, len0, set15bounds, do_triangle_smoothing, use_macrocycle_14_config);
|
|
1266
|
+
var ptr2 = ret[0];
|
|
1267
|
+
var len2 = ret[1];
|
|
1268
|
+
if (ret[3]) {
|
|
1269
|
+
ptr2 = 0; len2 = 0;
|
|
1270
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
1271
|
+
}
|
|
1272
|
+
deferred3_0 = ptr2;
|
|
1273
|
+
deferred3_1 = len2;
|
|
1274
|
+
return getStringFromWasm0(ptr2, len2);
|
|
1275
|
+
} finally {
|
|
1276
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
1277
|
+
}
|
|
1278
|
+
}
|
|
1177
1279
|
/**
|
|
1178
1280
|
* RDKit `CalcRMS`, bounded by `max_matches <= 1_000_000`.
|
|
1179
1281
|
* @param {string} probe_coords_json
|
|
@@ -1241,6 +1343,33 @@ export class MolHandle {
|
|
|
1241
1343
|
wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
|
|
1242
1344
|
}
|
|
1243
1345
|
}
|
|
1346
|
+
/**
|
|
1347
|
+
* Checked 3D matrix in prepared RDKit atom order. JSON has one [x,y,z]
|
|
1348
|
+
* row per prepared atom; malformed/nonfinite/unrepresentable input refuses.
|
|
1349
|
+
* @param {string} coords_json
|
|
1350
|
+
* @param {boolean} use_atom_wts
|
|
1351
|
+
* @returns {string}
|
|
1352
|
+
*/
|
|
1353
|
+
rdkit_distance_matrix_3d_checked_json(coords_json, use_atom_wts) {
|
|
1354
|
+
let deferred3_0;
|
|
1355
|
+
let deferred3_1;
|
|
1356
|
+
try {
|
|
1357
|
+
const ptr0 = passStringToWasm0(coords_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1358
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1359
|
+
const ret = wasm.molhandle_rdkit_distance_matrix_3d_checked_json(this.__wbg_ptr, ptr0, len0, use_atom_wts);
|
|
1360
|
+
var ptr2 = ret[0];
|
|
1361
|
+
var len2 = ret[1];
|
|
1362
|
+
if (ret[3]) {
|
|
1363
|
+
ptr2 = 0; len2 = 0;
|
|
1364
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
1365
|
+
}
|
|
1366
|
+
deferred3_0 = ptr2;
|
|
1367
|
+
deferred3_1 = len2;
|
|
1368
|
+
return getStringFromWasm0(ptr2, len2);
|
|
1369
|
+
} finally {
|
|
1370
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
1371
|
+
}
|
|
1372
|
+
}
|
|
1244
1373
|
/**
|
|
1245
1374
|
* Seeded RDKit ETKDGv3 coordinates as JSON. Call on an
|
|
1246
1375
|
* explicit-hydrogen molecule. At most 512 atoms are accepted.
|
|
@@ -1266,6 +1395,34 @@ export class MolHandle {
|
|
|
1266
1395
|
wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
|
|
1267
1396
|
}
|
|
1268
1397
|
}
|
|
1398
|
+
/**
|
|
1399
|
+
* Seeded ETKDG embedding using constraints injected before triangle
|
|
1400
|
+
* smoothing. Returns one `[x,y,z]` row per atom as JSON.
|
|
1401
|
+
* @param {string} constraints_json
|
|
1402
|
+
* @param {number} random_seed
|
|
1403
|
+
* @param {number} max_iterations
|
|
1404
|
+
* @returns {string}
|
|
1405
|
+
*/
|
|
1406
|
+
rdkit_embed_with_constraints_json(constraints_json, random_seed, max_iterations) {
|
|
1407
|
+
let deferred3_0;
|
|
1408
|
+
let deferred3_1;
|
|
1409
|
+
try {
|
|
1410
|
+
const ptr0 = passStringToWasm0(constraints_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1411
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1412
|
+
const ret = wasm.molhandle_rdkit_embed_with_constraints_json(this.__wbg_ptr, ptr0, len0, random_seed, max_iterations);
|
|
1413
|
+
var ptr2 = ret[0];
|
|
1414
|
+
var len2 = ret[1];
|
|
1415
|
+
if (ret[3]) {
|
|
1416
|
+
ptr2 = 0; len2 = 0;
|
|
1417
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
1418
|
+
}
|
|
1419
|
+
deferred3_0 = ptr2;
|
|
1420
|
+
deferred3_1 = len2;
|
|
1421
|
+
return getStringFromWasm0(ptr2, len2);
|
|
1422
|
+
} finally {
|
|
1423
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
1424
|
+
}
|
|
1425
|
+
}
|
|
1269
1426
|
/**
|
|
1270
1427
|
* RDKit MolHash by case-insensitive function name.
|
|
1271
1428
|
* @param {string} _function
|
|
@@ -3496,6 +3653,53 @@ export function estate_indices_json(mol) {
|
|
|
3496
3653
|
}
|
|
3497
3654
|
}
|
|
3498
3655
|
|
|
3656
|
+
/**
|
|
3657
|
+
* Decode an RDKit atom code as stable JSON.
|
|
3658
|
+
*
|
|
3659
|
+
* Returns `{"symbol":"C","branchCount":3,"piElectronCount":1}`.
|
|
3660
|
+
* @param {number} code
|
|
3661
|
+
* @returns {string}
|
|
3662
|
+
*/
|
|
3663
|
+
export function explain_rdkit_atom_code_json(code) {
|
|
3664
|
+
let deferred1_0;
|
|
3665
|
+
let deferred1_1;
|
|
3666
|
+
try {
|
|
3667
|
+
const ret = wasm.explain_rdkit_atom_code_json(code);
|
|
3668
|
+
deferred1_0 = ret[0];
|
|
3669
|
+
deferred1_1 = ret[1];
|
|
3670
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
3671
|
+
} finally {
|
|
3672
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
3673
|
+
}
|
|
3674
|
+
}
|
|
3675
|
+
|
|
3676
|
+
/**
|
|
3677
|
+
* Decode a decimal legacy RDKit torsion code as stable JSON.
|
|
3678
|
+
* @param {string} code_decimal
|
|
3679
|
+
* @param {number} size
|
|
3680
|
+
* @returns {string}
|
|
3681
|
+
*/
|
|
3682
|
+
export function explain_rdkit_topological_torsion_code_json(code_decimal, size) {
|
|
3683
|
+
let deferred3_0;
|
|
3684
|
+
let deferred3_1;
|
|
3685
|
+
try {
|
|
3686
|
+
const ptr0 = passStringToWasm0(code_decimal, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
3687
|
+
const len0 = WASM_VECTOR_LEN;
|
|
3688
|
+
const ret = wasm.explain_rdkit_topological_torsion_code_json(ptr0, len0, size);
|
|
3689
|
+
var ptr2 = ret[0];
|
|
3690
|
+
var len2 = ret[1];
|
|
3691
|
+
if (ret[3]) {
|
|
3692
|
+
ptr2 = 0; len2 = 0;
|
|
3693
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
3694
|
+
}
|
|
3695
|
+
deferred3_0 = ptr2;
|
|
3696
|
+
deferred3_1 = len2;
|
|
3697
|
+
return getStringFromWasm0(ptr2, len2);
|
|
3698
|
+
} finally {
|
|
3699
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
3700
|
+
}
|
|
3701
|
+
}
|
|
3702
|
+
|
|
3499
3703
|
/**
|
|
3500
3704
|
* Extract an extxyz frame's coordinates, cell, per-atom properties and
|
|
3501
3705
|
* frame metadata as JSON, in the SAME atom order [`mol_from_extxyz`]
|
|
@@ -5270,6 +5474,23 @@ export function mol_block_stereo_loss_json(mol) {
|
|
|
5270
5474
|
}
|
|
5271
5475
|
}
|
|
5272
5476
|
|
|
5477
|
+
/**
|
|
5478
|
+
* Project explicit CCD topology. Unassigned stereo annotations require
|
|
5479
|
+
* explicit loss consent; coordinates remain in parse_ccd_json's record.
|
|
5480
|
+
* @param {string} text
|
|
5481
|
+
* @param {boolean} allow_stereo_loss
|
|
5482
|
+
* @returns {MolHandle}
|
|
5483
|
+
*/
|
|
5484
|
+
export function mol_from_ccd(text, allow_stereo_loss) {
|
|
5485
|
+
const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
5486
|
+
const len0 = WASM_VECTOR_LEN;
|
|
5487
|
+
const ret = wasm.mol_from_ccd(ptr0, len0, allow_stereo_loss);
|
|
5488
|
+
if (ret[2]) {
|
|
5489
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
5490
|
+
}
|
|
5491
|
+
return MolHandle.__wrap(ret[0]);
|
|
5492
|
+
}
|
|
5493
|
+
|
|
5273
5494
|
/**
|
|
5274
5495
|
* Only the first molecular fragment in the document is returned.
|
|
5275
5496
|
* Returns a JS error if the document cannot be parsed.
|
|
@@ -6160,6 +6381,33 @@ export function pains_matches_json(mol) {
|
|
|
6160
6381
|
}
|
|
6161
6382
|
}
|
|
6162
6383
|
|
|
6384
|
+
/**
|
|
6385
|
+
* One CCD template including source IDs, charges, explicit bonds, optional
|
|
6386
|
+
* coordinates and unassigned stereo labels. No atom_site bond perception.
|
|
6387
|
+
* @param {string} text
|
|
6388
|
+
* @returns {string}
|
|
6389
|
+
*/
|
|
6390
|
+
export function parse_ccd_json(text) {
|
|
6391
|
+
let deferred3_0;
|
|
6392
|
+
let deferred3_1;
|
|
6393
|
+
try {
|
|
6394
|
+
const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
6395
|
+
const len0 = WASM_VECTOR_LEN;
|
|
6396
|
+
const ret = wasm.parse_ccd_json(ptr0, len0);
|
|
6397
|
+
var ptr2 = ret[0];
|
|
6398
|
+
var len2 = ret[1];
|
|
6399
|
+
if (ret[3]) {
|
|
6400
|
+
ptr2 = 0; len2 = 0;
|
|
6401
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
6402
|
+
}
|
|
6403
|
+
deferred3_0 = ptr2;
|
|
6404
|
+
deferred3_1 = len2;
|
|
6405
|
+
return getStringFromWasm0(ptr2, len2);
|
|
6406
|
+
} finally {
|
|
6407
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
6408
|
+
}
|
|
6409
|
+
}
|
|
6410
|
+
|
|
6163
6411
|
/**
|
|
6164
6412
|
* Inspect strictly validated CJSON with exact source and opaque field paths.
|
|
6165
6413
|
* @param {string} text
|
|
@@ -6244,6 +6492,32 @@ export function parse_cxsmiles_json(s) {
|
|
|
6244
6492
|
}
|
|
6245
6493
|
}
|
|
6246
6494
|
|
|
6495
|
+
/**
|
|
6496
|
+
* Inspect the bounded HIN record, including literal aromatic bonds and charges.
|
|
6497
|
+
* @param {string} text
|
|
6498
|
+
* @returns {string}
|
|
6499
|
+
*/
|
|
6500
|
+
export function parse_hin_record_json(text) {
|
|
6501
|
+
let deferred3_0;
|
|
6502
|
+
let deferred3_1;
|
|
6503
|
+
try {
|
|
6504
|
+
const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
6505
|
+
const len0 = WASM_VECTOR_LEN;
|
|
6506
|
+
const ret = wasm.parse_hin_record_json(ptr0, len0);
|
|
6507
|
+
var ptr2 = ret[0];
|
|
6508
|
+
var len2 = ret[1];
|
|
6509
|
+
if (ret[3]) {
|
|
6510
|
+
ptr2 = 0; len2 = 0;
|
|
6511
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
6512
|
+
}
|
|
6513
|
+
deferred3_0 = ptr2;
|
|
6514
|
+
deferred3_1 = len2;
|
|
6515
|
+
return getStringFromWasm0(ptr2, len2);
|
|
6516
|
+
} finally {
|
|
6517
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
6518
|
+
}
|
|
6519
|
+
}
|
|
6520
|
+
|
|
6247
6521
|
/**
|
|
6248
6522
|
* Inspect partial charges, atom types and source retention for MOL2.
|
|
6249
6523
|
* @param {string} text
|
|
@@ -6609,6 +6883,59 @@ export function prepare_rdkit_ecfp4(mol) {
|
|
|
6609
6883
|
return PreparedRdkitEcfp4Handle.__wrap(ret[0]);
|
|
6610
6884
|
}
|
|
6611
6885
|
|
|
6886
|
+
/**
|
|
6887
|
+
* Amino-acid-only mmCIF projection in the same schema as
|
|
6888
|
+
* [`protein_from_pdb_json`].
|
|
6889
|
+
* @param {string} text
|
|
6890
|
+
* @returns {string}
|
|
6891
|
+
*/
|
|
6892
|
+
export function protein_from_mmcif_json(text) {
|
|
6893
|
+
let deferred3_0;
|
|
6894
|
+
let deferred3_1;
|
|
6895
|
+
try {
|
|
6896
|
+
const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
6897
|
+
const len0 = WASM_VECTOR_LEN;
|
|
6898
|
+
const ret = wasm.protein_from_mmcif_json(ptr0, len0);
|
|
6899
|
+
var ptr2 = ret[0];
|
|
6900
|
+
var len2 = ret[1];
|
|
6901
|
+
if (ret[3]) {
|
|
6902
|
+
ptr2 = 0; len2 = 0;
|
|
6903
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
6904
|
+
}
|
|
6905
|
+
deferred3_0 = ptr2;
|
|
6906
|
+
deferred3_1 = len2;
|
|
6907
|
+
return getStringFromWasm0(ptr2, len2);
|
|
6908
|
+
} finally {
|
|
6909
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
6910
|
+
}
|
|
6911
|
+
}
|
|
6912
|
+
|
|
6913
|
+
/**
|
|
6914
|
+
* Amino-acid-only PDB projection as stable JSON.
|
|
6915
|
+
* @param {string} text
|
|
6916
|
+
* @returns {string}
|
|
6917
|
+
*/
|
|
6918
|
+
export function protein_from_pdb_json(text) {
|
|
6919
|
+
let deferred3_0;
|
|
6920
|
+
let deferred3_1;
|
|
6921
|
+
try {
|
|
6922
|
+
const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
6923
|
+
const len0 = WASM_VECTOR_LEN;
|
|
6924
|
+
const ret = wasm.protein_from_pdb_json(ptr0, len0);
|
|
6925
|
+
var ptr2 = ret[0];
|
|
6926
|
+
var len2 = ret[1];
|
|
6927
|
+
if (ret[3]) {
|
|
6928
|
+
ptr2 = 0; len2 = 0;
|
|
6929
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
6930
|
+
}
|
|
6931
|
+
deferred3_0 = ptr2;
|
|
6932
|
+
deferred3_1 = len2;
|
|
6933
|
+
return getStringFromWasm0(ptr2, len2);
|
|
6934
|
+
} finally {
|
|
6935
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
6936
|
+
}
|
|
6937
|
+
}
|
|
6938
|
+
|
|
6612
6939
|
/**
|
|
6613
6940
|
* Coordinates (Å) plus molecular charge/multiplicity from a QCSchema
|
|
6614
6941
|
* `qcschema_molecule` document, in the SAME atom order
|
|
@@ -6741,6 +7068,25 @@ export function random_smiles_json(smiles, count, seed) {
|
|
|
6741
7068
|
}
|
|
6742
7069
|
}
|
|
6743
7070
|
|
|
7071
|
+
/**
|
|
7072
|
+
* RDKit atom-pair atom code for one atom.
|
|
7073
|
+
*
|
|
7074
|
+
* `branch_subtract` is normally 0 for atom-pair diagnostics, 1 for a
|
|
7075
|
+
* torsion endpoint, and 2 for an interior torsion atom.
|
|
7076
|
+
* @param {MolHandle} mol
|
|
7077
|
+
* @param {number} atom_index
|
|
7078
|
+
* @param {number} branch_subtract
|
|
7079
|
+
* @returns {number}
|
|
7080
|
+
*/
|
|
7081
|
+
export function rdkit_atom_code(mol, atom_index, branch_subtract) {
|
|
7082
|
+
_assertClass(mol, MolHandle);
|
|
7083
|
+
const ret = wasm.rdkit_atom_code(mol.__wbg_ptr, atom_index, branch_subtract);
|
|
7084
|
+
if (ret[2]) {
|
|
7085
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
7086
|
+
}
|
|
7087
|
+
return ret[0] >>> 0;
|
|
7088
|
+
}
|
|
7089
|
+
|
|
6744
7090
|
/**
|
|
6745
7091
|
* RDKit-bit-exact ECFP4 (radius=2, 2048 bits, `useChirality=false`, `useBondTypes=true`,
|
|
6746
7092
|
* RDKit's default atom invariant) as a bit-packed byte vector (256 bytes = 2048 bits).
|
|
@@ -7014,6 +7360,58 @@ export function rdkit_rdk_bitvec(mol) {
|
|
|
7014
7360
|
return v1;
|
|
7015
7361
|
}
|
|
7016
7362
|
|
|
7363
|
+
/**
|
|
7364
|
+
* RDKit 2026.09.1 RDKFingerprint with `ignoreAtoms`: every branched path
|
|
7365
|
+
* containing one of `ignored_atoms` is excluded. Invalid indices return a JS
|
|
7366
|
+
* error; an empty list is bit-identical to [`rdkit_rdk_bitvec`].
|
|
7367
|
+
* @param {MolHandle} mol
|
|
7368
|
+
* @param {Uint32Array} ignored_atoms
|
|
7369
|
+
* @returns {Uint8Array}
|
|
7370
|
+
*/
|
|
7371
|
+
export function rdkit_rdk_bitvec_ignoring_atoms(mol, ignored_atoms) {
|
|
7372
|
+
_assertClass(mol, MolHandle);
|
|
7373
|
+
const ptr0 = passArray32ToWasm0(ignored_atoms, wasm.__wbindgen_malloc);
|
|
7374
|
+
const len0 = WASM_VECTOR_LEN;
|
|
7375
|
+
const ret = wasm.rdkit_rdk_bitvec_ignoring_atoms(mol.__wbg_ptr, ptr0, len0);
|
|
7376
|
+
if (ret[3]) {
|
|
7377
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
7378
|
+
}
|
|
7379
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
7380
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
7381
|
+
return v2;
|
|
7382
|
+
}
|
|
7383
|
+
|
|
7384
|
+
/**
|
|
7385
|
+
* Pack a JSON array of atom indices into RDKit's legacy torsion code.
|
|
7386
|
+
*
|
|
7387
|
+
* The decimal string return type avoids losing precision in JavaScript's
|
|
7388
|
+
* `number` type for codes above 2^53.
|
|
7389
|
+
* @param {MolHandle} mol
|
|
7390
|
+
* @param {string} path_json
|
|
7391
|
+
* @returns {string}
|
|
7392
|
+
*/
|
|
7393
|
+
export function rdkit_topological_torsion_path_code_decimal(mol, path_json) {
|
|
7394
|
+
let deferred3_0;
|
|
7395
|
+
let deferred3_1;
|
|
7396
|
+
try {
|
|
7397
|
+
_assertClass(mol, MolHandle);
|
|
7398
|
+
const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
7399
|
+
const len0 = WASM_VECTOR_LEN;
|
|
7400
|
+
const ret = wasm.rdkit_topological_torsion_path_code_decimal(mol.__wbg_ptr, ptr0, len0);
|
|
7401
|
+
var ptr2 = ret[0];
|
|
7402
|
+
var len2 = ret[1];
|
|
7403
|
+
if (ret[3]) {
|
|
7404
|
+
ptr2 = 0; len2 = 0;
|
|
7405
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
7406
|
+
}
|
|
7407
|
+
deferred3_0 = ptr2;
|
|
7408
|
+
deferred3_1 = len2;
|
|
7409
|
+
return getStringFromWasm0(ptr2, len2);
|
|
7410
|
+
} finally {
|
|
7411
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
7412
|
+
}
|
|
7413
|
+
}
|
|
7414
|
+
|
|
7017
7415
|
/**
|
|
7018
7416
|
* Compute the opt-in RDKit-compatible hashed topological-torsion fingerprint
|
|
7019
7417
|
* as a bit-packed byte vector (256 bytes = 2048 bits). This remains separate
|
|
@@ -7305,6 +7703,32 @@ export function roundtrip_cjson_record(text) {
|
|
|
7305
7703
|
}
|
|
7306
7704
|
}
|
|
7307
7705
|
|
|
7706
|
+
/**
|
|
7707
|
+
* Validate a single HIN record and retain exact source text and line endings.
|
|
7708
|
+
* @param {string} text
|
|
7709
|
+
* @returns {string}
|
|
7710
|
+
*/
|
|
7711
|
+
export function roundtrip_hin_record(text) {
|
|
7712
|
+
let deferred3_0;
|
|
7713
|
+
let deferred3_1;
|
|
7714
|
+
try {
|
|
7715
|
+
const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
7716
|
+
const len0 = WASM_VECTOR_LEN;
|
|
7717
|
+
const ret = wasm.roundtrip_hin_record(ptr0, len0);
|
|
7718
|
+
var ptr2 = ret[0];
|
|
7719
|
+
var len2 = ret[1];
|
|
7720
|
+
if (ret[3]) {
|
|
7721
|
+
ptr2 = 0; len2 = 0;
|
|
7722
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
7723
|
+
}
|
|
7724
|
+
deferred3_0 = ptr2;
|
|
7725
|
+
deferred3_1 = len2;
|
|
7726
|
+
return getStringFromWasm0(ptr2, len2);
|
|
7727
|
+
} finally {
|
|
7728
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
7729
|
+
}
|
|
7730
|
+
}
|
|
7731
|
+
|
|
7308
7732
|
/**
|
|
7309
7733
|
* Validate one MOL2 record and preserve its exact source, including metadata.
|
|
7310
7734
|
* @param {string} text
|
package/chematic_wasm_bg.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"Kentaro Tanabe (kent-tokyo) <kent-tokyo@users.noreply.github.com>"
|
|
6
6
|
],
|
|
7
7
|
"description": "WebAssembly bindings for chematic — use chematic from JavaScript/TypeScript",
|
|
8
|
-
"version": "1.1.
|
|
8
|
+
"version": "1.1.5",
|
|
9
9
|
"license": "MIT OR Apache-2.0",
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|