@kent-tokyo/chematic 1.1.3 → 1.1.4
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 +67 -0
- package/chematic_wasm.js +240 -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.4. 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
|
*/
|
|
@@ -1261,6 +1273,18 @@ export function erg_vec_json(mol: MolHandle): string;
|
|
|
1261
1273
|
*/
|
|
1262
1274
|
export function estate_indices_json(mol: MolHandle): string;
|
|
1263
1275
|
|
|
1276
|
+
/**
|
|
1277
|
+
* Decode an RDKit atom code as stable JSON.
|
|
1278
|
+
*
|
|
1279
|
+
* Returns `{"symbol":"C","branchCount":3,"piElectronCount":1}`.
|
|
1280
|
+
*/
|
|
1281
|
+
export function explain_rdkit_atom_code_json(code: number): string;
|
|
1282
|
+
|
|
1283
|
+
/**
|
|
1284
|
+
* Decode a decimal legacy RDKit torsion code as stable JSON.
|
|
1285
|
+
*/
|
|
1286
|
+
export function explain_rdkit_topological_torsion_code_json(code_decimal: string, size: number): string;
|
|
1287
|
+
|
|
1264
1288
|
/**
|
|
1265
1289
|
* Extract an extxyz frame's coordinates, cell, per-atom properties and
|
|
1266
1290
|
* frame metadata as JSON, in the SAME atom order [`mol_from_extxyz`]
|
|
@@ -2444,6 +2468,17 @@ export function preflight_smiles_json(smiles: string, width: number, height: num
|
|
|
2444
2468
|
*/
|
|
2445
2469
|
export function prepare_rdkit_ecfp4(mol: MolHandle): PreparedRdkitEcfp4Handle;
|
|
2446
2470
|
|
|
2471
|
+
/**
|
|
2472
|
+
* Amino-acid-only mmCIF projection in the same schema as
|
|
2473
|
+
* [`protein_from_pdb_json`].
|
|
2474
|
+
*/
|
|
2475
|
+
export function protein_from_mmcif_json(text: string): string;
|
|
2476
|
+
|
|
2477
|
+
/**
|
|
2478
|
+
* Amino-acid-only PDB projection as stable JSON.
|
|
2479
|
+
*/
|
|
2480
|
+
export function protein_from_pdb_json(text: string): string;
|
|
2481
|
+
|
|
2447
2482
|
/**
|
|
2448
2483
|
* Coordinates (Å) plus molecular charge/multiplicity from a QCSchema
|
|
2449
2484
|
* `qcschema_molecule` document, in the SAME atom order
|
|
@@ -2490,6 +2525,14 @@ export function qcschema_validate_atomic_result(json: string): string;
|
|
|
2490
2525
|
*/
|
|
2491
2526
|
export function random_smiles_json(smiles: string, count: number, seed: bigint): string;
|
|
2492
2527
|
|
|
2528
|
+
/**
|
|
2529
|
+
* RDKit atom-pair atom code for one atom.
|
|
2530
|
+
*
|
|
2531
|
+
* `branch_subtract` is normally 0 for atom-pair diagnostics, 1 for a
|
|
2532
|
+
* torsion endpoint, and 2 for an interior torsion atom.
|
|
2533
|
+
*/
|
|
2534
|
+
export function rdkit_atom_code(mol: MolHandle, atom_index: number, branch_subtract: number): number;
|
|
2535
|
+
|
|
2493
2536
|
/**
|
|
2494
2537
|
* RDKit-bit-exact ECFP4 (radius=2, 2048 bits, `useChirality=false`, `useBondTypes=true`,
|
|
2495
2538
|
* RDKit's default atom invariant) as a bit-packed byte vector (256 bytes = 2048 bits).
|
|
@@ -2590,6 +2633,21 @@ export function rdkit_path_bitvec(mol: MolHandle): Uint8Array;
|
|
|
2590
2633
|
*/
|
|
2591
2634
|
export function rdkit_rdk_bitvec(mol: MolHandle): Uint8Array;
|
|
2592
2635
|
|
|
2636
|
+
/**
|
|
2637
|
+
* RDKit 2026.09.1 RDKFingerprint with `ignoreAtoms`: every branched path
|
|
2638
|
+
* containing one of `ignored_atoms` is excluded. Invalid indices return a JS
|
|
2639
|
+
* error; an empty list is bit-identical to [`rdkit_rdk_bitvec`].
|
|
2640
|
+
*/
|
|
2641
|
+
export function rdkit_rdk_bitvec_ignoring_atoms(mol: MolHandle, ignored_atoms: Uint32Array): Uint8Array;
|
|
2642
|
+
|
|
2643
|
+
/**
|
|
2644
|
+
* Pack a JSON array of atom indices into RDKit's legacy torsion code.
|
|
2645
|
+
*
|
|
2646
|
+
* The decimal string return type avoids losing precision in JavaScript's
|
|
2647
|
+
* `number` type for codes above 2^53.
|
|
2648
|
+
*/
|
|
2649
|
+
export function rdkit_topological_torsion_path_code_decimal(mol: MolHandle, path_json: string): string;
|
|
2650
|
+
|
|
2593
2651
|
/**
|
|
2594
2652
|
* Compute the opt-in RDKit-compatible hashed topological-torsion fingerprint
|
|
2595
2653
|
* as a bit-packed byte vector (256 bytes = 2048 bits). This remains separate
|
|
@@ -3427,6 +3485,8 @@ export interface InitOutput {
|
|
|
3427
3485
|
readonly enumerate_tautomers_json: (a: number) => [number, number];
|
|
3428
3486
|
readonly erg_vec_json: (a: number) => [number, number];
|
|
3429
3487
|
readonly estate_indices_json: (a: number) => [number, number];
|
|
3488
|
+
readonly explain_rdkit_atom_code_json: (a: number) => [number, number];
|
|
3489
|
+
readonly explain_rdkit_topological_torsion_code_json: (a: number, b: number, c: number) => [number, number, number, number];
|
|
3430
3490
|
readonly extxyz_frame_json: (a: number, b: number) => [number, number, number, number];
|
|
3431
3491
|
readonly extxyz_frames_batch_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
3432
3492
|
readonly fcfp4_bitvec: (a: number) => [number, number];
|
|
@@ -3597,6 +3657,8 @@ export interface InitOutput {
|
|
|
3597
3657
|
readonly molhandle_qed: (a: number) => number;
|
|
3598
3658
|
readonly molhandle_randic_index: (a: number) => number;
|
|
3599
3659
|
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];
|
|
3660
|
+
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];
|
|
3661
|
+
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
3662
|
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
3663
|
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
3664
|
readonly molhandle_rdkit_bounds_matrix_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
@@ -3657,10 +3719,13 @@ export interface InitOutput {
|
|
|
3657
3719
|
readonly preflight_smiles_json: (a: number, b: number, c: number, d: number) => [number, number];
|
|
3658
3720
|
readonly prepare_rdkit_ecfp4: (a: number) => [number, number, number];
|
|
3659
3721
|
readonly preparedrdkitecfp4handle_bitvec: (a: number) => [number, number];
|
|
3722
|
+
readonly protein_from_mmcif_json: (a: number, b: number) => [number, number, number, number];
|
|
3723
|
+
readonly protein_from_pdb_json: (a: number, b: number) => [number, number, number, number];
|
|
3660
3724
|
readonly qcschema_molecule_coords_json: (a: number, b: number) => [number, number, number, number];
|
|
3661
3725
|
readonly qcschema_validate_atomic_input: (a: number, b: number) => [number, number, number, number];
|
|
3662
3726
|
readonly qcschema_validate_atomic_result: (a: number, b: number) => [number, number, number, number];
|
|
3663
3727
|
readonly random_smiles_json: (a: number, b: number, c: number, d: bigint) => [number, number, number, number];
|
|
3728
|
+
readonly rdkit_atom_code: (a: number, b: number, c: number) => [number, number, number];
|
|
3664
3729
|
readonly rdkit_ecfp4_bitvec: (a: number) => [number, number, number, number];
|
|
3665
3730
|
readonly rdkit_ecfp4_detail_json: (a: number) => [number, number, number, number];
|
|
3666
3731
|
readonly rdkit_ecfp_config_bitvec: (a: number, b: number, c: number) => [number, number, number, number];
|
|
@@ -3673,6 +3738,8 @@ export interface InitOutput {
|
|
|
3673
3738
|
readonly rdkit_nearest_neighbors_json: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
3674
3739
|
readonly rdkit_path_bitvec: (a: number) => [number, number];
|
|
3675
3740
|
readonly rdkit_rdk_bitvec: (a: number) => [number, number];
|
|
3741
|
+
readonly rdkit_rdk_bitvec_ignoring_atoms: (a: number, b: number, c: number) => [number, number, number, number];
|
|
3742
|
+
readonly rdkit_topological_torsion_path_code_decimal: (a: number, b: number, c: number) => [number, number, number, number];
|
|
3676
3743
|
readonly rdkit_torsion_bitvec: (a: number) => [number, number];
|
|
3677
3744
|
readonly rdkitreadresult_coords_json: (a: number) => [number, number, number, number];
|
|
3678
3745
|
readonly rdkitreadresult_molecule: (a: 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
|
|
@@ -3496,6 +3565,53 @@ export function estate_indices_json(mol) {
|
|
|
3496
3565
|
}
|
|
3497
3566
|
}
|
|
3498
3567
|
|
|
3568
|
+
/**
|
|
3569
|
+
* Decode an RDKit atom code as stable JSON.
|
|
3570
|
+
*
|
|
3571
|
+
* Returns `{"symbol":"C","branchCount":3,"piElectronCount":1}`.
|
|
3572
|
+
* @param {number} code
|
|
3573
|
+
* @returns {string}
|
|
3574
|
+
*/
|
|
3575
|
+
export function explain_rdkit_atom_code_json(code) {
|
|
3576
|
+
let deferred1_0;
|
|
3577
|
+
let deferred1_1;
|
|
3578
|
+
try {
|
|
3579
|
+
const ret = wasm.explain_rdkit_atom_code_json(code);
|
|
3580
|
+
deferred1_0 = ret[0];
|
|
3581
|
+
deferred1_1 = ret[1];
|
|
3582
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
3583
|
+
} finally {
|
|
3584
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
3585
|
+
}
|
|
3586
|
+
}
|
|
3587
|
+
|
|
3588
|
+
/**
|
|
3589
|
+
* Decode a decimal legacy RDKit torsion code as stable JSON.
|
|
3590
|
+
* @param {string} code_decimal
|
|
3591
|
+
* @param {number} size
|
|
3592
|
+
* @returns {string}
|
|
3593
|
+
*/
|
|
3594
|
+
export function explain_rdkit_topological_torsion_code_json(code_decimal, size) {
|
|
3595
|
+
let deferred3_0;
|
|
3596
|
+
let deferred3_1;
|
|
3597
|
+
try {
|
|
3598
|
+
const ptr0 = passStringToWasm0(code_decimal, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
3599
|
+
const len0 = WASM_VECTOR_LEN;
|
|
3600
|
+
const ret = wasm.explain_rdkit_topological_torsion_code_json(ptr0, len0, size);
|
|
3601
|
+
var ptr2 = ret[0];
|
|
3602
|
+
var len2 = ret[1];
|
|
3603
|
+
if (ret[3]) {
|
|
3604
|
+
ptr2 = 0; len2 = 0;
|
|
3605
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
3606
|
+
}
|
|
3607
|
+
deferred3_0 = ptr2;
|
|
3608
|
+
deferred3_1 = len2;
|
|
3609
|
+
return getStringFromWasm0(ptr2, len2);
|
|
3610
|
+
} finally {
|
|
3611
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
3612
|
+
}
|
|
3613
|
+
}
|
|
3614
|
+
|
|
3499
3615
|
/**
|
|
3500
3616
|
* Extract an extxyz frame's coordinates, cell, per-atom properties and
|
|
3501
3617
|
* frame metadata as JSON, in the SAME atom order [`mol_from_extxyz`]
|
|
@@ -6609,6 +6725,59 @@ export function prepare_rdkit_ecfp4(mol) {
|
|
|
6609
6725
|
return PreparedRdkitEcfp4Handle.__wrap(ret[0]);
|
|
6610
6726
|
}
|
|
6611
6727
|
|
|
6728
|
+
/**
|
|
6729
|
+
* Amino-acid-only mmCIF projection in the same schema as
|
|
6730
|
+
* [`protein_from_pdb_json`].
|
|
6731
|
+
* @param {string} text
|
|
6732
|
+
* @returns {string}
|
|
6733
|
+
*/
|
|
6734
|
+
export function protein_from_mmcif_json(text) {
|
|
6735
|
+
let deferred3_0;
|
|
6736
|
+
let deferred3_1;
|
|
6737
|
+
try {
|
|
6738
|
+
const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
6739
|
+
const len0 = WASM_VECTOR_LEN;
|
|
6740
|
+
const ret = wasm.protein_from_mmcif_json(ptr0, len0);
|
|
6741
|
+
var ptr2 = ret[0];
|
|
6742
|
+
var len2 = ret[1];
|
|
6743
|
+
if (ret[3]) {
|
|
6744
|
+
ptr2 = 0; len2 = 0;
|
|
6745
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
6746
|
+
}
|
|
6747
|
+
deferred3_0 = ptr2;
|
|
6748
|
+
deferred3_1 = len2;
|
|
6749
|
+
return getStringFromWasm0(ptr2, len2);
|
|
6750
|
+
} finally {
|
|
6751
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
6752
|
+
}
|
|
6753
|
+
}
|
|
6754
|
+
|
|
6755
|
+
/**
|
|
6756
|
+
* Amino-acid-only PDB projection as stable JSON.
|
|
6757
|
+
* @param {string} text
|
|
6758
|
+
* @returns {string}
|
|
6759
|
+
*/
|
|
6760
|
+
export function protein_from_pdb_json(text) {
|
|
6761
|
+
let deferred3_0;
|
|
6762
|
+
let deferred3_1;
|
|
6763
|
+
try {
|
|
6764
|
+
const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
6765
|
+
const len0 = WASM_VECTOR_LEN;
|
|
6766
|
+
const ret = wasm.protein_from_pdb_json(ptr0, len0);
|
|
6767
|
+
var ptr2 = ret[0];
|
|
6768
|
+
var len2 = ret[1];
|
|
6769
|
+
if (ret[3]) {
|
|
6770
|
+
ptr2 = 0; len2 = 0;
|
|
6771
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
6772
|
+
}
|
|
6773
|
+
deferred3_0 = ptr2;
|
|
6774
|
+
deferred3_1 = len2;
|
|
6775
|
+
return getStringFromWasm0(ptr2, len2);
|
|
6776
|
+
} finally {
|
|
6777
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
6778
|
+
}
|
|
6779
|
+
}
|
|
6780
|
+
|
|
6612
6781
|
/**
|
|
6613
6782
|
* Coordinates (Å) plus molecular charge/multiplicity from a QCSchema
|
|
6614
6783
|
* `qcschema_molecule` document, in the SAME atom order
|
|
@@ -6741,6 +6910,25 @@ export function random_smiles_json(smiles, count, seed) {
|
|
|
6741
6910
|
}
|
|
6742
6911
|
}
|
|
6743
6912
|
|
|
6913
|
+
/**
|
|
6914
|
+
* RDKit atom-pair atom code for one atom.
|
|
6915
|
+
*
|
|
6916
|
+
* `branch_subtract` is normally 0 for atom-pair diagnostics, 1 for a
|
|
6917
|
+
* torsion endpoint, and 2 for an interior torsion atom.
|
|
6918
|
+
* @param {MolHandle} mol
|
|
6919
|
+
* @param {number} atom_index
|
|
6920
|
+
* @param {number} branch_subtract
|
|
6921
|
+
* @returns {number}
|
|
6922
|
+
*/
|
|
6923
|
+
export function rdkit_atom_code(mol, atom_index, branch_subtract) {
|
|
6924
|
+
_assertClass(mol, MolHandle);
|
|
6925
|
+
const ret = wasm.rdkit_atom_code(mol.__wbg_ptr, atom_index, branch_subtract);
|
|
6926
|
+
if (ret[2]) {
|
|
6927
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
6928
|
+
}
|
|
6929
|
+
return ret[0] >>> 0;
|
|
6930
|
+
}
|
|
6931
|
+
|
|
6744
6932
|
/**
|
|
6745
6933
|
* RDKit-bit-exact ECFP4 (radius=2, 2048 bits, `useChirality=false`, `useBondTypes=true`,
|
|
6746
6934
|
* RDKit's default atom invariant) as a bit-packed byte vector (256 bytes = 2048 bits).
|
|
@@ -7014,6 +7202,58 @@ export function rdkit_rdk_bitvec(mol) {
|
|
|
7014
7202
|
return v1;
|
|
7015
7203
|
}
|
|
7016
7204
|
|
|
7205
|
+
/**
|
|
7206
|
+
* RDKit 2026.09.1 RDKFingerprint with `ignoreAtoms`: every branched path
|
|
7207
|
+
* containing one of `ignored_atoms` is excluded. Invalid indices return a JS
|
|
7208
|
+
* error; an empty list is bit-identical to [`rdkit_rdk_bitvec`].
|
|
7209
|
+
* @param {MolHandle} mol
|
|
7210
|
+
* @param {Uint32Array} ignored_atoms
|
|
7211
|
+
* @returns {Uint8Array}
|
|
7212
|
+
*/
|
|
7213
|
+
export function rdkit_rdk_bitvec_ignoring_atoms(mol, ignored_atoms) {
|
|
7214
|
+
_assertClass(mol, MolHandle);
|
|
7215
|
+
const ptr0 = passArray32ToWasm0(ignored_atoms, wasm.__wbindgen_malloc);
|
|
7216
|
+
const len0 = WASM_VECTOR_LEN;
|
|
7217
|
+
const ret = wasm.rdkit_rdk_bitvec_ignoring_atoms(mol.__wbg_ptr, ptr0, len0);
|
|
7218
|
+
if (ret[3]) {
|
|
7219
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
7220
|
+
}
|
|
7221
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
7222
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
7223
|
+
return v2;
|
|
7224
|
+
}
|
|
7225
|
+
|
|
7226
|
+
/**
|
|
7227
|
+
* Pack a JSON array of atom indices into RDKit's legacy torsion code.
|
|
7228
|
+
*
|
|
7229
|
+
* The decimal string return type avoids losing precision in JavaScript's
|
|
7230
|
+
* `number` type for codes above 2^53.
|
|
7231
|
+
* @param {MolHandle} mol
|
|
7232
|
+
* @param {string} path_json
|
|
7233
|
+
* @returns {string}
|
|
7234
|
+
*/
|
|
7235
|
+
export function rdkit_topological_torsion_path_code_decimal(mol, path_json) {
|
|
7236
|
+
let deferred3_0;
|
|
7237
|
+
let deferred3_1;
|
|
7238
|
+
try {
|
|
7239
|
+
_assertClass(mol, MolHandle);
|
|
7240
|
+
const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
7241
|
+
const len0 = WASM_VECTOR_LEN;
|
|
7242
|
+
const ret = wasm.rdkit_topological_torsion_path_code_decimal(mol.__wbg_ptr, ptr0, len0);
|
|
7243
|
+
var ptr2 = ret[0];
|
|
7244
|
+
var len2 = ret[1];
|
|
7245
|
+
if (ret[3]) {
|
|
7246
|
+
ptr2 = 0; len2 = 0;
|
|
7247
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
7248
|
+
}
|
|
7249
|
+
deferred3_0 = ptr2;
|
|
7250
|
+
deferred3_1 = len2;
|
|
7251
|
+
return getStringFromWasm0(ptr2, len2);
|
|
7252
|
+
} finally {
|
|
7253
|
+
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
7254
|
+
}
|
|
7255
|
+
}
|
|
7256
|
+
|
|
7017
7257
|
/**
|
|
7018
7258
|
* Compute the opt-in RDKit-compatible hashed topological-torsion fingerprint
|
|
7019
7259
|
* as a bit-packed byte vector (256 bytes = 2048 bits). This remains separate
|
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.4",
|
|
9
9
|
"license": "MIT OR Apache-2.0",
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|