review.md
80 lines · skills/rdkit/references/review.md at 5f2bc03
RDKit review record
Reviewed 2026-10-01 against stable RDKit 2026.03.6, PyPI package rdkit==2026.3.6, executed on macOS ARM64 / Python 3.13. Development branches and pre-release APIs were not adopted. FindPotentialStereo and multithreaded suppliers remain explicitly experimental even in the stable package.
Official sources checked
- Stable release and PyPI metadata: stable version and wheel availability.
- Installation and Python introduction: binary packaging, parsing, suppliers, conformers, drawing.
- RDKit Book: SMARTS semantics, sanitization, stereochemistry, reactions, hydrogen handling, thread caveats.
- 2026.03.1 release notes: canonical stereo/Kekulization changes, H removal and MolToSmarts behavior. The standalone backwards-incompatible-changes page stops at older releases; release notes are necessary for current changes.
- Molecular files, graph operations, molecule/atom/bond API.
- Fingerprint generators, atom pairs, torsions, similarities, Butina.
- Descriptors, molecular descriptors, tagged Lipinski definitions.
- Standardization API and released implementation: Cleanup retains disconnected salts; FragmentParent, Uncharger and tautomer operations are separate, scientifically consequential policies.
- Embedding, released force-field wrapper, drawing.
- Reactions, hashes, scaffolds, PAINS catalogue.
Installed stable docstrings/signatures supplemented web pages that omitted compiled-function details. These are local APIs: no hosted chemistry endpoint, credential, pagination, remote inference, or scientific database request is required by the bundled scripts.
Raw lines 8 to 48Executed checks and boundaries
The isolated per-skill suite exercises the three CLIs plus shared file reader, known positive/negative functional groups, invalid exclusions, source record identity, empty inputs, query cardinality, fingerprint dimensions/thresholds, enantiomers, specified versus unspecified stereo, isotope/charge/tautomer identity, Cleanup/fragment/uncharging distinctions, valence failure, converged conformers, force-field coverage, units, reactions and depiction copies.
Supplementary tiny-molecule smoke checks covered 72 named descriptors, 12 rdMolDescriptors entries, MOL/SDF/SMILES/gzip/PDB/InChI/peptide I/O, multithreaded source IDs, graph edits, hashes/scaffolds/features, Avalon/ErG, legacy fingerprint aliases, bit visualization, similarity metrics/Butina, UFF/MMFF, RMSD/alignment, constrained embedding, template depiction and reaction fingerprints. An attribute and signature audit covered the entire named module API inventory.
Two observed behaviors deserve attention:
- Fresh
SmilesMolSupplierpassed directly tolist()returned no records in the tested build; iteration/comprehensions worked. The bundled reader parses physical SMILES lines itself and preserves their source IDs. - Chirality-aware 2048-bit atom-pair fingerprints collided for simple enantiomers; sparse count representations distinguished them. Similarity 1 must never substitute for a declared chemical identity policy.
Reference snippets with input paths, undefined molecules/indices or notebook objects are illustrative templates. MOL2 chemical-typing conventions and optional Jupyter integration are documentation/signature reviewed, not executed here. No performance/concurrency stress benchmark, cross-platform binary verification, experimental validation, pH/tautomer-population inference, or predictive model validation is claimed. Tiny organic examples do not establish parameter coverage for organometallics, unusual valences, macrocycles or proteins.
Raw lines 49 to 80