
Chemistry Rdkit
Computational chemistry with RDKit for molecular analysis, descriptors, fingerprints...
Install
npx skills add aiming-lab/AutoResearchClaw --skill chemistry-rdkit -g -a claude-code -y- Repository
- aiming-lab/AutoResearchClaw14.8k
- Category
- Engineering
- Updated
- 3mo ago
- License
- MIT
- Context cost
- Lightabout 577 tokens
- Runs scripts
- No, instructions only
What it does
Computational chemistry with RDKit for molecular analysis, descriptors, fingerprints, and substructure search. Use when working with SMILES, drug discovery, or cheminformatics tasks.
RDKit Cheminformatics Best Practice
Molecular I/O
- Create molecules from SMILES:
mol = Chem.MolFromSmiles('CCO') - Always check for None:
MolFromSmilesreturns None on invalid input - Convert to canonical SMILES:
Chem.MolToSmiles(mol) - Read SDF files:
suppl = Chem.SDMolSupplier('file.sdf') - Read SMILES files:
suppl = Chem.SmilesMolSupplier('file.smi') - Write molecules:
writer = Chem.SDWriter('output.sdf')
Molecular Descriptors
- Molecular weight:
Descriptors.MolWt(mol) - LogP (lipophilicity):
Descriptors.MolLogP(mol) - TPSA (polar surface area):
Descriptors.TPSA(mol) - H-bond donors/acceptors:
Descriptors.NumHDonors(mol),Descriptors.NumHAcceptors(mol) - Rotatable bonds:
Descriptors.NumRotatableBonds(mol) - Lipinski Rule of 5: MW <= 500, LogP <= 5, HBD <= 5, HBA <= 10
Fingerprints and Similarity
- Morgan (circular) fingerprints:
AllChem.GetMorganFingerprintAsBitVect(mol, radius=2, nBits=2048) - RDKit fingerprints:
Chem.RDKFingerprint(mol) - MACCS keys:
MACCSkeys.GenMACCSKeys(mol) - Tanimoto similarity:
DataStructs.TanimotoSimilarity(fp1, fp2) - Use radius=2 (ECFP4 equivalent) as default for most applications
- For virtual screening, Tanimoto > 0.7 suggests structural similarity
Substructure Search
- SMARTS patterns:
pattern = Chem.MolFromSmarts('[OH]') - Check match:
mol.HasSubstructMatch(pattern) - Get all matches:
mol.GetSubstructMatches(pattern) - Common SMARTS:
[#6](=O)[OH](carboxylic acid),[NH2](primary amine) - Filter compound libraries by functional group presence
Property Calculation Patterns
- Batch processing: iterate over SDMolSupplier, skip None entries
- Use
Chem.Descriptors.descListfor all available descriptors - For ADMET filtering, calculate Lipinski, Veber, and PAINS filters
- Generate 3D coordinates:
AllChem.EmbedMolecule(mol, AllChem.ETKDG()) - Minimize energy:
AllChem.MMFFOptimizeMolecule(mol)
