name: data-cli-integration
description: "Use for RDKit data-file discovery, pharmacophore
feature-definition files, PandasTools molecule DataFrames, lightweight
database helpers, and public CLI-style integration workflows."
disable-model-invocation: true
metadata:
disco-role: operating
license: BSD 3-Clause
RDKit Data, CLI, and Integration
Use this sub-skill when a task asks an agent to connect RDKit chemistry code to package data files, tabular data, pandas workflows, feature-definition files, SQL/database helpers, or small command-line workflows around installed RDKit.
Route Here
- Locate package data with
rdkit.RDConfig.RDDataDir, including BaseFeatures.fdef, FunctionalGroups.txt, Salts.txt, RDData.sqlt, RDTests.sqlt, and sample NCI/ files.
- Build pharmacophore feature factories with
rdkit.Chem.ChemicalFeatures.BuildFeatureFactory or BuildFeatureFactoryFromString.
- Annotate molecules from SMILES with feature families, types, atom ids, and coordinates using the bundled
scripts/feature_finder.py helper.
- Use
rdkit.Chem.PandasTools for SDF-to-DataFrame, SMILES-to-molecule columns, substructure filtering, SDF/SMILES/XLSX export, and HTML molecule rendering.
- Use
rdkit.Dbase helpers for SQLite-style RDKit data tables or for understanding legacy DB utility boundaries.
- Triage installed-package integration issues such as missing data files, optional pandas/XLSX dependencies, database backend availability, or local checkout shadowing.
Route Elsewhere
- Basic molecule parsing, SDF/SMILES suppliers, sanitization, and molecule validation:
../molecule-io-core/.
- Descriptor calculation, fingerprints, similarity, clustering, or ML feature engineering:
../descriptors-fingerprints/.
- 2D/3D coordinates, conformers, drawing APIs, and image generation outside pandas export:
../conformers-drawing/.
- Reactions, standardization, salt stripping chemistry policy, tautomer handling, or R-group workflows:
../reactions-standardization/.
- Optional contributed utilities and standalone contributed scorers:
../contrib-utilities/.
Start With These References
references/data-files-and-features.md for RDConfig, installed data files, FDef feature factories, and feature-finder usage.
references/pandas-and-database.md for PandasTools, SDF/SMILES table round-trips, HTML/XLSX export, and DB helper boundaries.
references/troubleshooting.md for missing data, pandas optional behavior, DB backend problems, and checkout-shadowing diagnostics.
scripts/feature_finder.py for a safe installed-package CLI that reports RDKit chemical features for SMILES strings.
Common Patterns
- Prefer
os.path.join(RDConfig.RDDataDir, "BaseFeatures.fdef") for the default pharmacophore feature-definition file instead of hard-coding install paths.
- Check
os.path.isdir(RDConfig.RDDataDir) and os.path.exists(...) before assuming sample data or .fdef files are present in minimal packages.
- Import
PandasTools only when pandas-backed behavior is needed, and catch ImportError for environments without pandas.
- Keep database examples SQLite-oriented unless the task explicitly asks for legacy PostgreSQL/DbCLI behavior; RDKit PostgreSQL cartridge work is outside this sub-skill's runtime scope.
- Treat
Projects/DbCLI as historical/reference-only guidance unless the installed RDKit distribution exposes the same modules and dependencies.
Quick Smoke
Run the bundled feature helper in any environment where RDKit is importable:
python scripts/feature_finder.py --smiles "CC(=O)O" "c1ccncc1" --summary
Use an explicit feature-definition file when testing custom pharmacophore rules:
python scripts/feature_finder.py --fdef custom.fdef --smiles "CCO"