Skip to content
Back to skills

Chemistry Rdkit

ASecurity

Computational chemistry with RDKit for molecular analysis, descriptors, fingerprints, and substructure search. Use when working with SMILES, drug discovery, or cheminformatics tasks.

  • 10 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
ai-agentsgoreact

Works with

  • cli

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add FOURTEEN1416/academic-agent-toolkit --skill chemistry-rdkit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Chemistry Rdkit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Chemistry Rdkit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fourteen1416-chemistry-rdkit/badge)](https://www.skillsdirectory.com/skills/fourteen1416-chemistry-rdkit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: chemistry-rdkit
description: Computational chemistry with RDKit for molecular analysis, descriptors, fingerprints, and substructure search. Use when working with SMILES, drug discovery, or cheminformatics tasks.
metadata:
  category: domain
  trigger-keywords: "molecule,SMILES,chemical,drug,rdkit,fingerprint,molecular,compound,reaction,cheminformatics"
  applicable-stages: "9,10,12"
  priority: "4"
  version: "1.0"
  author: researchclaw
  references: "adapted from K-Dense-AI/claude-scientific-skills"
---

## RDKit Cheminformatics Best Practice

### Molecular I/O
1. Create molecules from SMILES: `mol = Chem.MolFromSmiles('CCO')`
2. Always check for None: `MolFromSmiles` returns None on invalid input
3. Convert to canonical SMILES: `Chem.MolToSmiles(mol)`
4. Read SDF files: `suppl = Chem.SDMolSupplier('file.sdf')`
5. Read SMILES files: `suppl = Chem.SmilesMolSupplier('file.smi')`
6. Write molecules: `writer = Chem.SDWriter('output.sdf')`

### Molecular Descriptors
1. Molecular weight: `Descriptors.MolWt(mol)`
2. LogP (lipophilicity): `Descriptors.MolLogP(mol)`
3. TPSA (polar surface area): `Descriptors.TPSA(mol)`
4. H-bond donors/acceptors: `Descriptors.NumHDonors(mol)`, `Descriptors.NumHAcceptors(mol)`
5. Rotatable bonds: `Descriptors.NumRotatableBonds(mol)`
6. Lipinski Rule of 5: MW <= 500, LogP <= 5, HBD <= 5, HBA <= 10

### Fingerprints and Similarity
1. Morgan (circular) fingerprints: `AllChem.GetMorganFingerprintAsBitVect(mol, radius=2, nBits=2048)`
2. RDKit fingerprints: `Chem.RDKFingerprint(mol)`
3. MACCS keys: `MACCSkeys.GenMACCSKeys(mol)`
4. Tanimoto similarity: `DataStructs.TanimotoSimilarity(fp1, fp2)`
5. Use radius=2 (ECFP4 equivalent) as default for most applications
6. For virtual screening, Tanimoto > 0.7 suggests structural similarity

### Substructure Search
1. SMARTS patterns: `pattern = Chem.MolFromSmarts('[OH]')`
2. Check match: `mol.HasSubstructMatch(pattern)`
3. Get all matches: `mol.GetSubstructMatches(pattern)`
4. Common SMARTS: `[#6](=O)[OH]` (carboxylic acid), `[NH2]` (primary amine)
5. Filter compound libraries by functional group presence

### Property Calculation Patterns
1. Batch processing: iterate over SDMolSupplier, skip None entries
2. Use `Chem.Descriptors.descList` for all available descriptors
3. For ADMET filtering, calculate Lipinski, Veber, and PAINS filters
4. Generate 3D coordinates: `AllChem.EmbedMolecule(mol, AllChem.ETKDG())`
5. Minimize energy: `AllChem.MMFFOptimizeMolecule(mol)`

### Common Pitfalls
1. Always sanitize molecules (default behavior) — disable only when needed
2. Add hydrogens explicitly for 3D work: `Chem.AddHs(mol)`
3. Handle stereochemistry: use `Chem.AssignStereochemistry(mol)`
4. Large SDF files: use `ForwardSDMolSupplier` for memory efficiency
5. Kekulization errors usually indicate invalid SMILES input

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…