rdkit

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.

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

TaskReference
SMILES, SDF, MOL, PDB, SMARTS I/O, serializationreferences/io-molecules.md
Descriptors, Lipinski Ro5, QED, ADME, drug filtersreferences/properties-descriptors.md
Morgan, MACCS, RDKit FP, atom pair, similarity, diversityreferences/fingerprints-similarity.md
3D conformers (ETKDG), MMFF/UFF optimization, 3D descriptorsreferences/3d-conformers.md
Reactions (SMARTS), BRICS, RECAP, Murcko, tautomers, standardizationreferences/transformations.md
Substructure search (SMARTS), MCS, rings, stereochemistry, pharmacophoresreferences/analysis-search.md
Visualization: SVG/PNG, highlighting, similarity maps, gridsreferences/visualization.md

Key Modules

ModuleImportRole
Chemfrom rdkit import ChemCore molecule objects, I/O
AllChemfrom rdkit.Chem import AllChem3D, fingerprints, reactions
Descriptorsfrom rdkit.Chem import Descriptors200+ 2D descriptors
rdMolDescriptorsfrom rdkit.Chem import rdMolDescriptorsFast C++ descriptors
DataStructsfrom rdkit import DataStructsFingerprint similarity
Drawfrom rdkit.Chem import Draw2D visualization
rdMolDraw2Dfrom rdkit.Chem.Draw import rdMolDraw2DSVG/Cairo rendering
MACCSkeysfrom rdkit.Chem import MACCSkeysMACCS fingerprints
rdFMCSfrom rdkit.Chem import rdFMCSMaximum Common Substructure
BRICSfrom rdkit.Chem import BRICSBRICS fragmentation
Recapfrom rdkit.Chem import RecapRECAP fragmentation
MurckoScaffoldfrom rdkit.Chem.Scaffolds import MurckoScaffoldScaffold extraction
rdMolStandardizefrom rdkit.Chem.MolStandardize import rdMolStandardizeTautomers, cleanup
rdChemReactionsfrom rdkit.Chem import rdChemReactionsReaction 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