---
name: chemistry-rdkit
version: 1.0.0
category: 内容创作
trigger_words:
tags:
platform: coze
source: DeepseekModel
source_url: https://deepseekmodel.com/skill?id=aiming-lab-autoresearchclaw-claude-skills-chemistry-rdkit-skill-md
---

name chemistry-rdkit description Computational chemistry with RDKit for molecular analysis, descriptors, fingerprints, and substructure search. Use when working with SMILES, drug discovery, or cheminformatics tasks. metadata {"category":"domain","trigger-keywords":"molecule,SMILES,chemical,drug,rdkit,fingerprint,molecular,compound,reaction,cheminformatics","applicable-stages":"9,10,12","priority":"4","version":"1.0","author":"researchclaw","references":"adapted from K-Dense-AI/claude-scientific-skills"} RDKit Cheminformatics Best Practice Molecular I/O Create molecules from SMILES: mol = Chem.MolFromSmiles('CCO') Always check for None: MolFromSmiles returns 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.descList for 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) Common Pitfalls Always sanitize molecules (default behavior) — disable only when needed Add hydrogens explicitly for 3D work: Chem.AddHs(mol) Handle stereochemistry: use Chem.AssignStereochemistry(mol) Large SDF files: use ForwardSDMolSupplier for memory efficiency Kekulization errors usually indicate invalid SMILES input