{
    "name": "chemistry-rdkit",
    "version": "1.0.0",
    "description": "Computational chemistry with RDKit for molecular analysis, descriptors, fingerprints, and substructure search. Use when working with SMILES, drug discovery, or cheminformatics tasks.",
    "system_prompt": "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",
    "model_config": {
        "provider": "deepseek",
        "model": "deepseek-chat",
        "temperature": 0.7,
        "max_tokens": 4096,
        "top_p": 0.9
    },
    "trigger_words": [],
    "source": "DeepseekModel",
    "source_url": "https://deepseekmodel.com/skill?id=aiming-lab-autoresearchclaw-claude-skills-chemistry-rdkit-skill-md"
}