@kent-tokyo/chematic 0.1.25 → 0.1.37
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/chematic_wasm.d.ts +363 -4
- package/chematic_wasm.js +890 -4
- package/chematic_wasm_bg.wasm +0 -0
- package/package.json +2 -2
package/chematic_wasm.d.ts
CHANGED
|
@@ -318,6 +318,14 @@ export class MolHandle {
|
|
|
318
318
|
* Sum of EState indices over all heavy atoms.
|
|
319
319
|
*/
|
|
320
320
|
sum_estate(): number;
|
|
321
|
+
/**
|
|
322
|
+
* InChI string representation of the molecule.
|
|
323
|
+
*/
|
|
324
|
+
to_inchi(): string;
|
|
325
|
+
/**
|
|
326
|
+
* InChIKey (27-character identifier) for the molecule.
|
|
327
|
+
*/
|
|
328
|
+
to_inchikey(): string;
|
|
321
329
|
/**
|
|
322
330
|
* Topological polar surface area (Ų).
|
|
323
331
|
*/
|
|
@@ -343,6 +351,14 @@ export function add_hydrogens(mol: MolHandle): MolHandle;
|
|
|
343
351
|
*/
|
|
344
352
|
export function atom_pair_bitvec(mol: MolHandle): Uint8Array;
|
|
345
353
|
|
|
354
|
+
/**
|
|
355
|
+
* Check whether a reaction SMILES is atom-balanced.
|
|
356
|
+
*
|
|
357
|
+
* Returns JSON: `{ "balanced": true|false, "diff": ["C: 1 reactant vs 2 product", ...] }`
|
|
358
|
+
* Returns `"error:<msg>"` on parse failure.
|
|
359
|
+
*/
|
|
360
|
+
export function balance_check_json(reaction_smiles: string): string;
|
|
361
|
+
|
|
346
362
|
/**
|
|
347
363
|
* Number of BRICS fragments produced by fragmenting the molecule.
|
|
348
364
|
*
|
|
@@ -399,6 +415,49 @@ export function cdxml_to_smiles_json(cdxml: string): string;
|
|
|
399
415
|
*/
|
|
400
416
|
export function cip_assignments_json(mol: MolHandle): string;
|
|
401
417
|
|
|
418
|
+
/**
|
|
419
|
+
* Compare multiple SMILES strings (up to 256 by default).
|
|
420
|
+
* Accepts a delimiter-separated list (e.g., newline or comma).
|
|
421
|
+
*
|
|
422
|
+
* # Example (JS)
|
|
423
|
+
* ```javascript
|
|
424
|
+
* const smilesList = "c1ccccc1\nCc1ccccc1\nCCc1ccccc1";
|
|
425
|
+
* const json = module.compare_molecules_batch_json(smilesList, "\n");
|
|
426
|
+
* const comparison = JSON.parse(json);
|
|
427
|
+
* ```
|
|
428
|
+
*/
|
|
429
|
+
export function compare_molecules_batch_json(smiles_batch: string, delimiter: string): string;
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* Compare two or more SMILES strings (JSON string output).
|
|
433
|
+
* Returns the JSON representation of a `MoleculeComparison` struct.
|
|
434
|
+
*
|
|
435
|
+
* # Example (JS)
|
|
436
|
+
* ```javascript
|
|
437
|
+
* const json = module.compare_molecules_json("c1ccccc1", "Cc1ccccc1");
|
|
438
|
+
* const comparison = JSON.parse(json);
|
|
439
|
+
* console.log(comparison.pairwise[0].similarities.ecfp4_tanimoto);
|
|
440
|
+
* ```
|
|
441
|
+
*/
|
|
442
|
+
export function compare_molecules_json(smiles1: string, smiles2: string): string;
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* Compute direct Coulomb energy for a molecule with Gasteiger partial charges.
|
|
446
|
+
*
|
|
447
|
+
* Returns JSON object: `{ "coulomb_energy": E, "unit": "kcal/mol" }`
|
|
448
|
+
*
|
|
449
|
+
* # Arguments
|
|
450
|
+
* * `mol` - Molecule to evaluate
|
|
451
|
+
*
|
|
452
|
+
* # Example (JavaScript)
|
|
453
|
+
* ```js
|
|
454
|
+
* const mol = parse_smiles("CCO");
|
|
455
|
+
* const result = coulomb_energy_json(mol);
|
|
456
|
+
* // { "coulomb_energy": -12.34, "unit": "kcal/mol" }
|
|
457
|
+
* ```
|
|
458
|
+
*/
|
|
459
|
+
export function coulomb_energy_json(mol: MolHandle): string;
|
|
460
|
+
|
|
402
461
|
/**
|
|
403
462
|
* Return the CPK color (CSS hex string) for the given element symbol.
|
|
404
463
|
*
|
|
@@ -497,11 +556,29 @@ export function dice_maccs(a: MolHandle, b: MolHandle): number;
|
|
|
497
556
|
*/
|
|
498
557
|
export function ecfp4_bitvec(mol: MolHandle): Uint8Array;
|
|
499
558
|
|
|
559
|
+
/**
|
|
560
|
+
* Like `ecfp4_bitvec` but with explicit chirality control.
|
|
561
|
+
*
|
|
562
|
+
* When `use_chirality=true`, tetrahedral stereochemistry is included in the
|
|
563
|
+
* initial atom hash, making enantiomers have different fingerprints.
|
|
564
|
+
* When `false` (default), chirality is ignored.
|
|
565
|
+
*/
|
|
566
|
+
export function ecfp4_bitvec_with_chirality(mol: MolHandle, use_chirality: boolean): Uint8Array;
|
|
567
|
+
|
|
500
568
|
/**
|
|
501
569
|
* ECFP6 (radius-3) fingerprint as a bit-packed byte vector (256 bytes = 2048 bits).
|
|
502
570
|
*/
|
|
503
571
|
export function ecfp6_bitvec(mol: MolHandle): Uint8Array;
|
|
504
572
|
|
|
573
|
+
/**
|
|
574
|
+
* Like `ecfp6_bitvec` but with explicit chirality control.
|
|
575
|
+
*
|
|
576
|
+
* When `use_chirality=true`, tetrahedral stereochemistry is included in the
|
|
577
|
+
* initial atom hash, making enantiomers have different fingerprints.
|
|
578
|
+
* When `false` (default), chirality is ignored.
|
|
579
|
+
*/
|
|
580
|
+
export function ecfp6_bitvec_with_chirality(mol: MolHandle, use_chirality: boolean): Uint8Array;
|
|
581
|
+
|
|
505
582
|
/**
|
|
506
583
|
* Compute a fingerprint bit-vector with configurable ECFP radius and bit width.
|
|
507
584
|
*
|
|
@@ -511,8 +588,12 @@ export function ecfp6_bitvec(mol: MolHandle): Uint8Array;
|
|
|
511
588
|
*
|
|
512
589
|
* The hash modulo is applied at fingerprint-generation time (`id % nbits`),
|
|
513
590
|
* so no post-processing fold is needed.
|
|
591
|
+
* Compute a custom ECFP (Extended Connectivity FingerPrint) with specified radius and bit count.
|
|
592
|
+
*
|
|
593
|
+
* When `use_chirality=true`, tetrahedral stereochemistry is included in the initial
|
|
594
|
+
* atom hash. When `false` (default), chirality is ignored.
|
|
514
595
|
*/
|
|
515
|
-
export function ecfp_bitvec_custom(mol: MolHandle, radius: number, nbits: number): Uint8Array;
|
|
596
|
+
export function ecfp_bitvec_custom(mol: MolHandle, radius: number, nbits: number, use_chirality: boolean): Uint8Array;
|
|
516
597
|
|
|
517
598
|
/**
|
|
518
599
|
* Enumerate all stereoisomers arising from unspecified tetrahedral stereocenters.
|
|
@@ -551,11 +632,32 @@ export function fcfp4_bitvec(mol: MolHandle): Uint8Array;
|
|
|
551
632
|
*/
|
|
552
633
|
export function fcfp6_bitvec(mol: MolHandle): Uint8Array;
|
|
553
634
|
|
|
635
|
+
/**
|
|
636
|
+
* Analyze a reaction SMILES and return the reaction center as JSON.
|
|
637
|
+
*
|
|
638
|
+
* JSON schema: `{ broken: [[a1,a2],...], formed: [[a1,a2],...], changed: [a,...] }`
|
|
639
|
+
* where atom indices are 0-based within the first reactant molecule.
|
|
640
|
+
* Returns an error string prefixed with `"error:"` on failure.
|
|
641
|
+
*/
|
|
642
|
+
export function find_reaction_center_json(reaction_smiles: string): string;
|
|
643
|
+
|
|
554
644
|
/**
|
|
555
645
|
* Gasteiger-Marsili PEOE partial charges as a JSON array of f64.
|
|
556
646
|
*/
|
|
557
647
|
export function gasteiger_charges_json(mol: MolHandle): string;
|
|
558
648
|
|
|
649
|
+
/**
|
|
650
|
+
* Generate 3D coordinates from SMILES (raw distance geometry, no minimization).
|
|
651
|
+
* Returns PDB format string with atoms positioned in 3D space.
|
|
652
|
+
*
|
|
653
|
+
* # Example (JS)
|
|
654
|
+
* ```javascript
|
|
655
|
+
* const pdbStr = module.generate_3d_from_smiles("c1ccccc1");
|
|
656
|
+
* console.log(pdbStr); // PDB file content
|
|
657
|
+
* ```
|
|
658
|
+
*/
|
|
659
|
+
export function generate_3d_from_smiles(smiles: string): string;
|
|
660
|
+
|
|
559
661
|
/**
|
|
560
662
|
* Generate energy-minimized 3D coordinates and return a PDB string.
|
|
561
663
|
*
|
|
@@ -565,6 +667,19 @@ export function gasteiger_charges_json(mol: MolHandle): string;
|
|
|
565
667
|
*/
|
|
566
668
|
export function generate_3d_minimized_pdb(mol: MolHandle): string;
|
|
567
669
|
|
|
670
|
+
/**
|
|
671
|
+
* Generate 3D coordinates and minimize from SMILES string.
|
|
672
|
+
* Pipeline: distance geometry → DREIDING minimization.
|
|
673
|
+
* Better geometry quality than raw DG; suitable for graphics.
|
|
674
|
+
*
|
|
675
|
+
* # Example (JS)
|
|
676
|
+
* ```javascript
|
|
677
|
+
* const pdbStr = module.generate_3d_optimized_pdb("c1ccccc1");
|
|
678
|
+
* console.log(pdbStr); // PDB file with optimized geometry
|
|
679
|
+
* ```
|
|
680
|
+
*/
|
|
681
|
+
export function generate_3d_optimized_pdb(smiles: string): string;
|
|
682
|
+
|
|
568
683
|
/**
|
|
569
684
|
* Generate 3D coordinates for the molecule and return a PDB string.
|
|
570
685
|
*
|
|
@@ -615,6 +730,22 @@ export function get_bond_between(mol: MolHandle, atom1: number, atom2: number):
|
|
|
615
730
|
*/
|
|
616
731
|
export function get_bond_info(mol: MolHandle, idx: number): string;
|
|
617
732
|
|
|
733
|
+
/**
|
|
734
|
+
* Get bond length in Ångströms between two atoms from a SMILES string.
|
|
735
|
+
* Returns -1.0 if parsing fails or atom indices are out of range.
|
|
736
|
+
*
|
|
737
|
+
* # Arguments
|
|
738
|
+
* - `smiles`: SMILES string
|
|
739
|
+
* - `a`: first atom index
|
|
740
|
+
* - `b`: second atom index
|
|
741
|
+
*
|
|
742
|
+
* # Example
|
|
743
|
+
* ```javascript
|
|
744
|
+
* const len = get_bond_length_json("CC", 0, 1); // C-C single bond ≈ 1.54 Å
|
|
745
|
+
* ```
|
|
746
|
+
*/
|
|
747
|
+
export function get_bond_length_json(smiles: string, a: number, b: number): number;
|
|
748
|
+
|
|
618
749
|
/**
|
|
619
750
|
* All scalar molecular descriptors as a single JSON object.
|
|
620
751
|
*
|
|
@@ -623,12 +754,49 @@ export function get_bond_info(mol: MolHandle, idx: number): string;
|
|
|
623
754
|
*/
|
|
624
755
|
export function get_descriptors_json(mol: MolHandle): string;
|
|
625
756
|
|
|
757
|
+
/**
|
|
758
|
+
* Get dihedral angle A—B—C—D in degrees from a SMILES string.
|
|
759
|
+
* Returns null (JSON null) if any atom index is out of range or atoms are collinear.
|
|
760
|
+
*
|
|
761
|
+
* # Arguments
|
|
762
|
+
* - `smiles`: SMILES string
|
|
763
|
+
* - `a`, `b`, `c`, `d`: atom indices
|
|
764
|
+
*
|
|
765
|
+
* # Example
|
|
766
|
+
* ```javascript
|
|
767
|
+
* const dihedral = get_dihedral_json("CCCC", 0, 1, 2, 3); // A-B-C-D
|
|
768
|
+
* ```
|
|
769
|
+
*/
|
|
770
|
+
export function get_dihedral_json(smiles: string, a: number, b: number, c: number, d: number): any;
|
|
771
|
+
|
|
626
772
|
/**
|
|
627
773
|
* Identify functional groups. Returns a JSON array of objects:
|
|
628
774
|
* `[{"atoms":[0,2,3],"type":"C,N,O"}, …]`
|
|
629
775
|
*/
|
|
630
776
|
export function identify_functional_groups(mol: MolHandle): string;
|
|
631
777
|
|
|
778
|
+
/**
|
|
779
|
+
* Generate InChI string from SMILES.
|
|
780
|
+
*
|
|
781
|
+
* Returns `"error:<msg>"` on parse failure.
|
|
782
|
+
*/
|
|
783
|
+
export function inchi_from_smiles(smiles: string): string;
|
|
784
|
+
|
|
785
|
+
/**
|
|
786
|
+
* Generate InChIKey from SMILES (27-character identifier).
|
|
787
|
+
*
|
|
788
|
+
* Returns `"error:<msg>"` on parse failure.
|
|
789
|
+
*/
|
|
790
|
+
export function inchikey_from_smiles(smiles: string): string;
|
|
791
|
+
|
|
792
|
+
/**
|
|
793
|
+
* Invert the stereochemistry of a tetrahedral stereocenter (U/D wedge bonds).
|
|
794
|
+
*
|
|
795
|
+
* If the atom has no wedge/dash bonds, returns an unchanged copy.
|
|
796
|
+
* Returns error if atom_idx is invalid.
|
|
797
|
+
*/
|
|
798
|
+
export function invert_stereocenter_at(mol: MolHandle, atom_idx: number): MolHandle;
|
|
799
|
+
|
|
632
800
|
/**
|
|
633
801
|
* Returns `true` if the SMILES string can be parsed without error.
|
|
634
802
|
*/
|
|
@@ -689,6 +857,20 @@ export function maxmin_picks_ecfp4_json(smiles_json: string, n: number): string;
|
|
|
689
857
|
*/
|
|
690
858
|
export function mcs_smiles_json(smiles_json: string): string;
|
|
691
859
|
|
|
860
|
+
/**
|
|
861
|
+
* Optimize molecular geometry using DREIDING force field.
|
|
862
|
+
*
|
|
863
|
+
* Performs geometry minimization with DREIDING force field parameters.
|
|
864
|
+
* Returns minimized coordinate PDB.
|
|
865
|
+
*
|
|
866
|
+
* # Arguments
|
|
867
|
+
* * `mol` - Molecule to optimize
|
|
868
|
+
*
|
|
869
|
+
* # Returns
|
|
870
|
+
* PDB format string with optimized coordinates
|
|
871
|
+
*/
|
|
872
|
+
export function minimize_dreiding_json(mol: MolHandle): string;
|
|
873
|
+
|
|
692
874
|
/**
|
|
693
875
|
* Find matched molecular pairs in a set of molecules as JSON.
|
|
694
876
|
*
|
|
@@ -714,6 +896,13 @@ export function mcs_smiles_json(smiles_json: string): string;
|
|
|
714
896
|
*/
|
|
715
897
|
export function mmp_pairs_json(smiles_json: string): string;
|
|
716
898
|
|
|
899
|
+
/**
|
|
900
|
+
* Parse a Tripos MOL2 string and return SMILES.
|
|
901
|
+
*
|
|
902
|
+
* Returns `"error:<msg>"` on failure.
|
|
903
|
+
*/
|
|
904
|
+
export function mol2_to_smiles(mol2_str: string): string;
|
|
905
|
+
|
|
717
906
|
/**
|
|
718
907
|
* Parse a MOL V2000 string and return 2D coordinates as a JSON array.
|
|
719
908
|
*
|
|
@@ -825,6 +1014,19 @@ export function mol_with_bond_added(mol: MolHandle, a: number, b: number, order:
|
|
|
825
1014
|
*/
|
|
826
1015
|
export function mol_with_bond_removed(mol: MolHandle, idx: number): MolHandle;
|
|
827
1016
|
|
|
1017
|
+
/**
|
|
1018
|
+
* Generate a complete molecular report (JSON string) from a SMILES.
|
|
1019
|
+
* Returns the JSON representation of a `MoleculeReport` struct.
|
|
1020
|
+
*
|
|
1021
|
+
* # Example (JS)
|
|
1022
|
+
* ```javascript
|
|
1023
|
+
* const json = module.molecule_report_json("CC(=O)Oc1ccccc1C(=O)O");
|
|
1024
|
+
* const report = JSON.parse(json);
|
|
1025
|
+
* console.log(report.canonical_smiles, report.descriptors.tpsa);
|
|
1026
|
+
* ```
|
|
1027
|
+
*/
|
|
1028
|
+
export function molecule_report_json(smiles: string): string;
|
|
1029
|
+
|
|
828
1030
|
/**
|
|
829
1031
|
* Per-atom molar refractivity contributions as a JSON array of f64.
|
|
830
1032
|
*/
|
|
@@ -837,6 +1039,15 @@ export function mr_per_atom_json(mol: MolHandle): string;
|
|
|
837
1039
|
*/
|
|
838
1040
|
export function murcko_scaffold(mol: MolHandle): MolHandle;
|
|
839
1041
|
|
|
1042
|
+
/**
|
|
1043
|
+
* Find the k nearest neighbours of a query SMILES in a list of db SMILES.
|
|
1044
|
+
*
|
|
1045
|
+
* `db_smiles_json`: JSON array of SMILES strings, e.g. `["CC","c1ccccc1"]`.
|
|
1046
|
+
* Returns JSON: `[{"index":0,"tanimoto":0.95},...]` sorted by descending Tanimoto.
|
|
1047
|
+
* Returns `"error:<msg>"` on parse failure.
|
|
1048
|
+
*/
|
|
1049
|
+
export function nearest_neighbors_json(query_smiles: string, db_smiles_json: string, k: number): string;
|
|
1050
|
+
|
|
840
1051
|
/**
|
|
841
1052
|
* Neutralize formal charges on `mol` by proton addition/removal.
|
|
842
1053
|
*
|
|
@@ -844,6 +1055,12 @@ export function murcko_scaffold(mol: MolHandle): MolHandle;
|
|
|
844
1055
|
*/
|
|
845
1056
|
export function neutralize_charges(mol: MolHandle): MolHandle;
|
|
846
1057
|
|
|
1058
|
+
/**
|
|
1059
|
+
* Parse and re-serialize CXSMILES, preserving supported CX metadata.
|
|
1060
|
+
* Returns error if atom count exceeds 10,000.
|
|
1061
|
+
*/
|
|
1062
|
+
export function normalize_cxsmiles(s: string): string;
|
|
1063
|
+
|
|
847
1064
|
/**
|
|
848
1065
|
* Parse and re-serialise a reaction SMILES string, returning the normalised form.
|
|
849
1066
|
*
|
|
@@ -860,10 +1077,26 @@ export function normalize_reaction_smiles(rxn_smiles: string): string;
|
|
|
860
1077
|
*/
|
|
861
1078
|
export function pains_matches_json(mol: MolHandle): string;
|
|
862
1079
|
|
|
1080
|
+
/**
|
|
1081
|
+
* Parse CXSMARTS and return preserved metadata as JSON.
|
|
1082
|
+
* Returns error if atom count exceeds 10,000.
|
|
1083
|
+
*/
|
|
1084
|
+
export function parse_cxsmarts_json(s: string): string;
|
|
1085
|
+
|
|
1086
|
+
/**
|
|
1087
|
+
* Parse CXSMILES and return preserved metadata as JSON.
|
|
1088
|
+
*
|
|
1089
|
+
* Supported CX fields: atom labels (`$...$`), `atomProp`, atom radicals (`^n:`),
|
|
1090
|
+
* and zero-order bonds (`Z:`). The `cxsmiles` field is a re-serialized
|
|
1091
|
+
* round-trip form using the supported fields.
|
|
1092
|
+
* Returns error if atom count exceeds 10,000.
|
|
1093
|
+
*/
|
|
1094
|
+
export function parse_cxsmiles_json(s: string): string;
|
|
1095
|
+
|
|
863
1096
|
/**
|
|
864
1097
|
* Parse a SMILES string into a `MolHandle`.
|
|
865
1098
|
*
|
|
866
|
-
* Returns a JS error string on parse failure.
|
|
1099
|
+
* Returns a JS error string on parse failure or if atom count exceeds 10,000.
|
|
867
1100
|
*/
|
|
868
1101
|
export function parse_smiles(s: string): MolHandle;
|
|
869
1102
|
|
|
@@ -872,6 +1105,24 @@ export function parse_smiles(s: string): MolHandle;
|
|
|
872
1105
|
*/
|
|
873
1106
|
export function peoe_vsa_json(mol: MolHandle): string;
|
|
874
1107
|
|
|
1108
|
+
/**
|
|
1109
|
+
* Generate `count` random SMILES from a SMILES string using the given seed.
|
|
1110
|
+
* Atoms are permuted based on xorshift64 RNG. Each variant should parse back
|
|
1111
|
+
* to the same molecule. Returns a JSON array of SMILES strings.
|
|
1112
|
+
*
|
|
1113
|
+
* # Arguments
|
|
1114
|
+
* - `smiles`: input SMILES string
|
|
1115
|
+
* - `count`: number of variants to generate (capped at 100)
|
|
1116
|
+
* - `seed`: xorshift64 seed
|
|
1117
|
+
*
|
|
1118
|
+
* # Example
|
|
1119
|
+
* ```javascript
|
|
1120
|
+
* const variants = random_smiles_json("CC(C)O", 5, 42);
|
|
1121
|
+
* // variants: ["CC(C)O", "C(C)(O)C", ...]
|
|
1122
|
+
* ```
|
|
1123
|
+
*/
|
|
1124
|
+
export function random_smiles_json(smiles: string, count: number, seed: bigint): string;
|
|
1125
|
+
|
|
875
1126
|
/**
|
|
876
1127
|
* Return a copy of the molecule with all explicit hydrogen atoms removed.
|
|
877
1128
|
*/
|
|
@@ -900,6 +1151,15 @@ export function remove_hydrogens(mol: MolHandle): MolHandle;
|
|
|
900
1151
|
*/
|
|
901
1152
|
export function rgroup_decompose_json(smiles_json: string, core_smarts: string): string;
|
|
902
1153
|
|
|
1154
|
+
/**
|
|
1155
|
+
* Run molecular dynamics simulation and return trajectory as JSON.
|
|
1156
|
+
*
|
|
1157
|
+
* Returns JSON object with trajectory frames: `{ "frames": [{ "step": N, "potential": E, "kinetic": K, "temp": T }, …] }`
|
|
1158
|
+
* Uses NVT ensemble (Berendsen thermostat) at 300 K by default.
|
|
1159
|
+
* Note: Limited to molecules with ~50 atoms or fewer for practical WASM performance.
|
|
1160
|
+
*/
|
|
1161
|
+
export function run_md_json(mol: MolHandle, steps: number, temp_k: number): string;
|
|
1162
|
+
|
|
903
1163
|
/**
|
|
904
1164
|
* Apply a SMIRKS reaction template and return product SMILES as a JSON string.
|
|
905
1165
|
*
|
|
@@ -914,6 +1174,23 @@ export function run_reactants(smirks: string, reactants_smiles: string): string;
|
|
|
914
1174
|
*/
|
|
915
1175
|
export function sa_score(mol: MolHandle): number;
|
|
916
1176
|
|
|
1177
|
+
/**
|
|
1178
|
+
* Screen a batch of SMILES strings (JSON string output).
|
|
1179
|
+
* Returns per-record results including pass/fail with error details.
|
|
1180
|
+
* Includes MaxMin diversity picking and Butina clustering by default.
|
|
1181
|
+
*
|
|
1182
|
+
* # Example (JS)
|
|
1183
|
+
* ```javascript
|
|
1184
|
+
* const smilesList = "c1ccccc1\nCC\nCCC";
|
|
1185
|
+
* const json = module.screen_smiles_json(smilesList, "\n");
|
|
1186
|
+
* const report = JSON.parse(json);
|
|
1187
|
+
* console.log(report.records); // Array of ScreeningRecord
|
|
1188
|
+
* console.log(report.maxmin_picks); // Diversity-selected indices
|
|
1189
|
+
* console.log(report.butina_clusters); // Clustering result
|
|
1190
|
+
* ```
|
|
1191
|
+
*/
|
|
1192
|
+
export function screen_smiles_json(smiles_batch: string, delimiter: string): string;
|
|
1193
|
+
|
|
917
1194
|
/**
|
|
918
1195
|
* Serialize multiple molecules with properties to an SDF string.
|
|
919
1196
|
*
|
|
@@ -952,6 +1229,23 @@ export function sdf_to_records_json(sdf: string): string;
|
|
|
952
1229
|
*/
|
|
953
1230
|
export function sdf_to_smiles_json(sdf: string): string;
|
|
954
1231
|
|
|
1232
|
+
/**
|
|
1233
|
+
* Set dihedral angle A—B—C—D and return PDB block with modified coordinates.
|
|
1234
|
+
* Rotates the D-side subtree around the B—C bond.
|
|
1235
|
+
* Returns a JS error if parsing fails or atom indices are invalid.
|
|
1236
|
+
*
|
|
1237
|
+
* # Arguments
|
|
1238
|
+
* - `smiles`: SMILES string
|
|
1239
|
+
* - `a`, `b`, `c`, `d`: atom indices
|
|
1240
|
+
* - `angle_deg`: target dihedral angle in degrees
|
|
1241
|
+
*
|
|
1242
|
+
* # Example
|
|
1243
|
+
* ```javascript
|
|
1244
|
+
* const pdbBlock = set_dihedral_json("CCCC", 0, 1, 2, 3, 120.0);
|
|
1245
|
+
* ```
|
|
1246
|
+
*/
|
|
1247
|
+
export function set_dihedral_json(smiles: string, a: number, b: number, c: number, d: number, angle_deg: number): string;
|
|
1248
|
+
|
|
955
1249
|
/**
|
|
956
1250
|
* 3D shape descriptors as a JSON object.
|
|
957
1251
|
*
|
|
@@ -975,6 +1269,15 @@ export function slogp_vsa_json(mol: MolHandle): string;
|
|
|
975
1269
|
*/
|
|
976
1270
|
export function smarts_match_atoms(smarts: string, mol: MolHandle): string;
|
|
977
1271
|
|
|
1272
|
+
/**
|
|
1273
|
+
* Like `smarts_match_atoms` but with explicit chirality matching control.
|
|
1274
|
+
*
|
|
1275
|
+
* When `use_chirality=true`, SMARTS chirality primitives `[@]` and `[@@]` are
|
|
1276
|
+
* matched against the target molecule's stereochemistry. When `false`, chirality
|
|
1277
|
+
* is ignored (RDKit default).
|
|
1278
|
+
*/
|
|
1279
|
+
export function smarts_match_atoms_with_chirality(smarts: string, mol: MolHandle, use_chirality: boolean): string;
|
|
1280
|
+
|
|
978
1281
|
/**
|
|
979
1282
|
* Serialise a JSON array of SMILES to an SDF string.
|
|
980
1283
|
*
|
|
@@ -983,6 +1286,13 @@ export function smarts_match_atoms(smarts: string, mol: MolHandle): string;
|
|
|
983
1286
|
*/
|
|
984
1287
|
export function smiles_array_to_sdf(smiles_json: string): string;
|
|
985
1288
|
|
|
1289
|
+
/**
|
|
1290
|
+
* Convert a SMILES to a minimal Tripos MOL2 string (no 3D coordinates).
|
|
1291
|
+
*
|
|
1292
|
+
* Returns `"error:<msg>"` on parse failure.
|
|
1293
|
+
*/
|
|
1294
|
+
export function smiles_to_mol2(smiles: string): string;
|
|
1295
|
+
|
|
986
1296
|
/**
|
|
987
1297
|
* Render a highlighted SVG from a SMILES string in one call.
|
|
988
1298
|
*
|
|
@@ -1007,6 +1317,22 @@ export function smr_vsa_json(mol: MolHandle): string;
|
|
|
1007
1317
|
*/
|
|
1008
1318
|
export function sssr_rings_json(mol: MolHandle): string;
|
|
1009
1319
|
|
|
1320
|
+
/**
|
|
1321
|
+
* Standardize a SMILES string and return the canonical SMILES of the result.
|
|
1322
|
+
*
|
|
1323
|
+
* Applies: largest fragment extraction → charge neutralization.
|
|
1324
|
+
* Returns `"error:<msg>"` on parse failure.
|
|
1325
|
+
*/
|
|
1326
|
+
export function standardize_smiles(smiles: string): string;
|
|
1327
|
+
|
|
1328
|
+
/**
|
|
1329
|
+
* Standardize a SMILES string and return result SMILES plus an audit report as JSON.
|
|
1330
|
+
*
|
|
1331
|
+
* Boolean flags map directly to `StandardizeOptions`.
|
|
1332
|
+
* Returns `"error:<msg>"` on parse or serialization failure.
|
|
1333
|
+
*/
|
|
1334
|
+
export function standardize_smiles_report_json(smiles: string, largest_fragment_only: boolean, neutralize_charges: boolean, remove_explicit_h: boolean, canonical_tautomer: boolean): string;
|
|
1335
|
+
|
|
1010
1336
|
export function start(): void;
|
|
1011
1337
|
|
|
1012
1338
|
/**
|
|
@@ -1106,6 +1432,7 @@ export interface InitOutput {
|
|
|
1106
1432
|
readonly __wbg_molhandle_free: (a: number, b: number) => void;
|
|
1107
1433
|
readonly add_hydrogens: (a: number) => number;
|
|
1108
1434
|
readonly atom_pair_bitvec: (a: number) => [number, number];
|
|
1435
|
+
readonly balance_check_json: (a: number, b: number) => [number, number];
|
|
1109
1436
|
readonly brics_fragment_count: (a: number) => number;
|
|
1110
1437
|
readonly brics_fragments_json: (a: number) => [number, number];
|
|
1111
1438
|
readonly butina_cluster_ecfp4_json: (a: number, b: number, c: number) => [number, number, number, number];
|
|
@@ -1121,6 +1448,7 @@ export interface InitOutput {
|
|
|
1121
1448
|
readonly conformerhandle_mol: (a: number) => number;
|
|
1122
1449
|
readonly conformerhandle_new: (a: number, b: number) => [number, number, number];
|
|
1123
1450
|
readonly conformerhandle_remove_conformer: (a: number, b: number) => number;
|
|
1451
|
+
readonly coulomb_energy_json: (a: number) => [number, number];
|
|
1124
1452
|
readonly cpk_color: (a: number, b: number) => [number, number];
|
|
1125
1453
|
readonly depict_data_json: (a: number) => [number, number];
|
|
1126
1454
|
readonly depict_data_with_coords_json: (a: number, b: number, c: number) => [number, number];
|
|
@@ -1145,13 +1473,16 @@ export interface InitOutput {
|
|
|
1145
1473
|
readonly dice_ecfp6: (a: number, b: number) => number;
|
|
1146
1474
|
readonly dice_maccs: (a: number, b: number) => number;
|
|
1147
1475
|
readonly ecfp4_bitvec: (a: number) => [number, number];
|
|
1476
|
+
readonly ecfp4_bitvec_with_chirality: (a: number, b: number) => [number, number];
|
|
1148
1477
|
readonly ecfp6_bitvec: (a: number) => [number, number];
|
|
1149
|
-
readonly
|
|
1478
|
+
readonly ecfp6_bitvec_with_chirality: (a: number, b: number) => [number, number];
|
|
1479
|
+
readonly ecfp_bitvec_custom: (a: number, b: number, c: number, d: number) => [number, number];
|
|
1150
1480
|
readonly enumerate_stereo_isomers_json: (a: number) => [number, number, number, number];
|
|
1151
1481
|
readonly enumerate_tautomers_json: (a: number) => [number, number];
|
|
1152
1482
|
readonly estate_indices_json: (a: number) => [number, number];
|
|
1153
1483
|
readonly fcfp4_bitvec: (a: number) => [number, number];
|
|
1154
1484
|
readonly fcfp6_bitvec: (a: number) => [number, number];
|
|
1485
|
+
readonly find_reaction_center_json: (a: number, b: number) => [number, number];
|
|
1155
1486
|
readonly gasteiger_charges_json: (a: number) => [number, number];
|
|
1156
1487
|
readonly generate_3d_minimized_pdb: (a: number) => [number, number];
|
|
1157
1488
|
readonly generate_3d_pdb: (a: number) => [number, number];
|
|
@@ -1159,8 +1490,13 @@ export interface InitOutput {
|
|
|
1159
1490
|
readonly get_atom_info: (a: number, b: number) => [number, number];
|
|
1160
1491
|
readonly get_bond_between: (a: number, b: number, c: number) => [number, number];
|
|
1161
1492
|
readonly get_bond_info: (a: number, b: number) => [number, number];
|
|
1493
|
+
readonly get_bond_length_json: (a: number, b: number, c: number, d: number) => number;
|
|
1162
1494
|
readonly get_descriptors_json: (a: number) => [number, number];
|
|
1495
|
+
readonly get_dihedral_json: (a: number, b: number, c: number, d: number, e: number, f: number) => any;
|
|
1163
1496
|
readonly identify_functional_groups: (a: number) => [number, number];
|
|
1497
|
+
readonly inchi_from_smiles: (a: number, b: number) => [number, number];
|
|
1498
|
+
readonly inchikey_from_smiles: (a: number, b: number) => [number, number];
|
|
1499
|
+
readonly invert_stereocenter_at: (a: number, b: number) => [number, number, number];
|
|
1164
1500
|
readonly is_valid_smiles: (a: number, b: number) => number;
|
|
1165
1501
|
readonly labute_asa_per_atom_json: (a: number) => [number, number];
|
|
1166
1502
|
readonly largest_fragment: (a: number) => number;
|
|
@@ -1169,7 +1505,9 @@ export interface InitOutput {
|
|
|
1169
1505
|
readonly match_smarts_smiles: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1170
1506
|
readonly maxmin_picks_ecfp4_json: (a: number, b: number, c: number) => [number, number, number, number];
|
|
1171
1507
|
readonly mcs_smiles_json: (a: number, b: number) => [number, number, number, number];
|
|
1508
|
+
readonly minimize_dreiding_json: (a: number) => [number, number];
|
|
1172
1509
|
readonly mmp_pairs_json: (a: number, b: number) => [number, number, number, number];
|
|
1510
|
+
readonly mol2_to_smiles: (a: number, b: number) => [number, number];
|
|
1173
1511
|
readonly mol_block_coords_json: (a: number, b: number) => [number, number, number, number];
|
|
1174
1512
|
readonly mol_block_from_smiles: (a: number, b: number) => [number, number, number, number];
|
|
1175
1513
|
readonly mol_from_cdxml: (a: number, b: number) => [number, number, number];
|
|
@@ -1237,30 +1575,43 @@ export interface InitOutput {
|
|
|
1237
1575
|
readonly molhandle_ring_count: (a: number) => number;
|
|
1238
1576
|
readonly molhandle_rotatable_bond_count: (a: number) => number;
|
|
1239
1577
|
readonly molhandle_sum_estate: (a: number) => number;
|
|
1578
|
+
readonly molhandle_to_inchi: (a: number) => [number, number];
|
|
1579
|
+
readonly molhandle_to_inchikey: (a: number) => [number, number];
|
|
1240
1580
|
readonly molhandle_tpsa: (a: number) => number;
|
|
1241
1581
|
readonly molhandle_veber_passes: (a: number) => number;
|
|
1242
1582
|
readonly molhandle_wiener_index: (a: number) => number;
|
|
1243
1583
|
readonly mr_per_atom_json: (a: number) => [number, number];
|
|
1244
1584
|
readonly murcko_scaffold: (a: number) => number;
|
|
1585
|
+
readonly nearest_neighbors_json: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
1245
1586
|
readonly neutralize_charges: (a: number) => number;
|
|
1587
|
+
readonly normalize_cxsmiles: (a: number, b: number) => [number, number, number, number];
|
|
1246
1588
|
readonly normalize_reaction_smiles: (a: number, b: number) => [number, number, number, number];
|
|
1247
1589
|
readonly pains_matches_json: (a: number) => [number, number];
|
|
1590
|
+
readonly parse_cxsmarts_json: (a: number, b: number) => [number, number, number, number];
|
|
1591
|
+
readonly parse_cxsmiles_json: (a: number, b: number) => [number, number, number, number];
|
|
1248
1592
|
readonly parse_smiles: (a: number, b: number) => [number, number, number];
|
|
1249
1593
|
readonly peoe_vsa_json: (a: number) => [number, number];
|
|
1594
|
+
readonly random_smiles_json: (a: number, b: number, c: number, d: bigint) => [number, number, number, number];
|
|
1250
1595
|
readonly remove_hydrogens: (a: number) => number;
|
|
1251
1596
|
readonly rgroup_decompose_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1597
|
+
readonly run_md_json: (a: number, b: number, c: number) => [number, number];
|
|
1252
1598
|
readonly run_reactants: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1253
1599
|
readonly sa_score: (a: number) => number;
|
|
1254
1600
|
readonly sdf_from_records_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
1255
1601
|
readonly sdf_to_records_json: (a: number, b: number) => [number, number];
|
|
1256
1602
|
readonly sdf_to_smiles_json: (a: number, b: number) => [number, number];
|
|
1603
|
+
readonly set_dihedral_json: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
1257
1604
|
readonly shape_descriptors_json: (a: number) => [number, number];
|
|
1258
1605
|
readonly slogp_vsa_json: (a: number) => [number, number];
|
|
1259
1606
|
readonly smarts_match_atoms: (a: number, b: number, c: number) => [number, number, number, number];
|
|
1607
|
+
readonly smarts_match_atoms_with_chirality: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1260
1608
|
readonly smiles_array_to_sdf: (a: number, b: number) => [number, number, number, number];
|
|
1609
|
+
readonly smiles_to_mol2: (a: number, b: number) => [number, number];
|
|
1261
1610
|
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];
|
|
1262
1611
|
readonly smr_vsa_json: (a: number) => [number, number];
|
|
1263
1612
|
readonly sssr_rings_json: (a: number) => [number, number];
|
|
1613
|
+
readonly standardize_smiles: (a: number, b: number) => [number, number];
|
|
1614
|
+
readonly standardize_smiles_report_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
1264
1615
|
readonly tanimoto_atom_pair: (a: number, b: number) => number;
|
|
1265
1616
|
readonly tanimoto_ecfp4: (a: number, b: number) => number;
|
|
1266
1617
|
readonly tanimoto_ecfp6: (a: number, b: number) => number;
|
|
@@ -1278,9 +1629,17 @@ export interface InitOutput {
|
|
|
1278
1629
|
readonly write_smiles: (a: number) => [number, number];
|
|
1279
1630
|
readonly start: () => void;
|
|
1280
1631
|
readonly molhandle_atom_count: (a: number) => number;
|
|
1281
|
-
readonly
|
|
1632
|
+
readonly compare_molecules_batch_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1633
|
+
readonly compare_molecules_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1634
|
+
readonly generate_3d_from_smiles: (a: number, b: number) => [number, number, number, number];
|
|
1635
|
+
readonly generate_3d_optimized_pdb: (a: number, b: number) => [number, number, number, number];
|
|
1636
|
+
readonly molecule_report_json: (a: number, b: number) => [number, number, number, number];
|
|
1637
|
+
readonly screen_smiles_json: (a: number, b: number, c: number, d: number) => [number, number];
|
|
1282
1638
|
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
1283
1639
|
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
1640
|
+
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
1641
|
+
readonly __wbindgen_exn_store: (a: number) => void;
|
|
1642
|
+
readonly __externref_table_alloc: () => number;
|
|
1284
1643
|
readonly __wbindgen_externrefs: WebAssembly.Table;
|
|
1285
1644
|
readonly __externref_table_dealloc: (a: number) => void;
|
|
1286
1645
|
readonly __wbindgen_start: () => void;
|