Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
beita6969 avatar

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)
At a glance

rdkit-chemistry capabilities & compatibility

Free; installs rdkit via uv, no API keys.

Capabilities
data analysis
Use cases
data analysis
Pricing
Free
From the docs

What rdkit-chemistry says it does

Molecular chemistry operations via RDKit. Use when: user asks about molecular structures, SMILES, chemical properties, or fingerprints.
SKILL.md
Morgan radius=2 (ECFP4) is standard for similarity screening.
SKILL.md
npx skills add https://github.com/beita6969/scienceclaw --skill rdkit-chemistry

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs14
repo stars869
Last updatedJune 8, 2026
Repositorybeita6969/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

SKILL.mdMarkdownGitHub ↗

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.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.