RDKit
The primary Python library for cheminformatics. Molecular manipulation, descriptors, fingerprints, 3D generation, reactions, and more.
When to Use This Skill
- Reading/writing molecules from SMILES, SDF, MOL, PDB files
- Calculating molecular properties and drug-likeness filters (Ro5, QED)
- Computing and comparing molecular fingerprints (Morgan/ECFP, MACCS, RDKit FP)
- Generating 3D conformers (ETKDG, MMFF, UFF)
- Substructure searching and SMARTS queries
- Maximum Common Substructure (MCS) analysis
- Chemical reactions via SMARTS or RXN files
- Molecular fragmentation (BRICS, RECAP, Murcko scaffolds)
- Stereochemistry assignment and analysis
- Tautomer enumeration and molecule standardization
- Molecular visualization (2D SVG/PNG, similarity maps)
Quick Start
from rdkit import Chem
from rdkit.Chem import AllChem, Descriptors, Draw, rdMolDescriptors
# Load molecule
mol = Chem.MolFromSmiles('CC(=O)Oc1ccccc1C(=O)O') # aspirin
# Basic properties
print(Descriptors.MolWt(mol)) # 180.16
print(Descriptors.MolLogP(mol)) # 1.31
print(rdMolDescriptors.CalcNumHBD(mol)) # 1
print(rdMolDescriptors.CalcNumHBA(mol)) # 4
print(rdMolDescriptors.CalcTPSA(mol)) # 63.6
# Morgan fingerprint (ECFP4-like)
fpgen = AllChem.GetMorganGenerator(radius=2)
fp = fpgen.GetFingerprint(mol)
# 2D image
img = Draw.MolToImage(mol, size=(300, 200))
Router — What to Read
| Task |
Reference |
| SMILES, SDF, MOL, PDB, SMARTS I/O, serialization |
references/io-molecules.md |
| Descriptors, Lipinski Ro5, QED, ADME, drug filters |
references/properties-descriptors.md |
| Morgan, MACCS, RDKit FP, atom pair, similarity, diversity |
references/fingerprints-similarity.md |
| 3D conformers (ETKDG), MMFF/UFF optimization, 3D descriptors |
references/3d-conformers.md |
| Reactions (SMARTS), BRICS, RECAP, Murcko, tautomers, standardization |
references/transformations.md |
| Substructure search (SMARTS), MCS, rings, stereochemistry, pharmacophores |
references/analysis-search.md |
| Visualization: SVG/PNG, highlighting, similarity maps, grids |
references/visualization.md |
Key Modules
| Module |
Import |
Role |
Chem |
from rdkit import Chem |
Core molecule objects, I/O |
AllChem |
from rdkit.Chem import AllChem |
3D, fingerprints, reactions |
Descriptors |
from rdkit.Chem import Descriptors |
200+ 2D descriptors |
rdMolDescriptors |
from rdkit.Chem import rdMolDescriptors |
Fast C++ descriptors |
DataStructs |
from rdkit import DataStructs |
Fingerprint similarity |
Draw |
from rdkit.Chem import Draw |
2D visualization |
rdMolDraw2D |
from rdkit.Chem.Draw import rdMolDraw2D |
SVG/Cairo rendering |
MACCSkeys |
from rdkit.Chem import MACCSkeys |
MACCS fingerprints |
rdFMCS |
from rdkit.Chem import rdFMCS |
Maximum Common Substructure |
BRICS |
from rdkit.Chem import BRICS |
BRICS fragmentation |
Recap |
from rdkit.Chem import Recap |
RECAP fragmentation |
MurckoScaffold |
from rdkit.Chem.Scaffolds import MurckoScaffold |
Scaffold extraction |
rdMolStandardize |
from rdkit.Chem.MolStandardize import rdMolStandardize |
Tautomers, cleanup |
rdChemReactions |
from rdkit.Chem import rdChemReactions |
Reaction handling |
Installation
# conda (recommended)
conda install -c conda-forge rdkit
# pip (official wheel since 2022)
pip install rdkit
# verify
python -c "from rdkit import Chem; print(Chem.MolFromSmiles('c1ccccc1'))"
Related Skills
deepchem — ML models on molecular datasets built on top of RDKit
cheminformatics — SMILES notation, file formats, molecular representations
nextflow — Pipeline execution for high-throughput molecular workflows
1---2name: rdkit3description: Use when working with RDKit for cheminformatics in Python. Covers molecular I/O, property calculation, Lipinski filters, fingerprints, similarity, 3D conformer generation, reactions, fragmentation, substructure search, MCS, stereochemistry, and tautomers.4---56# RDKit78The primary Python library for cheminformatics. Molecular manipulation, descriptors, fingerprints, 3D generation, reactions, and more.910## When to Use This Skill1112- Reading/writing molecules from SMILES, SDF, MOL, PDB files13- Calculating molecular properties and drug-likeness filters (Ro5, QED)14- Computing and comparing molecular fingerprints (Morgan/ECFP, MACCS, RDKit FP)15- Generating 3D conformers (ETKDG, MMFF, UFF)16- Substructure searching and SMARTS queries17- Maximum Common Substructure (MCS) analysis18- Chemical reactions via SMARTS or RXN files19- Molecular fragmentation (BRICS, RECAP, Murcko scaffolds)20- Stereochemistry assignment and analysis21- Tautomer enumeration and molecule standardization22- Molecular visualization (2D SVG/PNG, similarity maps)2324## Quick Start2526```python27from rdkit import Chem28from rdkit.Chem import AllChem, Descriptors, Draw, rdMolDescriptors2930# Load molecule31mol = Chem.MolFromSmiles('CC(=O)Oc1ccccc1C(=O)O') # aspirin3233# Basic properties34print(Descriptors.MolWt(mol)) # 180.1635print(Descriptors.MolLogP(mol)) # 1.3136print(rdMolDescriptors.CalcNumHBD(mol)) # 137print(rdMolDescriptors.CalcNumHBA(mol)) # 438print(rdMolDescriptors.CalcTPSA(mol)) # 63.63940# Morgan fingerprint (ECFP4-like)41fpgen = AllChem.GetMorganGenerator(radius=2)42fp = fpgen.GetFingerprint(mol)4344# 2D image45img = Draw.MolToImage(mol, size=(300, 200))46```4748## Router — What to Read4950| Task | Reference |51|------|-----------|52| SMILES, SDF, MOL, PDB, SMARTS I/O, serialization | `references/io-molecules.md` |53| Descriptors, Lipinski Ro5, QED, ADME, drug filters | `references/properties-descriptors.md` |54| Morgan, MACCS, RDKit FP, atom pair, similarity, diversity | `references/fingerprints-similarity.md` |55| 3D conformers (ETKDG), MMFF/UFF optimization, 3D descriptors | `references/3d-conformers.md` |56| Reactions (SMARTS), BRICS, RECAP, Murcko, tautomers, standardization | `references/transformations.md` |57| Substructure search (SMARTS), MCS, rings, stereochemistry, pharmacophores | `references/analysis-search.md` |58| Visualization: SVG/PNG, highlighting, similarity maps, grids | `references/visualization.md` |5960## Key Modules6162| Module | Import | Role |63|--------|--------|------|64| `Chem` | `from rdkit import Chem` | Core molecule objects, I/O |65| `AllChem` | `from rdkit.Chem import AllChem` | 3D, fingerprints, reactions |66| `Descriptors` | `from rdkit.Chem import Descriptors` | 200+ 2D descriptors |67| `rdMolDescriptors` | `from rdkit.Chem import rdMolDescriptors` | Fast C++ descriptors |68| `DataStructs` | `from rdkit import DataStructs` | Fingerprint similarity |69| `Draw` | `from rdkit.Chem import Draw` | 2D visualization |70| `rdMolDraw2D` | `from rdkit.Chem.Draw import rdMolDraw2D` | SVG/Cairo rendering |71| `MACCSkeys` | `from rdkit.Chem import MACCSkeys` | MACCS fingerprints |72| `rdFMCS` | `from rdkit.Chem import rdFMCS` | Maximum Common Substructure |73| `BRICS` | `from rdkit.Chem import BRICS` | BRICS fragmentation |74| `Recap` | `from rdkit.Chem import Recap` | RECAP fragmentation |75| `MurckoScaffold` | `from rdkit.Chem.Scaffolds import MurckoScaffold` | Scaffold extraction |76| `rdMolStandardize` | `from rdkit.Chem.MolStandardize import rdMolStandardize` | Tautomers, cleanup |77| `rdChemReactions` | `from rdkit.Chem import rdChemReactions` | Reaction handling |7879## Installation8081```bash82# conda (recommended)83conda install -c conda-forge rdkit8485# pip (official wheel since 2022)86pip install rdkit8788# verify89python -c "from rdkit import Chem; print(Chem.MolFromSmiles('c1ccccc1'))"90```9192## Related Skills9394- `deepchem` — ML models on molecular datasets built on top of RDKit95- `cheminformatics` — SMILES notation, file formats, molecular representations96- `nextflow` — Pipeline execution for high-throughput molecular workflows