
Rdkit Chemistry
- 14 installs
- 869 repo stars
- Updated June 8, 2026
- beita6969/scienceclaw
rdkit-chemistry is a Claude skill for molecular chemistry operations with RDKit, including SMILES parsing, descriptor calculation, fingerprints, and similarity.
About
This skill teaches an agent molecular chemistry with RDKit: parsing and validating SMILES, computing descriptors (MW, LogP, TPSA, HBD/HBA), running substructure searches, generating Morgan and MACCS fingerprints with Tanimoto/Dice similarity, applying the Lipinski Rule of Five, and rendering 2D structures. Cheminformatics developers use it for molecular property analysis and similarity screening.
- Molecular chemistry via RDKit: SMILES parsing and property calculation
- Substructure search, Morgan/MACCS fingerprints, and Tanimoto similarity
- Lipinski Rule of Five filtering and 2D depiction
Rdkit Chemistry by the numbers
- 14 all-time installs (skills.sh)
- Ranked #1,388 of 2,065 Data Science & ML skills by installs in the Skillselion catalog
- Data as of Aug 2, 2026 (Skillselion catalog sync)
rdkit-chemistry capabilities & compatibility
Free; installs rdkit via uv, no API keys.
- Capabilities
- data analysis
- Use cases
- data analysis
- Pricing
- Free
What rdkit-chemistry says it does
Molecular chemistry operations via RDKit. Use when: user asks about molecular structures, SMILES, chemical properties, or fingerprints.
Morgan radius=2 (ECFP4) is standard for similarity screening.
npx skills add https://github.com/beita6969/scienceclaw --skill rdkit-chemistryAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 14 |
|---|---|
| repo stars | ★ 869 |
| Last updated | June 8, 2026 |
| Repository | beita6969/scienceclaw ↗ |
What it does
Compute molecular properties, fingerprints, and similarity from SMILES using RDKit.
Who is it for?
SMILES parsing, molecular descriptors, substructure search, and similarity screening.
Skip if: Reaction databases, retrosynthesis, wet-lab protocols, or protein structure.
When should I use this skill?
Users ask about molecular structures, SMILES, chemical properties, or fingerprints.
What you get
- Molecular property tables
- Fingerprint similarity scores
- 2D structure images
By the numbers
- 5-item best-practices checklist
- Lipinski 4-rule filter
Files
RDKit Chemistry
Molecular chemistry operations using RDKit.
When to Use
- Molecular structures, SMILES parsing, or validation
- Molecular properties (MW, logP, TPSA, HBD/HBA)
- Substructure searching or molecular filtering
- Fingerprints (Morgan, MACCS) and similarity calculations
- 2D depiction or molecular image generation
When NOT to Use
- Reaction databases or retrosynthesis planning
- Wet lab protocols or experimental procedures
- Protein structure analysis (use biopython-bio)
- Quantum chemistry or DFT calculations
SMILES Parsing and Properties
from rdkit import Chem
from rdkit.Chem import Descriptors, rdMolDescriptors
mol = Chem.MolFromSmiles('CC(=O)Oc1ccccc1C(=O)O') # Aspirin
if mol is None:
print("Invalid SMILES")
canonical = Chem.MolToSmiles(mol) # Canonical SMILES
mw = Descriptors.MolWt(mol) # Molecular weight
logp = Descriptors.MolLogP(mol) # Partition coefficient
tpsa = Descriptors.TPSA(mol) # Topological polar surface area
hbd = rdMolDescriptors.CalcNumHBD(mol) # H-bond donors
hba = rdMolDescriptors.CalcNumHBA(mol) # H-bond acceptors
rotatable = rdMolDescriptors.CalcNumRotatableBonds(mol)
# SMARTS substructure match
pattern = Chem.MolFromSmarts('[OH]')
has_oh = mol.HasSubstructMatch(pattern)Lipinski Rule of Five
def lipinski(smi):
mol = Chem.MolFromSmiles(smi)
return {
'MW <= 500': Descriptors.MolWt(mol) <= 500,
'LogP <= 5': Descriptors.MolLogP(mol) <= 5,
'HBD <= 5': rdMolDescriptors.CalcNumHBD(mol) <= 5,
'HBA <= 10': rdMolDescriptors.CalcNumHBA(mol) <= 10,
}Substructure Search
molecules = [Chem.MolFromSmiles(s) for s in ['CCO', 'CC(=O)O', 'c1ccccc1', 'c1ccccc1O']]
pattern = Chem.MolFromSmarts('c1ccccc1') # Benzene ring
hits = [m for m in molecules if m.HasSubstructMatch(pattern)]Fingerprints and Similarity
from rdkit.Chem import AllChem, MACCSkeys
from rdkit import DataStructs
mol1 = Chem.MolFromSmiles('CC(=O)Oc1ccccc1C(=O)O')
mol2 = Chem.MolFromSmiles('CC(=O)Nc1ccc(O)cc1')
# Morgan (circular) fingerprints — radius 2 ~ ECFP4
fp1 = AllChem.GetMorganFingerprintAsBitVect(mol1, radius=2, nBits=2048)
fp2 = AllChem.GetMorganFingerprintAsBitVect(mol2, radius=2, nBits=2048)
# MACCS keys
mfp1 = MACCSkeys.GenMACCSKeys(mol1)
# Tanimoto / Dice similarity
tanimoto = DataStructs.TanimotoSimilarity(fp1, fp2)
dice = DataStructs.DiceSimilarity(fp1, fp2)2D Depiction
from rdkit.Chem import Draw
Draw.MolToFile(mol, 'molecule.png', size=(300, 300))
# Grid of molecules
mols = [Chem.MolFromSmiles(s) for s in ['CCO', 'CC(=O)O', 'c1ccccc1O']]
img = Draw.MolsToGridImage(mols, molsPerRow=3, subImgSize=(300, 300))
img.save('grid.png')Quick One-liner
python3 -c "
from rdkit import Chem; from rdkit.Chem import Descriptors
mol = Chem.MolFromSmiles('CCO')
print(f'MW: {Descriptors.MolWt(mol):.2f}, LogP: {Descriptors.MolLogP(mol):.2f}')
"Best Practices
1. Always check MolFromSmiles() return for None (invalid SMILES). 2. Use canonical SMILES for consistent comparisons. 3. Morgan radius=2 (ECFP4) is standard for similarity screening. 4. Sanitize molecules before property calculations. 5. Use Chem.AddHs(mol) before 3D coordinate generation.
Related skills
FAQ
Which fingerprints does the skill use?
Morgan (circular, radius 2 ~ ECFP4) and MACCS keys, compared with Tanimoto or Dice similarity.
How does it validate SMILES?
It checks that Chem.MolFromSmiles returns a non-None molecule and recommends canonical SMILES for consistent comparisons.